|
.text:0000000000400876 |
|
.text:0000000000400876 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400876 |
|
.text:0000000000400876 ; Attributes: bp-based frame |
|
.text:0000000000400876 |
|
.text:0000000000400876 ; bool __fastcall sub_400876(_BYTE *a1, _BYTE *a2) |
|
.text:0000000000400876 sub_400876 proc near ; CODE XREF: sub_4036FC+2D7↓p |
|
.text:0000000000400876 |
|
.text:0000000000400876 var_10 = qword ptr -10h |
|
.text:0000000000400876 var_8 = qword ptr -8 |
|
.text:0000000000400876 |
|
.text:0000000000400876 ; __unwind { |
|
.text:0000000000400876 push rbp |
|
.text:0000000000400877 mov rbp, rsp |
|
.text:000000000040087A mov [rbp+var_8], rdi |
|
.text:000000000040087E mov [rbp+var_10], rsi |
|
.text:0000000000400882 mov rax, [rbp+var_8] |
|
.text:0000000000400886 movzx eax, byte ptr [rax] |
|
.text:0000000000400889 mov ecx, eax |
|
.text:000000000040088B mov rax, [rbp+var_10] |
|
.text:000000000040088F movzx eax, byte ptr [rax+6] |
|
.text:0000000000400893 mov edx, eax |
|
.text:0000000000400895 mov eax, ecx |
|
.text:0000000000400897 imul eax, edx |
|
.text:000000000040089A cmp al, 8Ah |
|
.text:000000000040089C jnz short loc_4008BE |
|
.text:000000000040089E mov rax, [rbp+var_8] |
|
.text:00000000004008A2 movzx eax, byte ptr [rax] |
|
.text:00000000004008A5 mov edx, eax |
|
.text:00000000004008A7 mov rax, [rbp+var_10] |
|
.text:00000000004008AB movzx eax, byte ptr [rax+6] |
|
.text:00000000004008AF sub edx, eax |
|
.text:00000000004008B1 mov eax, edx |
|
.text:00000000004008B3 cmp al, 37h |
|
.text:00000000004008B5 jnz short loc_4008BE |
|
.text:00000000004008B7 mov eax, 1 |
|
.text:00000000004008BC jmp short loc_4008C3 |
|
.text:00000000004008BE ; --------------------------------------------------------------------------- |
|
.text:00000000004008BE |
|
.text:00000000004008BE loc_4008BE: ; CODE XREF: sub_400876+26↑j |
|
.text:00000000004008BE ; sub_400876+3F↑j |
|
.text:00000000004008BE mov eax, 0 |
|
.text:00000000004008C3 |
|
.text:00000000004008C3 loc_4008C3: ; CODE XREF: sub_400876+46↑j |
|
.text:00000000004008C3 pop rbp |
|
.text:00000000004008C4 retn |
|
.text:00000000004008C4 ; } // starts at 400876 |
|
.text:00000000004008C4 sub_400876 endp |
|
.text:00000000004008C4 |
|
.text:00000000004008C5 |
|
.text:00000000004008C5 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004008C5 |
|
.text:00000000004008C5 ; Attributes: bp-based frame |
|
.text:00000000004008C5 |
|
.text:00000000004008C5 sub_4008C5 proc near ; CODE XREF: sub_4036FC+2F6↓p |
|
.text:00000000004008C5 |
|
.text:00000000004008C5 var_10 = qword ptr -10h |
|
.text:00000000004008C5 var_8 = qword ptr -8 |
|
.text:00000000004008C5 |
|
.text:00000000004008C5 ; __unwind { |
|
.text:00000000004008C5 push rbp |
|
.text:00000000004008C6 mov rbp, rsp |
|
.text:00000000004008C9 mov [rbp+var_8], rdi |
|
.text:00000000004008CD mov [rbp+var_10], rsi |
|
.text:00000000004008D1 mov rax, [rbp+var_8] |
|
.text:00000000004008D5 movzx eax, byte ptr [rax] |
|
.text:00000000004008D8 mov edx, eax |
|
.text:00000000004008DA mov rax, [rbp+var_10] |
|
.text:00000000004008DE movzx eax, byte ptr [rax+7] |
|
.text:00000000004008E2 add eax, edx |
|
.text:00000000004008E4 cmp al, 6Fh |
|
.text:00000000004008E6 jnz short loc_40090B |
|
.text:00000000004008E8 mov rax, [rbp+var_8] |
|
.text:00000000004008EC movzx eax, byte ptr [rax] |
|
.text:00000000004008EF mov ecx, eax |
|
.text:00000000004008F1 mov rax, [rbp+var_10] |
|
.text:00000000004008F5 movzx eax, byte ptr [rax+7] |
|
.text:00000000004008F9 mov edx, eax |
|
.text:00000000004008FB mov eax, ecx |
|
.text:00000000004008FD imul eax, edx |
|
.text:0000000000400900 cmp al, 0AEh |
|
.text:0000000000400902 jnz short loc_40090B |
|
.text:0000000000400904 mov eax, 1 |
|
.text:0000000000400909 jmp short loc_400910 |
|
.text:000000000040090B ; --------------------------------------------------------------------------- |
|
.text:000000000040090B |
|
.text:000000000040090B loc_40090B: ; CODE XREF: sub_4008C5+21↑j |
|
.text:000000000040090B ; sub_4008C5+3D↑j |
|
.text:000000000040090B mov eax, 0 |
|
.text:0000000000400910 |
|
.text:0000000000400910 loc_400910: ; CODE XREF: sub_4008C5+44↑j |
|
.text:0000000000400910 pop rbp |
|
.text:0000000000400911 retn |
|
.text:0000000000400911 ; } // starts at 4008C5 |
|
.text:0000000000400911 sub_4008C5 endp |
|
.text:0000000000400911 |
|
.text:0000000000400912 |
|
.text:0000000000400912 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400912 |
|
.text:0000000000400912 ; Attributes: bp-based frame |
|
.text:0000000000400912 |
|
.text:0000000000400912 sub_400912 proc near ; CODE XREF: sub_4036FC+315↓p |
|
.text:0000000000400912 |
|
.text:0000000000400912 var_10 = qword ptr -10h |
|
.text:0000000000400912 var_8 = qword ptr -8 |
|
.text:0000000000400912 |
|
.text:0000000000400912 ; __unwind { |
|
.text:0000000000400912 push rbp |
|
.text:0000000000400913 mov rbp, rsp |
|
.text:0000000000400916 mov [rbp+var_8], rdi |
|
.text:000000000040091A mov [rbp+var_10], rsi |
|
.text:000000000040091E mov rax, [rbp+var_8] |
|
.text:0000000000400922 movss xmm0, dword ptr [rax+8] |
|
.text:0000000000400927 mov rax, [rbp+var_10] |
|
.text:000000000040092B movss xmm1, dword ptr [rax+4] |
|
.text:0000000000400930 divss xmm0, xmm1 |
|
.text:0000000000400934 ucomiss xmm0, cs:dword_404C2C |
|
.text:000000000040093B jp short loc_400975 |
|
.text:000000000040093D ucomiss xmm0, cs:dword_404C2C |
|
.text:0000000000400944 jnz short loc_400975 |
|
.text:0000000000400946 mov rax, [rbp+var_8] |
|
.text:000000000040094A movss xmm1, dword ptr [rax+8] |
|
.text:000000000040094F mov rax, [rbp+var_10] |
|
.text:0000000000400953 movss xmm0, dword ptr [rax+4] |
|
.text:0000000000400958 mulss xmm0, xmm1 |
|
.text:000000000040095C ucomiss xmm0, cs:dword_404C30 |
|
.text:0000000000400963 jp short loc_400975 |
|
.text:0000000000400965 ucomiss xmm0, cs:dword_404C30 |
|
.text:000000000040096C jnz short loc_400975 |
|
.text:000000000040096E mov eax, 1 |
|
.text:0000000000400973 jmp short loc_40097A |
|
.text:0000000000400975 ; --------------------------------------------------------------------------- |
|
.text:0000000000400975 |
|
.text:0000000000400975 loc_400975: ; CODE XREF: sub_400912+29↑j |
|
.text:0000000000400975 ; sub_400912+32↑j ... |
|
.text:0000000000400975 mov eax, 0 |
|
.text:000000000040097A |
|
.text:000000000040097A loc_40097A: ; CODE XREF: sub_400912+61↑j |
|
.text:000000000040097A pop rbp |
|
.text:000000000040097B retn |
|
.text:000000000040097B ; } // starts at 400912 |
|
.text:000000000040097B sub_400912 endp |
|
.text:000000000040097B |
|
.text:000000000040097C |
|
.text:000000000040097C ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040097C |
|
.text:000000000040097C ; Attributes: bp-based frame |
|
.text:000000000040097C |
|
.text:000000000040097C sub_40097C proc near ; CODE XREF: sub_4036FC+334↓p |
|
.text:000000000040097C |
|
.text:000000000040097C var_10 = qword ptr -10h |
|
.text:000000000040097C var_8 = qword ptr -8 |
|
.text:000000000040097C |
|
.text:000000000040097C ; __unwind { |
|
.text:000000000040097C push rbp |
|
.text:000000000040097D mov rbp, rsp |
|
.text:0000000000400980 mov [rbp+var_8], rdi |
|
.text:0000000000400984 mov [rbp+var_10], rsi |
|
.text:0000000000400988 mov rax, [rbp+var_8] |
|
.text:000000000040098C movss xmm0, dword ptr [rax+8] |
|
.text:0000000000400991 mov rax, [rbp+var_10] |
|
.text:0000000000400995 movss xmm1, dword ptr [rax+20h] |
|
.text:000000000040099A subss xmm0, xmm1 |
|
.text:000000000040099E ucomiss xmm0, cs:dword_404C34 |
|
.text:00000000004009A5 jp short loc_4009DF |
|
.text:00000000004009A7 ucomiss xmm0, cs:dword_404C34 |
|
.text:00000000004009AE jnz short loc_4009DF |
|
.text:00000000004009B0 mov rax, [rbp+var_8] |
|
.text:00000000004009B4 movss xmm1, dword ptr [rax+8] |
|
.text:00000000004009B9 mov rax, [rbp+var_10] |
|
.text:00000000004009BD movss xmm0, dword ptr [rax+20h] |
|
.text:00000000004009C2 mulss xmm0, xmm1 |
|
.text:00000000004009C6 ucomiss xmm0, cs:dword_404C38 |
|
.text:00000000004009CD jp short loc_4009DF |
|
.text:00000000004009CF ucomiss xmm0, cs:dword_404C38 |
|
.text:00000000004009D6 jnz short loc_4009DF |
|
.text:00000000004009D8 mov eax, 1 |
|
.text:00000000004009DD jmp short loc_4009E4 |
|
.text:00000000004009DF ; --------------------------------------------------------------------------- |
|
.text:00000000004009DF |
|
.text:00000000004009DF loc_4009DF: ; CODE XREF: sub_40097C+29↑j |
|
.text:00000000004009DF ; sub_40097C+32↑j ... |
|
.text:00000000004009DF mov eax, 0 |
|
.text:00000000004009E4 |
|
.text:00000000004009E4 loc_4009E4: ; CODE XREF: sub_40097C+61↑j |
|
.text:00000000004009E4 pop rbp |
|
.text:00000000004009E5 retn |
|
.text:00000000004009E5 ; } // starts at 40097C |
|
.text:00000000004009E5 sub_40097C endp |
|
.text:00000000004009E5 |
|
.text:00000000004009E6 |
|
.text:00000000004009E6 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004009E6 |
|
.text:00000000004009E6 ; Attributes: bp-based frame |
|
.text:00000000004009E6 |
|
.text:00000000004009E6 sub_4009E6 proc near ; CODE XREF: sub_4036FC+353↓p |
|
.text:00000000004009E6 |
|
.text:00000000004009E6 var_10 = qword ptr -10h |
|
.text:00000000004009E6 var_8 = qword ptr -8 |
|
.text:00000000004009E6 |
|
.text:00000000004009E6 ; __unwind { |
|
.text:00000000004009E6 push rbp |
|
.text:00000000004009E7 mov rbp, rsp |
|
.text:00000000004009EA mov [rbp+var_8], rdi |
|
.text:00000000004009EE mov [rbp+var_10], rsi |
|
.text:00000000004009F2 mov rax, [rbp+var_8] |
|
.text:00000000004009F6 movzx eax, word ptr [rax+4] |
|
.text:00000000004009FA mov edx, eax |
|
.text:00000000004009FC mov rax, [rbp+var_10] |
|
.text:0000000000400A00 movzx eax, word ptr [rax+0Ch] |
|
.text:0000000000400A04 add eax, edx |
|
.text:0000000000400A06 cmp ax, 0A593h |
|
.text:0000000000400A0A jnz short loc_400A30 |
|
.text:0000000000400A0C mov rax, [rbp+var_8] |
|
.text:0000000000400A10 movzx eax, word ptr [rax+4] |
|
.text:0000000000400A14 cwde |
|
.text:0000000000400A15 mov rdx, [rbp+var_10] |
|
.text:0000000000400A19 movzx edx, word ptr [rdx+0Ch] |
|
.text:0000000000400A1D movsx ecx, dx |
|
.text:0000000000400A20 cdq |
|
.text:0000000000400A21 idiv ecx |
|
.text:0000000000400A23 cmp ax, 2 |
|
.text:0000000000400A27 jnz short loc_400A30 |
|
.text:0000000000400A29 mov eax, 1 |
|
.text:0000000000400A2E jmp short loc_400A35 |
|
.text:0000000000400A30 ; --------------------------------------------------------------------------- |
|
.text:0000000000400A30 |
|
.text:0000000000400A30 loc_400A30: ; CODE XREF: sub_4009E6+24↑j |
|
.text:0000000000400A30 ; sub_4009E6+41↑j |
|
.text:0000000000400A30 mov eax, 0 |
|
.text:0000000000400A35 |
|
.text:0000000000400A35 loc_400A35: ; CODE XREF: sub_4009E6+48↑j |
|
.text:0000000000400A35 pop rbp |
|
.text:0000000000400A36 retn |
|
.text:0000000000400A36 ; } // starts at 4009E6 |
|
.text:0000000000400A36 sub_4009E6 endp |
|
.text:0000000000400A36 |
|
.text:0000000000400A37 |
|
.text:0000000000400A37 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400A37 |
|
.text:0000000000400A37 ; Attributes: bp-based frame |
|
.text:0000000000400A37 |
|
.text:0000000000400A37 sub_400A37 proc near ; CODE XREF: sub_4036FC+372↓p |
|
.text:0000000000400A37 |
|
.text:0000000000400A37 var_10 = qword ptr -10h |
|
.text:0000000000400A37 var_8 = qword ptr -8 |
|
.text:0000000000400A37 |
|
.text:0000000000400A37 ; __unwind { |
|
.text:0000000000400A37 push rbp |
|
.text:0000000000400A38 mov rbp, rsp |
|
.text:0000000000400A3B mov [rbp+var_8], rdi |
|
.text:0000000000400A3F mov [rbp+var_10], rsi |
|
.text:0000000000400A43 mov rax, [rbp+var_8] |
|
.text:0000000000400A47 movss xmm1, dword ptr [rax+0Ch] |
|
.text:0000000000400A4C mov rax, [rbp+var_10] |
|
.text:0000000000400A50 movss xmm0, dword ptr [rax+28h] |
|
.text:0000000000400A55 mulss xmm0, xmm1 |
|
.text:0000000000400A59 cvtss2sd xmm0, xmm0 |
|
.text:0000000000400A5D ucomisd xmm0, cs:qword_404C40 |
|
.text:0000000000400A65 jp short loc_400AA0 |
|
.text:0000000000400A67 ucomisd xmm0, cs:qword_404C40 |
|
.text:0000000000400A6F jnz short loc_400AA0 |
|
.text:0000000000400A71 mov rax, [rbp+var_8] |
|
.text:0000000000400A75 movss xmm0, dword ptr [rax+0Ch] |
|
.text:0000000000400A7A mov rax, [rbp+var_10] |
|
.text:0000000000400A7E movss xmm1, dword ptr [rax+28h] |
|
.text:0000000000400A83 divss xmm0, xmm1 |
|
.text:0000000000400A87 ucomiss xmm0, cs:dword_404C48 |
|
.text:0000000000400A8E jp short loc_400AA0 |
|
.text:0000000000400A90 ucomiss xmm0, cs:dword_404C48 |
|
.text:0000000000400A97 jnz short loc_400AA0 |
|
.text:0000000000400A99 mov eax, 1 |
|
.text:0000000000400A9E jmp short loc_400AA5 |
|
.text:0000000000400AA0 ; --------------------------------------------------------------------------- |
|
.text:0000000000400AA0 |
|
.text:0000000000400AA0 loc_400AA0: ; CODE XREF: sub_400A37+2E↑j |
|
.text:0000000000400AA0 ; sub_400A37+38↑j ... |
|
.text:0000000000400AA0 mov eax, 0 |
|
.text:0000000000400AA5 |
|
.text:0000000000400AA5 loc_400AA5: ; CODE XREF: sub_400A37+67↑j |
|
.text:0000000000400AA5 pop rbp |
|
.text:0000000000400AA6 retn |
|
.text:0000000000400AA6 ; } // starts at 400A37 |
|
.text:0000000000400AA6 sub_400A37 endp |
|
.text:0000000000400AA6 |
|
.text:0000000000400AA7 |
|
.text:0000000000400AA7 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400AA7 |
|
.text:0000000000400AA7 ; Attributes: bp-based frame |
|
.text:0000000000400AA7 |
|
.text:0000000000400AA7 sub_400AA7 proc near ; CODE XREF: sub_4036FC+391↓p |
|
.text:0000000000400AA7 |
|
.text:0000000000400AA7 var_10 = qword ptr -10h |
|
.text:0000000000400AA7 var_8 = qword ptr -8 |
|
.text:0000000000400AA7 |
|
.text:0000000000400AA7 ; __unwind { |
|
.text:0000000000400AA7 push rbp |
|
.text:0000000000400AA8 mov rbp, rsp |
|
.text:0000000000400AAB mov [rbp+var_8], rdi |
|
.text:0000000000400AAF mov [rbp+var_10], rsi |
|
.text:0000000000400AB3 mov rax, [rbp+var_8] |
|
.text:0000000000400AB7 mov eax, [rax+0Eh] |
|
.text:0000000000400ABA mov rdx, [rbp+var_10] |
|
.text:0000000000400ABE mov ecx, [rdx+26h] |
|
.text:0000000000400AC1 cdq |
|
.text:0000000000400AC2 idiv ecx |
|
.text:0000000000400AC4 test eax, eax |
|
.text:0000000000400AC6 jnz short loc_400AE7 |
|
.text:0000000000400AC8 mov rax, [rbp+var_8] |
|
.text:0000000000400ACC mov edx, [rax+0Eh] |
|
.text:0000000000400ACF mov rax, [rbp+var_10] |
|
.text:0000000000400AD3 mov eax, [rax+26h] |
|
.text:0000000000400AD6 imul eax, edx |
|
.text:0000000000400AD9 cmp eax, 0D67E156Eh |
|
.text:0000000000400ADE jnz short loc_400AE7 |
|
.text:0000000000400AE0 mov eax, 1 |
|
.text:0000000000400AE5 jmp short loc_400AEC |
|
.text:0000000000400AE7 ; --------------------------------------------------------------------------- |
|
.text:0000000000400AE7 |
|
.text:0000000000400AE7 loc_400AE7: ; CODE XREF: sub_400AA7+1F↑j |
|
.text:0000000000400AE7 ; sub_400AA7+37↑j |
|
.text:0000000000400AE7 mov eax, 0 |
|
.text:0000000000400AEC |
|
.text:0000000000400AEC loc_400AEC: ; CODE XREF: sub_400AA7+3E↑j |
|
.text:0000000000400AEC pop rbp |
|
.text:0000000000400AED retn |
|
.text:0000000000400AED ; } // starts at 400AA7 |
|
.text:0000000000400AED sub_400AA7 endp |
|
.text:0000000000400AED |
|
.text:0000000000400AEE |
|
.text:0000000000400AEE ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400AEE |
|
.text:0000000000400AEE ; Attributes: bp-based frame |
|
.text:0000000000400AEE |
|
.text:0000000000400AEE sub_400AEE proc near ; CODE XREF: sub_4036FC+3B0↓p |
|
.text:0000000000400AEE |
|
.text:0000000000400AEE var_10 = qword ptr -10h |
|
.text:0000000000400AEE var_8 = qword ptr -8 |
|
.text:0000000000400AEE |
|
.text:0000000000400AEE ; __unwind { |
|
.text:0000000000400AEE push rbp |
|
.text:0000000000400AEF mov rbp, rsp |
|
.text:0000000000400AF2 mov [rbp+var_8], rdi |
|
.text:0000000000400AF6 mov [rbp+var_10], rsi |
|
.text:0000000000400AFA mov rax, [rbp+var_8] |
|
.text:0000000000400AFE movzx eax, word ptr [rax+12h] |
|
.text:0000000000400B02 mov edx, eax |
|
.text:0000000000400B04 mov rax, [rbp+var_10] |
|
.text:0000000000400B08 movzx eax, word ptr [rax+2] |
|
.text:0000000000400B0C imul eax, edx |
|
.text:0000000000400B0F cmp ax, 0FC14h |
|
.text:0000000000400B13 jnz short loc_400B38 |
|
.text:0000000000400B15 mov rax, [rbp+var_8] |
|
.text:0000000000400B19 movzx eax, word ptr [rax+12h] |
|
.text:0000000000400B1D mov edx, eax |
|
.text:0000000000400B1F mov rax, [rbp+var_10] |
|
.text:0000000000400B23 movzx eax, word ptr [rax+2] |
|
.text:0000000000400B27 sub edx, eax |
|
.text:0000000000400B29 mov eax, edx |
|
.text:0000000000400B2B cmp ax, 0BAE9h |
|
.text:0000000000400B2F jnz short loc_400B38 |
|
.text:0000000000400B31 mov eax, 1 |
|
.text:0000000000400B36 jmp short loc_400B3D |
|
.text:0000000000400B38 ; --------------------------------------------------------------------------- |
|
.text:0000000000400B38 |
|
.text:0000000000400B38 loc_400B38: ; CODE XREF: sub_400AEE+25↑j |
|
.text:0000000000400B38 ; sub_400AEE+41↑j |
|
.text:0000000000400B38 mov eax, 0 |
|
.text:0000000000400B3D |
|
.text:0000000000400B3D loc_400B3D: ; CODE XREF: sub_400AEE+48↑j |
|
.text:0000000000400B3D pop rbp |
|
.text:0000000000400B3E retn |
|
.text:0000000000400B3E ; } // starts at 400AEE |
|
.text:0000000000400B3E sub_400AEE endp |
|
.text:0000000000400B3E |
|
.text:0000000000400B3F |
|
.text:0000000000400B3F ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400B3F |
|
.text:0000000000400B3F ; Attributes: bp-based frame |
|
.text:0000000000400B3F |
|
.text:0000000000400B3F sub_400B3F proc near ; CODE XREF: sub_4036FC+3CF↓p |
|
.text:0000000000400B3F |
|
.text:0000000000400B3F var_10 = qword ptr -10h |
|
.text:0000000000400B3F var_8 = qword ptr -8 |
|
.text:0000000000400B3F |
|
.text:0000000000400B3F ; __unwind { |
|
.text:0000000000400B3F push rbp |
|
.text:0000000000400B40 mov rbp, rsp |
|
.text:0000000000400B43 mov [rbp+var_8], rdi |
|
.text:0000000000400B47 mov [rbp+var_10], rsi |
|
.text:0000000000400B4B mov rax, [rbp+var_8] |
|
.text:0000000000400B4F movzx eax, byte ptr [rax+10h] |
|
.text:0000000000400B53 mov edx, eax |
|
.text:0000000000400B55 mov rax, [rbp+var_10] |
|
.text:0000000000400B59 movzx eax, byte ptr [rax+2] |
|
.text:0000000000400B5D sub edx, eax |
|
.text:0000000000400B5F mov eax, edx |
|
.text:0000000000400B61 cmp al, 0E9h |
|
.text:0000000000400B63 jnz short loc_400B89 |
|
.text:0000000000400B65 mov rax, [rbp+var_8] |
|
.text:0000000000400B69 movzx eax, byte ptr [rax+10h] |
|
.text:0000000000400B6D movsx eax, al |
|
.text:0000000000400B70 mov rdx, [rbp+var_10] |
|
.text:0000000000400B74 movzx edx, byte ptr [rdx+2] |
|
.text:0000000000400B78 movsx ecx, dl |
|
.text:0000000000400B7B cdq |
|
.text:0000000000400B7C idiv ecx |
|
.text:0000000000400B7E test al, al |
|
.text:0000000000400B80 jnz short loc_400B89 |
|
.text:0000000000400B82 mov eax, 1 |
|
.text:0000000000400B87 jmp short loc_400B8E |
|
.text:0000000000400B89 ; --------------------------------------------------------------------------- |
|
.text:0000000000400B89 |
|
.text:0000000000400B89 loc_400B89: ; CODE XREF: sub_400B3F+24↑j |
|
.text:0000000000400B89 ; sub_400B3F+41↑j |
|
.text:0000000000400B89 mov eax, 0 |
|
.text:0000000000400B8E |
|
.text:0000000000400B8E loc_400B8E: ; CODE XREF: sub_400B3F+48↑j |
|
.text:0000000000400B8E pop rbp |
|
.text:0000000000400B8F retn |
|
.text:0000000000400B8F ; } // starts at 400B3F |
|
.text:0000000000400B8F sub_400B3F endp |
|
.text:0000000000400B8F |
|
.text:0000000000400B90 |
|
.text:0000000000400B90 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400B90 |
|
.text:0000000000400B90 ; Attributes: bp-based frame |
|
.text:0000000000400B90 |
|
.text:0000000000400B90 sub_400B90 proc near ; CODE XREF: sub_4036FC+3EE↓p |
|
.text:0000000000400B90 |
|
.text:0000000000400B90 var_10 = qword ptr -10h |
|
.text:0000000000400B90 var_8 = qword ptr -8 |
|
.text:0000000000400B90 |
|
.text:0000000000400B90 ; __unwind { |
|
.text:0000000000400B90 push rbp |
|
.text:0000000000400B91 mov rbp, rsp |
|
.text:0000000000400B94 mov [rbp+var_8], rdi |
|
.text:0000000000400B98 mov [rbp+var_10], rsi |
|
.text:0000000000400B9C mov rax, [rbp+var_8] |
|
.text:0000000000400BA0 movzx eax, byte ptr [rax+11h] |
|
.text:0000000000400BA4 mov edx, eax |
|
.text:0000000000400BA6 mov rax, [rbp+var_10] |
|
.text:0000000000400BAA movzx eax, byte ptr [rax+3] |
|
.text:0000000000400BAE add eax, edx |
|
.text:0000000000400BB0 cmp al, 9Fh |
|
.text:0000000000400BB2 jnz short loc_400BD8 |
|
.text:0000000000400BB4 mov rax, [rbp+var_8] |
|
.text:0000000000400BB8 movzx eax, byte ptr [rax+11h] |
|
.text:0000000000400BBC mov ecx, eax |
|
.text:0000000000400BBE mov rax, [rbp+var_10] |
|
.text:0000000000400BC2 movzx eax, byte ptr [rax+3] |
|
.text:0000000000400BC6 mov edx, eax |
|
.text:0000000000400BC8 mov eax, ecx |
|
.text:0000000000400BCA imul eax, edx |
|
.text:0000000000400BCD cmp al, 0Ah |
|
.text:0000000000400BCF jnz short loc_400BD8 |
|
.text:0000000000400BD1 mov eax, 1 |
|
.text:0000000000400BD6 jmp short loc_400BDD |
|
.text:0000000000400BD8 ; --------------------------------------------------------------------------- |
|
.text:0000000000400BD8 |
|
.text:0000000000400BD8 loc_400BD8: ; CODE XREF: sub_400B90+22↑j |
|
.text:0000000000400BD8 ; sub_400B90+3F↑j |
|
.text:0000000000400BD8 mov eax, 0 |
|
.text:0000000000400BDD |
|
.text:0000000000400BDD loc_400BDD: ; CODE XREF: sub_400B90+46↑j |
|
.text:0000000000400BDD pop rbp |
|
.text:0000000000400BDE retn |
|
.text:0000000000400BDE ; } // starts at 400B90 |
|
.text:0000000000400BDE sub_400B90 endp |
|
.text:0000000000400BDE |
|
.text:0000000000400BDF |
|
.text:0000000000400BDF ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400BDF |
|
.text:0000000000400BDF ; Attributes: bp-based frame |
|
.text:0000000000400BDF |
|
.text:0000000000400BDF sub_400BDF proc near ; CODE XREF: sub_4036FC+40D↓p |
|
.text:0000000000400BDF |
|
.text:0000000000400BDF var_10 = qword ptr -10h |
|
.text:0000000000400BDF var_8 = qword ptr -8 |
|
.text:0000000000400BDF |
|
.text:0000000000400BDF ; __unwind { |
|
.text:0000000000400BDF push rbp |
|
.text:0000000000400BE0 mov rbp, rsp |
|
.text:0000000000400BE3 mov [rbp+var_8], rdi |
|
.text:0000000000400BE7 mov [rbp+var_10], rsi |
|
.text:0000000000400BEB mov rax, [rbp+var_8] |
|
.text:0000000000400BEF movzx eax, word ptr [rax+12h] |
|
.text:0000000000400BF3 cwde |
|
.text:0000000000400BF4 mov rdx, [rbp+var_10] |
|
.text:0000000000400BF8 movzx edx, word ptr [rdx+16h] |
|
.text:0000000000400BFC movsx ecx, dx |
|
.text:0000000000400BFF cdq |
|
.text:0000000000400C00 idiv ecx |
|
.text:0000000000400C02 test ax, ax |
|
.text:0000000000400C05 jnz short loc_400C28 |
|
.text:0000000000400C07 mov rax, [rbp+var_8] |
|
.text:0000000000400C0B movzx eax, word ptr [rax+12h] |
|
.text:0000000000400C0F mov edx, eax |
|
.text:0000000000400C11 mov rax, [rbp+var_10] |
|
.text:0000000000400C15 movzx eax, word ptr [rax+16h] |
|
.text:0000000000400C19 add eax, edx |
|
.text:0000000000400C1B cmp ax, 99B9h |
|
.text:0000000000400C1F jnz short loc_400C28 |
|
.text:0000000000400C21 mov eax, 1 |
|
.text:0000000000400C26 jmp short loc_400C2D |
|
.text:0000000000400C28 ; --------------------------------------------------------------------------- |
|
.text:0000000000400C28 |
|
.text:0000000000400C28 loc_400C28: ; CODE XREF: sub_400BDF+26↑j |
|
.text:0000000000400C28 ; sub_400BDF+40↑j |
|
.text:0000000000400C28 mov eax, 0 |
|
.text:0000000000400C2D |
|
.text:0000000000400C2D loc_400C2D: ; CODE XREF: sub_400BDF+47↑j |
|
.text:0000000000400C2D pop rbp |
|
.text:0000000000400C2E retn |
|
.text:0000000000400C2E ; } // starts at 400BDF |
|
.text:0000000000400C2E sub_400BDF endp |
|
.text:0000000000400C2E |
|
.text:0000000000400C2F |
|
.text:0000000000400C2F ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400C2F |
|
.text:0000000000400C2F ; Attributes: bp-based frame |
|
.text:0000000000400C2F |
|
.text:0000000000400C2F sub_400C2F proc near ; CODE XREF: sub_4036FC+42C↓p |
|
.text:0000000000400C2F |
|
.text:0000000000400C2F var_10 = qword ptr -10h |
|
.text:0000000000400C2F var_8 = qword ptr -8 |
|
.text:0000000000400C2F |
|
.text:0000000000400C2F ; __unwind { |
|
.text:0000000000400C2F push rbp |
|
.text:0000000000400C30 mov rbp, rsp |
|
.text:0000000000400C33 mov [rbp+var_8], rdi |
|
.text:0000000000400C37 mov [rbp+var_10], rsi |
|
.text:0000000000400C3B mov rax, [rbp+var_8] |
|
.text:0000000000400C3F mov edx, [rax+14h] |
|
.text:0000000000400C42 mov rax, [rbp+var_10] |
|
.text:0000000000400C46 mov eax, [rax+2Eh] |
|
.text:0000000000400C49 sub edx, eax |
|
.text:0000000000400C4B mov eax, edx |
|
.text:0000000000400C4D cmp eax, 6C473B1Fh |
|
.text:0000000000400C52 jnz short loc_400C73 |
|
.text:0000000000400C54 mov rax, [rbp+var_8] |
|
.text:0000000000400C58 mov eax, [rax+14h] |
|
.text:0000000000400C5B mov rdx, [rbp+var_10] |
|
.text:0000000000400C5F mov ecx, [rdx+2Eh] |
|
.text:0000000000400C62 cdq |
|
.text:0000000000400C63 idiv ecx |
|
.text:0000000000400C65 cmp eax, 2EAh |
|
.text:0000000000400C6A jnz short loc_400C73 |
|
.text:0000000000400C6C mov eax, 1 |
|
.text:0000000000400C71 jmp short loc_400C78 |
|
.text:0000000000400C73 ; --------------------------------------------------------------------------- |
|
.text:0000000000400C73 |
|
.text:0000000000400C73 loc_400C73: ; CODE XREF: sub_400C2F+23↑j |
|
.text:0000000000400C73 ; sub_400C2F+3B↑j |
|
.text:0000000000400C73 mov eax, 0 |
|
.text:0000000000400C78 |
|
.text:0000000000400C78 loc_400C78: ; CODE XREF: sub_400C2F+42↑j |
|
.text:0000000000400C78 pop rbp |
|
.text:0000000000400C79 retn |
|
.text:0000000000400C79 ; } // starts at 400C2F |
|
.text:0000000000400C79 sub_400C2F endp |
|
.text:0000000000400C79 |
|
.text:0000000000400C7A |
|
.text:0000000000400C7A ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400C7A |
|
.text:0000000000400C7A ; Attributes: bp-based frame |
|
.text:0000000000400C7A |
|
.text:0000000000400C7A sub_400C7A proc near ; CODE XREF: sub_4036FC+44B↓p |
|
.text:0000000000400C7A |
|
.text:0000000000400C7A var_10 = qword ptr -10h |
|
.text:0000000000400C7A var_8 = qword ptr -8 |
|
.text:0000000000400C7A |
|
.text:0000000000400C7A ; __unwind { |
|
.text:0000000000400C7A push rbp |
|
.text:0000000000400C7B mov rbp, rsp |
|
.text:0000000000400C7E mov [rbp+var_8], rdi |
|
.text:0000000000400C82 mov [rbp+var_10], rsi |
|
.text:0000000000400C86 mov rax, [rbp+var_8] |
|
.text:0000000000400C8A movzx eax, word ptr [rax+14h] |
|
.text:0000000000400C8E mov edx, eax |
|
.text:0000000000400C90 mov rax, [rbp+var_10] |
|
.text:0000000000400C94 movzx eax, word ptr [rax+2Ah] |
|
.text:0000000000400C98 add eax, edx |
|
.text:0000000000400C9A cmp ax, 73BFh |
|
.text:0000000000400C9E jnz short loc_400CC3 |
|
.text:0000000000400CA0 mov rax, [rbp+var_8] |
|
.text:0000000000400CA4 movzx eax, word ptr [rax+14h] |
|
.text:0000000000400CA8 mov edx, eax |
|
.text:0000000000400CAA mov rax, [rbp+var_10] |
|
.text:0000000000400CAE movzx eax, word ptr [rax+2Ah] |
|
.text:0000000000400CB2 sub edx, eax |
|
.text:0000000000400CB4 mov eax, edx |
|
.text:0000000000400CB6 cmp ax, 5EDBh |
|
.text:0000000000400CBA jnz short loc_400CC3 |
|
.text:0000000000400CBC mov eax, 1 |
|
.text:0000000000400CC1 jmp short loc_400CC8 |
|
.text:0000000000400CC3 ; --------------------------------------------------------------------------- |
|
.text:0000000000400CC3 |
|
.text:0000000000400CC3 loc_400CC3: ; CODE XREF: sub_400C7A+24↑j |
|
.text:0000000000400CC3 ; sub_400C7A+40↑j |
|
.text:0000000000400CC3 mov eax, 0 |
|
.text:0000000000400CC8 |
|
.text:0000000000400CC8 loc_400CC8: ; CODE XREF: sub_400C7A+47↑j |
|
.text:0000000000400CC8 pop rbp |
|
.text:0000000000400CC9 retn |
|
.text:0000000000400CC9 ; } // starts at 400C7A |
|
.text:0000000000400CC9 sub_400C7A endp |
|
.text:0000000000400CC9 |
|
.text:0000000000400CCA |
|
.text:0000000000400CCA ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400CCA |
|
.text:0000000000400CCA ; Attributes: bp-based frame |
|
.text:0000000000400CCA |
|
.text:0000000000400CCA sub_400CCA proc near ; CODE XREF: sub_4036FC+46A↓p |
|
.text:0000000000400CCA |
|
.text:0000000000400CCA var_10 = qword ptr -10h |
|
.text:0000000000400CCA var_8 = qword ptr -8 |
|
.text:0000000000400CCA |
|
.text:0000000000400CCA ; __unwind { |
|
.text:0000000000400CCA push rbp |
|
.text:0000000000400CCB mov rbp, rsp |
|
.text:0000000000400CCE mov [rbp+var_8], rdi |
|
.text:0000000000400CD2 mov [rbp+var_10], rsi |
|
.text:0000000000400CD6 mov rax, [rbp+var_8] |
|
.text:0000000000400CDA movss xmm1, dword ptr [rax+1Ah] |
|
.text:0000000000400CDF mov rax, [rbp+var_10] |
|
.text:0000000000400CE3 movss xmm0, dword ptr [rax+1Eh] |
|
.text:0000000000400CE8 addss xmm0, xmm1 |
|
.text:0000000000400CEC ucomiss xmm0, cs:dword_404C4C |
|
.text:0000000000400CF3 jp short loc_400D2D |
|
.text:0000000000400CF5 ucomiss xmm0, cs:dword_404C4C |
|
.text:0000000000400CFC jnz short loc_400D2D |
|
.text:0000000000400CFE mov rax, [rbp+var_8] |
|
.text:0000000000400D02 movss xmm1, dword ptr [rax+1Ah] |
|
.text:0000000000400D07 mov rax, [rbp+var_10] |
|
.text:0000000000400D0B movss xmm0, dword ptr [rax+1Eh] |
|
.text:0000000000400D10 mulss xmm0, xmm1 |
|
.text:0000000000400D14 ucomiss xmm0, cs:dword_404C50 |
|
.text:0000000000400D1B jp short loc_400D2D |
|
.text:0000000000400D1D ucomiss xmm0, cs:dword_404C50 |
|
.text:0000000000400D24 jnz short loc_400D2D |
|
.text:0000000000400D26 mov eax, 1 |
|
.text:0000000000400D2B jmp short loc_400D32 |
|
.text:0000000000400D2D ; --------------------------------------------------------------------------- |
|
.text:0000000000400D2D |
|
.text:0000000000400D2D loc_400D2D: ; CODE XREF: sub_400CCA+29↑j |
|
.text:0000000000400D2D ; sub_400CCA+32↑j ... |
|
.text:0000000000400D2D mov eax, 0 |
|
.text:0000000000400D32 |
|
.text:0000000000400D32 loc_400D32: ; CODE XREF: sub_400CCA+61↑j |
|
.text:0000000000400D32 pop rbp |
|
.text:0000000000400D33 retn |
|
.text:0000000000400D33 ; } // starts at 400CCA |
|
.text:0000000000400D33 sub_400CCA endp |
|
.text:0000000000400D33 |
|
.text:0000000000400D34 |
|
.text:0000000000400D34 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400D34 |
|
.text:0000000000400D34 ; Attributes: bp-based frame |
|
.text:0000000000400D34 |
|
.text:0000000000400D34 sub_400D34 proc near ; CODE XREF: sub_4036FC+489↓p |
|
.text:0000000000400D34 |
|
.text:0000000000400D34 var_10 = qword ptr -10h |
|
.text:0000000000400D34 var_8 = qword ptr -8 |
|
.text:0000000000400D34 |
|
.text:0000000000400D34 ; __unwind { |
|
.text:0000000000400D34 push rbp |
|
.text:0000000000400D35 mov rbp, rsp |
|
.text:0000000000400D38 mov [rbp+var_8], rdi |
|
.text:0000000000400D3C mov [rbp+var_10], rsi |
|
.text:0000000000400D40 mov rax, [rbp+var_8] |
|
.text:0000000000400D44 movss xmm1, dword ptr [rax+22h] |
|
.text:0000000000400D49 mov rax, [rbp+var_10] |
|
.text:0000000000400D4D movss xmm0, dword ptr [rax+2Ch] |
|
.text:0000000000400D52 mulss xmm0, xmm1 |
|
.text:0000000000400D56 ucomiss xmm0, cs:dword_404C54 |
|
.text:0000000000400D5D jp short loc_400D8E |
|
.text:0000000000400D5F ucomiss xmm0, cs:dword_404C54 |
|
.text:0000000000400D66 jnz short loc_400D8E |
|
.text:0000000000400D68 mov rax, [rbp+var_8] |
|
.text:0000000000400D6C movss xmm0, dword ptr [rax+22h] |
|
.text:0000000000400D71 mov rax, [rbp+var_10] |
|
.text:0000000000400D75 movss xmm1, dword ptr [rax+2Ch] |
|
.text:0000000000400D7A divss xmm0, xmm1 |
|
.text:0000000000400D7E ucomiss xmm0, cs:dword_404C58 |
|
.text:0000000000400D85 jbe short loc_400D8E |
|
.text:0000000000400D87 mov eax, 1 |
|
.text:0000000000400D8C jmp short loc_400D93 |
|
.text:0000000000400D8E ; --------------------------------------------------------------------------- |
|
.text:0000000000400D8E |
|
.text:0000000000400D8E loc_400D8E: ; CODE XREF: sub_400D34+29↑j |
|
.text:0000000000400D8E ; sub_400D34+32↑j ... |
|
.text:0000000000400D8E mov eax, 0 |
|
.text:0000000000400D93 |
|
.text:0000000000400D93 loc_400D93: ; CODE XREF: sub_400D34+58↑j |
|
.text:0000000000400D93 pop rbp |
|
.text:0000000000400D94 retn |
|
.text:0000000000400D94 ; } // starts at 400D34 |
|
.text:0000000000400D94 sub_400D34 endp |
|
.text:0000000000400D94 |
|
.text:0000000000400D95 |
|
.text:0000000000400D95 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400D95 |
|
.text:0000000000400D95 ; Attributes: bp-based frame |
|
.text:0000000000400D95 |
|
.text:0000000000400D95 sub_400D95 proc near ; CODE XREF: sub_4036FC+4A8↓p |
|
.text:0000000000400D95 |
|
.text:0000000000400D95 var_10 = qword ptr -10h |
|
.text:0000000000400D95 var_8 = qword ptr -8 |
|
.text:0000000000400D95 |
|
.text:0000000000400D95 ; __unwind { |
|
.text:0000000000400D95 push rbp |
|
.text:0000000000400D96 mov rbp, rsp |
|
.text:0000000000400D99 mov [rbp+var_8], rdi |
|
.text:0000000000400D9D mov [rbp+var_10], rsi |
|
.text:0000000000400DA1 mov rax, [rbp+var_8] |
|
.text:0000000000400DA5 movzx eax, word ptr [rax+26h] |
|
.text:0000000000400DA9 mov edx, eax |
|
.text:0000000000400DAB mov rax, [rbp+var_10] |
|
.text:0000000000400DAF movzx eax, word ptr [rax+18h] |
|
.text:0000000000400DB3 add eax, edx |
|
.text:0000000000400DB5 cmp ax, 0DFC6h |
|
.text:0000000000400DB9 jnz short loc_400DDE |
|
.text:0000000000400DBB mov rax, [rbp+var_8] |
|
.text:0000000000400DBF movzx eax, word ptr [rax+26h] |
|
.text:0000000000400DC3 cwde |
|
.text:0000000000400DC4 mov rdx, [rbp+var_10] |
|
.text:0000000000400DC8 movzx edx, word ptr [rdx+18h] |
|
.text:0000000000400DCC movsx ecx, dx |
|
.text:0000000000400DCF cdq |
|
.text:0000000000400DD0 idiv ecx |
|
.text:0000000000400DD2 test ax, ax |
|
.text:0000000000400DD5 jnz short loc_400DDE |
|
.text:0000000000400DD7 mov eax, 1 |
|
.text:0000000000400DDC jmp short loc_400DE3 |
|
.text:0000000000400DDE ; --------------------------------------------------------------------------- |
|
.text:0000000000400DDE |
|
.text:0000000000400DDE loc_400DDE: ; CODE XREF: sub_400D95+24↑j |
|
.text:0000000000400DDE ; sub_400D95+40↑j |
|
.text:0000000000400DDE mov eax, 0 |
|
.text:0000000000400DE3 |
|
.text:0000000000400DE3 loc_400DE3: ; CODE XREF: sub_400D95+47↑j |
|
.text:0000000000400DE3 pop rbp |
|
.text:0000000000400DE4 retn |
|
.text:0000000000400DE4 ; } // starts at 400D95 |
|
.text:0000000000400DE4 sub_400D95 endp |
|
.text:0000000000400DE4 |
|
.text:0000000000400DE5 |
|
.text:0000000000400DE5 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400DE5 |
|
.text:0000000000400DE5 ; Attributes: bp-based frame |
|
.text:0000000000400DE5 |
|
.text:0000000000400DE5 sub_400DE5 proc near ; CODE XREF: sub_4036FC+4C7↓p |
|
.text:0000000000400DE5 |
|
.text:0000000000400DE5 var_10 = qword ptr -10h |
|
.text:0000000000400DE5 var_8 = qword ptr -8 |
|
.text:0000000000400DE5 |
|
.text:0000000000400DE5 ; __unwind { |
|
.text:0000000000400DE5 push rbp |
|
.text:0000000000400DE6 mov rbp, rsp |
|
.text:0000000000400DE9 mov [rbp+var_8], rdi |
|
.text:0000000000400DED mov [rbp+var_10], rsi |
|
.text:0000000000400DF1 mov rax, [rbp+var_8] |
|
.text:0000000000400DF5 movss xmm1, dword ptr [rax+18h] |
|
.text:0000000000400DFA mov rax, [rbp+var_10] |
|
.text:0000000000400DFE movss xmm0, dword ptr [rax+36h] |
|
.text:0000000000400E03 mulss xmm0, xmm1 |
|
.text:0000000000400E07 ucomiss xmm0, cs:dword_404C5C |
|
.text:0000000000400E0E jp short loc_400E48 |
|
.text:0000000000400E10 ucomiss xmm0, cs:dword_404C5C |
|
.text:0000000000400E17 jnz short loc_400E48 |
|
.text:0000000000400E19 mov rax, [rbp+var_8] |
|
.text:0000000000400E1D movss xmm1, dword ptr [rax+18h] |
|
.text:0000000000400E22 mov rax, [rbp+var_10] |
|
.text:0000000000400E26 movss xmm0, dword ptr [rax+36h] |
|
.text:0000000000400E2B addss xmm0, xmm1 |
|
.text:0000000000400E2F ucomiss xmm0, cs:dword_404C60 |
|
.text:0000000000400E36 jp short loc_400E48 |
|
.text:0000000000400E38 ucomiss xmm0, cs:dword_404C60 |
|
.text:0000000000400E3F jnz short loc_400E48 |
|
.text:0000000000400E41 mov eax, 1 |
|
.text:0000000000400E46 jmp short loc_400E4D |
|
.text:0000000000400E48 ; --------------------------------------------------------------------------- |
|
.text:0000000000400E48 |
|
.text:0000000000400E48 loc_400E48: ; CODE XREF: sub_400DE5+29↑j |
|
.text:0000000000400E48 ; sub_400DE5+32↑j ... |
|
.text:0000000000400E48 mov eax, 0 |
|
.text:0000000000400E4D |
|
.text:0000000000400E4D loc_400E4D: ; CODE XREF: sub_400DE5+61↑j |
|
.text:0000000000400E4D pop rbp |
|
.text:0000000000400E4E retn |
|
.text:0000000000400E4E ; } // starts at 400DE5 |
|
.text:0000000000400E4E sub_400DE5 endp |
|
.text:0000000000400E4E |
|
.text:0000000000400E4F |
|
.text:0000000000400E4F ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400E4F |
|
.text:0000000000400E4F ; Attributes: bp-based frame |
|
.text:0000000000400E4F |
|
.text:0000000000400E4F sub_400E4F proc near ; CODE XREF: sub_4036FC+4E6↓p |
|
.text:0000000000400E4F |
|
.text:0000000000400E4F var_10 = qword ptr -10h |
|
.text:0000000000400E4F var_8 = qword ptr -8 |
|
.text:0000000000400E4F |
|
.text:0000000000400E4F ; __unwind { |
|
.text:0000000000400E4F push rbp |
|
.text:0000000000400E50 mov rbp, rsp |
|
.text:0000000000400E53 mov [rbp+var_8], rdi |
|
.text:0000000000400E57 mov [rbp+var_10], rsi |
|
.text:0000000000400E5B mov rax, [rbp+var_8] |
|
.text:0000000000400E5F movzx edx, word ptr [rax+1Ch] |
|
.text:0000000000400E63 mov rax, [rbp+var_10] |
|
.text:0000000000400E67 movzx eax, word ptr [rax+1Eh] |
|
.text:0000000000400E6B cmp dx, ax |
|
.text:0000000000400E6E jnz short loc_400E94 |
|
.text:0000000000400E70 mov rax, [rbp+var_8] |
|
.text:0000000000400E74 movzx eax, word ptr [rax+1Ch] |
|
.text:0000000000400E78 cwde |
|
.text:0000000000400E79 mov rdx, [rbp+var_10] |
|
.text:0000000000400E7D movzx edx, word ptr [rdx+1Eh] |
|
.text:0000000000400E81 movsx ecx, dx |
|
.text:0000000000400E84 cdq |
|
.text:0000000000400E85 idiv ecx |
|
.text:0000000000400E87 cmp ax, 1 |
|
.text:0000000000400E8B jnz short loc_400E94 |
|
.text:0000000000400E8D mov eax, 1 |
|
.text:0000000000400E92 jmp short loc_400E99 |
|
.text:0000000000400E94 ; --------------------------------------------------------------------------- |
|
.text:0000000000400E94 |
|
.text:0000000000400E94 loc_400E94: ; CODE XREF: sub_400E4F+1F↑j |
|
.text:0000000000400E94 ; sub_400E4F+3C↑j |
|
.text:0000000000400E94 mov eax, 0 |
|
.text:0000000000400E99 |
|
.text:0000000000400E99 loc_400E99: ; CODE XREF: sub_400E4F+43↑j |
|
.text:0000000000400E99 pop rbp |
|
.text:0000000000400E9A retn |
|
.text:0000000000400E9A ; } // starts at 400E4F |
|
.text:0000000000400E9A sub_400E4F endp |
|
.text:0000000000400E9A |
|
.text:0000000000400E9B |
|
.text:0000000000400E9B ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400E9B |
|
.text:0000000000400E9B ; Attributes: bp-based frame |
|
.text:0000000000400E9B |
|
.text:0000000000400E9B sub_400E9B proc near ; CODE XREF: sub_4036FC+505↓p |
|
.text:0000000000400E9B |
|
.text:0000000000400E9B var_10 = qword ptr -10h |
|
.text:0000000000400E9B var_8 = qword ptr -8 |
|
.text:0000000000400E9B |
|
.text:0000000000400E9B ; __unwind { |
|
.text:0000000000400E9B push rbp |
|
.text:0000000000400E9C mov rbp, rsp |
|
.text:0000000000400E9F mov [rbp+var_8], rdi |
|
.text:0000000000400EA3 mov [rbp+var_10], rsi |
|
.text:0000000000400EA7 mov rax, [rbp+var_8] |
|
.text:0000000000400EAB movss xmm1, dword ptr [rax+32h] |
|
.text:0000000000400EB0 mov rax, [rbp+var_10] |
|
.text:0000000000400EB4 movss xmm0, dword ptr [rax+60h] |
|
.text:0000000000400EB9 addss xmm0, xmm1 |
|
.text:0000000000400EBD ucomiss xmm0, cs:dword_404C64 |
|
.text:0000000000400EC4 jp short loc_400EFE |
|
.text:0000000000400EC6 ucomiss xmm0, cs:dword_404C64 |
|
.text:0000000000400ECD jnz short loc_400EFE |
|
.text:0000000000400ECF mov rax, [rbp+var_8] |
|
.text:0000000000400ED3 movss xmm0, dword ptr [rax+32h] |
|
.text:0000000000400ED8 mov rax, [rbp+var_10] |
|
.text:0000000000400EDC movss xmm1, dword ptr [rax+60h] |
|
.text:0000000000400EE1 divss xmm0, xmm1 |
|
.text:0000000000400EE5 ucomiss xmm0, cs:dword_404C68 |
|
.text:0000000000400EEC jp short loc_400EFE |
|
.text:0000000000400EEE ucomiss xmm0, cs:dword_404C68 |
|
.text:0000000000400EF5 jnz short loc_400EFE |
|
.text:0000000000400EF7 mov eax, 1 |
|
.text:0000000000400EFC jmp short loc_400F03 |
|
.text:0000000000400EFE ; --------------------------------------------------------------------------- |
|
.text:0000000000400EFE |
|
.text:0000000000400EFE loc_400EFE: ; CODE XREF: sub_400E9B+29↑j |
|
.text:0000000000400EFE ; sub_400E9B+32↑j ... |
|
.text:0000000000400EFE mov eax, 0 |
|
.text:0000000000400F03 |
|
.text:0000000000400F03 loc_400F03: ; CODE XREF: sub_400E9B+61↑j |
|
.text:0000000000400F03 pop rbp |
|
.text:0000000000400F04 retn |
|
.text:0000000000400F04 ; } // starts at 400E9B |
|
.text:0000000000400F04 sub_400E9B endp |
|
.text:0000000000400F04 |
|
.text:0000000000400F05 |
|
.text:0000000000400F05 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400F05 |
|
.text:0000000000400F05 ; Attributes: bp-based frame |
|
.text:0000000000400F05 |
|
.text:0000000000400F05 sub_400F05 proc near ; CODE XREF: sub_4036FC+524↓p |
|
.text:0000000000400F05 |
|
.text:0000000000400F05 var_10 = qword ptr -10h |
|
.text:0000000000400F05 var_8 = qword ptr -8 |
|
.text:0000000000400F05 |
|
.text:0000000000400F05 ; __unwind { |
|
.text:0000000000400F05 push rbp |
|
.text:0000000000400F06 mov rbp, rsp |
|
.text:0000000000400F09 mov [rbp+var_8], rdi |
|
.text:0000000000400F0D mov [rbp+var_10], rsi |
|
.text:0000000000400F11 mov rax, [rbp+var_8] |
|
.text:0000000000400F15 movss xmm1, dword ptr [rax+32h] |
|
.text:0000000000400F1A mov rax, [rbp+var_10] |
|
.text:0000000000400F1E movss xmm0, dword ptr [rax+68h] |
|
.text:0000000000400F23 mulss xmm0, xmm1 |
|
.text:0000000000400F27 ucomiss xmm0, cs:dword_404C6C |
|
.text:0000000000400F2E jp short loc_400F68 |
|
.text:0000000000400F30 ucomiss xmm0, cs:dword_404C6C |
|
.text:0000000000400F37 jnz short loc_400F68 |
|
.text:0000000000400F39 mov rax, [rbp+var_8] |
|
.text:0000000000400F3D movss xmm0, dword ptr [rax+32h] |
|
.text:0000000000400F42 mov rax, [rbp+var_10] |
|
.text:0000000000400F46 movss xmm1, dword ptr [rax+68h] |
|
.text:0000000000400F4B subss xmm0, xmm1 |
|
.text:0000000000400F4F ucomiss xmm0, cs:dword_404C70 |
|
.text:0000000000400F56 jp short loc_400F68 |
|
.text:0000000000400F58 ucomiss xmm0, cs:dword_404C70 |
|
.text:0000000000400F5F jnz short loc_400F68 |
|
.text:0000000000400F61 mov eax, 1 |
|
.text:0000000000400F66 jmp short loc_400F6D |
|
.text:0000000000400F68 ; --------------------------------------------------------------------------- |
|
.text:0000000000400F68 |
|
.text:0000000000400F68 loc_400F68: ; CODE XREF: sub_400F05+29↑j |
|
.text:0000000000400F68 ; sub_400F05+32↑j ... |
|
.text:0000000000400F68 mov eax, 0 |
|
.text:0000000000400F6D |
|
.text:0000000000400F6D loc_400F6D: ; CODE XREF: sub_400F05+61↑j |
|
.text:0000000000400F6D pop rbp |
|
.text:0000000000400F6E retn |
|
.text:0000000000400F6E ; } // starts at 400F05 |
|
.text:0000000000400F6E sub_400F05 endp |
|
.text:0000000000400F6E |
|
.text:0000000000400F6F |
|
.text:0000000000400F6F ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400F6F |
|
.text:0000000000400F6F ; Attributes: bp-based frame |
|
.text:0000000000400F6F |
|
.text:0000000000400F6F sub_400F6F proc near ; CODE XREF: sub_4036FC+543↓p |
|
.text:0000000000400F6F |
|
.text:0000000000400F6F var_10 = qword ptr -10h |
|
.text:0000000000400F6F var_8 = qword ptr -8 |
|
.text:0000000000400F6F |
|
.text:0000000000400F6F ; __unwind { |
|
.text:0000000000400F6F push rbp |
|
.text:0000000000400F70 mov rbp, rsp |
|
.text:0000000000400F73 mov [rbp+var_8], rdi |
|
.text:0000000000400F77 mov [rbp+var_10], rsi |
|
.text:0000000000400F7B mov rax, [rbp+var_8] |
|
.text:0000000000400F7F movzx eax, byte ptr [rax+24h] |
|
.text:0000000000400F83 mov edx, eax |
|
.text:0000000000400F85 mov rax, [rbp+var_10] |
|
.text:0000000000400F89 movzx eax, byte ptr [rax+25h] |
|
.text:0000000000400F8D sub edx, eax |
|
.text:0000000000400F8F mov eax, edx |
|
.text:0000000000400F91 cmp al, 0DFh |
|
.text:0000000000400F93 jnz short loc_400FB9 |
|
.text:0000000000400F95 mov rax, [rbp+var_8] |
|
.text:0000000000400F99 movzx eax, byte ptr [rax+24h] |
|
.text:0000000000400F9D mov ecx, eax |
|
.text:0000000000400F9F mov rax, [rbp+var_10] |
|
.text:0000000000400FA3 movzx eax, byte ptr [rax+25h] |
|
.text:0000000000400FA7 mov edx, eax |
|
.text:0000000000400FA9 mov eax, ecx |
|
.text:0000000000400FAB imul eax, edx |
|
.text:0000000000400FAE cmp al, 9Ch |
|
.text:0000000000400FB0 jnz short loc_400FB9 |
|
.text:0000000000400FB2 mov eax, 1 |
|
.text:0000000000400FB7 jmp short loc_400FBE |
|
.text:0000000000400FB9 ; --------------------------------------------------------------------------- |
|
.text:0000000000400FB9 |
|
.text:0000000000400FB9 loc_400FB9: ; CODE XREF: sub_400F6F+24↑j |
|
.text:0000000000400FB9 ; sub_400F6F+41↑j |
|
.text:0000000000400FB9 mov eax, 0 |
|
.text:0000000000400FBE |
|
.text:0000000000400FBE loc_400FBE: ; CODE XREF: sub_400F6F+48↑j |
|
.text:0000000000400FBE pop rbp |
|
.text:0000000000400FBF retn |
|
.text:0000000000400FBF ; } // starts at 400F6F |
|
.text:0000000000400FBF sub_400F6F endp |
|
.text:0000000000400FBF |
|
.text:0000000000400FC0 |
|
.text:0000000000400FC0 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000400FC0 |
|
.text:0000000000400FC0 ; Attributes: bp-based frame |
|
.text:0000000000400FC0 |
|
.text:0000000000400FC0 sub_400FC0 proc near ; CODE XREF: sub_4036FC+562↓p |
|
.text:0000000000400FC0 |
|
.text:0000000000400FC0 var_10 = qword ptr -10h |
|
.text:0000000000400FC0 var_8 = qword ptr -8 |
|
.text:0000000000400FC0 |
|
.text:0000000000400FC0 ; __unwind { |
|
.text:0000000000400FC0 push rbp |
|
.text:0000000000400FC1 mov rbp, rsp |
|
.text:0000000000400FC4 mov [rbp+var_8], rdi |
|
.text:0000000000400FC8 mov [rbp+var_10], rsi |
|
.text:0000000000400FCC mov rax, [rbp+var_8] |
|
.text:0000000000400FD0 movzx eax, byte ptr [rax+2Ch] |
|
.text:0000000000400FD4 mov edx, eax |
|
.text:0000000000400FD6 mov rax, [rbp+var_10] |
|
.text:0000000000400FDA movzx eax, byte ptr [rax+42h] |
|
.text:0000000000400FDE sub edx, eax |
|
.text:0000000000400FE0 mov eax, edx |
|
.text:0000000000400FE2 cmp al, 1 |
|
.text:0000000000400FE4 jnz short loc_401005 |
|
.text:0000000000400FE6 mov rax, [rbp+var_8] |
|
.text:0000000000400FEA movzx eax, byte ptr [rax+2Ch] |
|
.text:0000000000400FEE mov edx, eax |
|
.text:0000000000400FF0 mov rax, [rbp+var_10] |
|
.text:0000000000400FF4 movzx eax, byte ptr [rax+42h] |
|
.text:0000000000400FF8 add eax, edx |
|
.text:0000000000400FFA cmp al, 5Bh |
|
.text:0000000000400FFC jnz short loc_401005 |
|
.text:0000000000400FFE mov eax, 1 |
|
.text:0000000000401003 jmp short loc_40100A |
|
.text:0000000000401005 ; --------------------------------------------------------------------------- |
|
.text:0000000000401005 |
|
.text:0000000000401005 loc_401005: ; CODE XREF: sub_400FC0+24↑j |
|
.text:0000000000401005 ; sub_400FC0+3C↑j |
|
.text:0000000000401005 mov eax, 0 |
|
.text:000000000040100A |
|
.text:000000000040100A loc_40100A: ; CODE XREF: sub_400FC0+43↑j |
|
.text:000000000040100A pop rbp |
|
.text:000000000040100B retn |
|
.text:000000000040100B ; } // starts at 400FC0 |
|
.text:000000000040100B sub_400FC0 endp |
|
.text:000000000040100B |
|
.text:000000000040100C |
|
.text:000000000040100C ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040100C |
|
.text:000000000040100C ; Attributes: bp-based frame |
|
.text:000000000040100C |
|
.text:000000000040100C sub_40100C proc near ; CODE XREF: sub_4036FC+581↓p |
|
.text:000000000040100C |
|
.text:000000000040100C var_10 = qword ptr -10h |
|
.text:000000000040100C var_8 = qword ptr -8 |
|
.text:000000000040100C |
|
.text:000000000040100C ; __unwind { |
|
.text:000000000040100C push rbp |
|
.text:000000000040100D mov rbp, rsp |
|
.text:0000000000401010 mov [rbp+var_8], rdi |
|
.text:0000000000401014 mov [rbp+var_10], rsi |
|
.text:0000000000401018 mov rax, [rbp+var_8] |
|
.text:000000000040101C movzx eax, byte ptr [rax+1] |
|
.text:0000000000401020 mov edx, eax |
|
.text:0000000000401022 mov rax, [rbp+var_10] |
|
.text:0000000000401026 movzx eax, byte ptr [rax+36h] |
|
.text:000000000040102A sub edx, eax |
|
.text:000000000040102C mov eax, edx |
|
.text:000000000040102E cmp al, 0FBh |
|
.text:0000000000401030 jnz short loc_401056 |
|
.text:0000000000401032 mov rax, [rbp+var_8] |
|
.text:0000000000401036 movzx eax, byte ptr [rax+1] |
|
.text:000000000040103A movsx eax, al |
|
.text:000000000040103D mov rdx, [rbp+var_10] |
|
.text:0000000000401041 movzx edx, byte ptr [rdx+36h] |
|
.text:0000000000401045 movsx ecx, dl |
|
.text:0000000000401048 cdq |
|
.text:0000000000401049 idiv ecx |
|
.text:000000000040104B test al, al |
|
.text:000000000040104D jnz short loc_401056 |
|
.text:000000000040104F mov eax, 1 |
|
.text:0000000000401054 jmp short loc_40105B |
|
.text:0000000000401056 ; --------------------------------------------------------------------------- |
|
.text:0000000000401056 |
|
.text:0000000000401056 loc_401056: ; CODE XREF: sub_40100C+24↑j |
|
.text:0000000000401056 ; sub_40100C+41↑j |
|
.text:0000000000401056 mov eax, 0 |
|
.text:000000000040105B |
|
.text:000000000040105B loc_40105B: ; CODE XREF: sub_40100C+48↑j |
|
.text:000000000040105B pop rbp |
|
.text:000000000040105C retn |
|
.text:000000000040105C ; } // starts at 40100C |
|
.text:000000000040105C sub_40100C endp |
|
.text:000000000040105C |
|
.text:000000000040105D |
|
.text:000000000040105D ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040105D |
|
.text:000000000040105D ; Attributes: bp-based frame |
|
.text:000000000040105D |
|
.text:000000000040105D sub_40105D proc near ; CODE XREF: sub_4036FC+5A0↓p |
|
.text:000000000040105D |
|
.text:000000000040105D var_10 = qword ptr -10h |
|
.text:000000000040105D var_8 = qword ptr -8 |
|
.text:000000000040105D |
|
.text:000000000040105D ; __unwind { |
|
.text:000000000040105D push rbp |
|
.text:000000000040105E mov rbp, rsp |
|
.text:0000000000401061 mov [rbp+var_8], rdi |
|
.text:0000000000401065 mov [rbp+var_10], rsi |
|
.text:0000000000401069 mov rax, [rbp+var_8] |
|
.text:000000000040106D movzx eax, byte ptr [rax+1] |
|
.text:0000000000401071 movsx eax, al |
|
.text:0000000000401074 mov rdx, [rbp+var_10] |
|
.text:0000000000401078 movzx edx, byte ptr [rdx+37h] |
|
.text:000000000040107C movsx ecx, dl |
|
.text:000000000040107F cdq |
|
.text:0000000000401080 idiv ecx |
|
.text:0000000000401082 test al, al |
|
.text:0000000000401084 jnz short loc_4010A7 |
|
.text:0000000000401086 mov rax, [rbp+var_8] |
|
.text:000000000040108A movzx eax, byte ptr [rax+1] |
|
.text:000000000040108E mov edx, eax |
|
.text:0000000000401090 mov rax, [rbp+var_10] |
|
.text:0000000000401094 movzx eax, byte ptr [rax+37h] |
|
.text:0000000000401098 sub edx, eax |
|
.text:000000000040109A mov eax, edx |
|
.text:000000000040109C cmp al, 0FAh |
|
.text:000000000040109E jnz short loc_4010A7 |
|
.text:00000000004010A0 mov eax, 1 |
|
.text:00000000004010A5 jmp short loc_4010AC |
|
.text:00000000004010A7 ; --------------------------------------------------------------------------- |
|
.text:00000000004010A7 |
|
.text:00000000004010A7 loc_4010A7: ; CODE XREF: sub_40105D+27↑j |
|
.text:00000000004010A7 ; sub_40105D+41↑j |
|
.text:00000000004010A7 mov eax, 0 |
|
.text:00000000004010AC |
|
.text:00000000004010AC loc_4010AC: ; CODE XREF: sub_40105D+48↑j |
|
.text:00000000004010AC pop rbp |
|
.text:00000000004010AD retn |
|
.text:00000000004010AD ; } // starts at 40105D |
|
.text:00000000004010AD sub_40105D endp |
|
.text:00000000004010AD |
|
.text:00000000004010AE |
|
.text:00000000004010AE ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004010AE |
|
.text:00000000004010AE ; Attributes: bp-based frame |
|
.text:00000000004010AE |
|
.text:00000000004010AE sub_4010AE proc near ; CODE XREF: sub_4036FC+5BF↓p |
|
.text:00000000004010AE |
|
.text:00000000004010AE var_10 = qword ptr -10h |
|
.text:00000000004010AE var_8 = qword ptr -8 |
|
.text:00000000004010AE |
|
.text:00000000004010AE ; __unwind { |
|
.text:00000000004010AE push rbp |
|
.text:00000000004010AF mov rbp, rsp |
|
.text:00000000004010B2 mov [rbp+var_8], rdi |
|
.text:00000000004010B6 mov [rbp+var_10], rsi |
|
.text:00000000004010BA mov rax, [rbp+var_8] |
|
.text:00000000004010BE movzx eax, word ptr [rax+30h] |
|
.text:00000000004010C2 mov edx, eax |
|
.text:00000000004010C4 mov rax, [rbp+var_10] |
|
.text:00000000004010C8 movzx eax, word ptr [rax+3Ch] |
|
.text:00000000004010CC sub edx, eax |
|
.text:00000000004010CE mov eax, edx |
|
.text:00000000004010D0 cmp ax, 0BFB3h |
|
.text:00000000004010D4 jnz short loc_4010F9 |
|
.text:00000000004010D6 mov rax, [rbp+var_8] |
|
.text:00000000004010DA movzx eax, word ptr [rax+30h] |
|
.text:00000000004010DE cwde |
|
.text:00000000004010DF mov rdx, [rbp+var_10] |
|
.text:00000000004010E3 movzx edx, word ptr [rdx+3Ch] |
|
.text:00000000004010E7 movsx ecx, dx |
|
.text:00000000004010EA cdq |
|
.text:00000000004010EB idiv ecx |
|
.text:00000000004010ED test ax, ax |
|
.text:00000000004010F0 jnz short loc_4010F9 |
|
.text:00000000004010F2 mov eax, 1 |
|
.text:00000000004010F7 jmp short loc_4010FE |
|
.text:00000000004010F9 ; --------------------------------------------------------------------------- |
|
.text:00000000004010F9 |
|
.text:00000000004010F9 loc_4010F9: ; CODE XREF: sub_4010AE+26↑j |
|
.text:00000000004010F9 ; sub_4010AE+42↑j |
|
.text:00000000004010F9 mov eax, 0 |
|
.text:00000000004010FE |
|
.text:00000000004010FE loc_4010FE: ; CODE XREF: sub_4010AE+49↑j |
|
.text:00000000004010FE pop rbp |
|
.text:00000000004010FF retn |
|
.text:00000000004010FF ; } // starts at 4010AE |
|
.text:00000000004010FF sub_4010AE endp |
|
.text:00000000004010FF |
|
.text:0000000000401100 |
|
.text:0000000000401100 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401100 |
|
.text:0000000000401100 ; Attributes: bp-based frame |
|
.text:0000000000401100 |
|
.text:0000000000401100 sub_401100 proc near ; CODE XREF: sub_4036FC+5DE↓p |
|
.text:0000000000401100 |
|
.text:0000000000401100 var_10 = qword ptr -10h |
|
.text:0000000000401100 var_8 = qword ptr -8 |
|
.text:0000000000401100 |
|
.text:0000000000401100 ; __unwind { |
|
.text:0000000000401100 push rbp |
|
.text:0000000000401101 mov rbp, rsp |
|
.text:0000000000401104 mov [rbp+var_8], rdi |
|
.text:0000000000401108 mov [rbp+var_10], rsi |
|
.text:000000000040110C mov rax, [rbp+var_8] |
|
.text:0000000000401110 movzx eax, word ptr [rax+38h] |
|
.text:0000000000401114 mov edx, eax |
|
.text:0000000000401116 mov rax, [rbp+var_10] |
|
.text:000000000040111A movzx eax, word ptr [rax+3Ch] |
|
.text:000000000040111E imul eax, edx |
|
.text:0000000000401121 cmp ax, 0F532h |
|
.text:0000000000401125 jnz short loc_40114B |
|
.text:0000000000401127 mov rax, [rbp+var_8] |
|
.text:000000000040112B movzx eax, word ptr [rax+38h] |
|
.text:000000000040112F cwde |
|
.text:0000000000401130 mov rdx, [rbp+var_10] |
|
.text:0000000000401134 movzx edx, word ptr [rdx+3Ch] |
|
.text:0000000000401138 movsx ecx, dx |
|
.text:000000000040113B cdq |
|
.text:000000000040113C idiv ecx |
|
.text:000000000040113E cmp ax, 1 |
|
.text:0000000000401142 jnz short loc_40114B |
|
.text:0000000000401144 mov eax, 1 |
|
.text:0000000000401149 jmp short loc_401150 |
|
.text:000000000040114B ; --------------------------------------------------------------------------- |
|
.text:000000000040114B |
|
.text:000000000040114B loc_40114B: ; CODE XREF: sub_401100+25↑j |
|
.text:000000000040114B ; sub_401100+42↑j |
|
.text:000000000040114B mov eax, 0 |
|
.text:0000000000401150 |
|
.text:0000000000401150 loc_401150: ; CODE XREF: sub_401100+49↑j |
|
.text:0000000000401150 pop rbp |
|
.text:0000000000401151 retn |
|
.text:0000000000401151 ; } // starts at 401100 |
|
.text:0000000000401151 sub_401100 endp |
|
.text:0000000000401151 |
|
.text:0000000000401152 |
|
.text:0000000000401152 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401152 |
|
.text:0000000000401152 ; Attributes: bp-based frame |
|
.text:0000000000401152 |
|
.text:0000000000401152 sub_401152 proc near ; CODE XREF: sub_4036FC+5FD↓p |
|
.text:0000000000401152 |
|
.text:0000000000401152 var_10 = qword ptr -10h |
|
.text:0000000000401152 var_8 = qword ptr -8 |
|
.text:0000000000401152 |
|
.text:0000000000401152 ; __unwind { |
|
.text:0000000000401152 push rbp |
|
.text:0000000000401153 mov rbp, rsp |
|
.text:0000000000401156 mov [rbp+var_8], rdi |
|
.text:000000000040115A mov [rbp+var_10], rsi |
|
.text:000000000040115E mov rax, [rbp+var_8] |
|
.text:0000000000401162 movzx eax, word ptr [rax+3Ah] |
|
.text:0000000000401166 mov edx, eax |
|
.text:0000000000401168 mov rax, [rbp+var_10] |
|
.text:000000000040116C movzx eax, word ptr [rax+42h] |
|
.text:0000000000401170 imul eax, edx |
|
.text:0000000000401173 cmp ax, 0D529h |
|
.text:0000000000401177 jnz short loc_40119C |
|
.text:0000000000401179 mov rax, [rbp+var_8] |
|
.text:000000000040117D movzx eax, word ptr [rax+3Ah] |
|
.text:0000000000401181 mov edx, eax |
|
.text:0000000000401183 mov rax, [rbp+var_10] |
|
.text:0000000000401187 movzx eax, word ptr [rax+42h] |
|
.text:000000000040118B sub edx, eax |
|
.text:000000000040118D mov eax, edx |
|
.text:000000000040118F cmp ax, 40h |
|
.text:0000000000401193 jnz short loc_40119C |
|
.text:0000000000401195 mov eax, 1 |
|
.text:000000000040119A jmp short loc_4011A1 |
|
.text:000000000040119C ; --------------------------------------------------------------------------- |
|
.text:000000000040119C |
|
.text:000000000040119C loc_40119C: ; CODE XREF: sub_401152+25↑j |
|
.text:000000000040119C ; sub_401152+41↑j |
|
.text:000000000040119C mov eax, 0 |
|
.text:00000000004011A1 |
|
.text:00000000004011A1 loc_4011A1: ; CODE XREF: sub_401152+48↑j |
|
.text:00000000004011A1 pop rbp |
|
.text:00000000004011A2 retn |
|
.text:00000000004011A2 ; } // starts at 401152 |
|
.text:00000000004011A2 sub_401152 endp |
|
.text:00000000004011A2 |
|
.text:00000000004011A3 |
|
.text:00000000004011A3 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004011A3 |
|
.text:00000000004011A3 ; Attributes: bp-based frame |
|
.text:00000000004011A3 |
|
.text:00000000004011A3 sub_4011A3 proc near ; CODE XREF: sub_4036FC+61C↓p |
|
.text:00000000004011A3 |
|
.text:00000000004011A3 var_10 = qword ptr -10h |
|
.text:00000000004011A3 var_8 = qword ptr -8 |
|
.text:00000000004011A3 |
|
.text:00000000004011A3 ; __unwind { |
|
.text:00000000004011A3 push rbp |
|
.text:00000000004011A4 mov rbp, rsp |
|
.text:00000000004011A7 mov [rbp+var_8], rdi |
|
.text:00000000004011AB mov [rbp+var_10], rsi |
|
.text:00000000004011AF mov rax, [rbp+var_8] |
|
.text:00000000004011B3 movzx eax, word ptr [rax+3Ah] |
|
.text:00000000004011B7 mov edx, eax |
|
.text:00000000004011B9 mov rax, [rbp+var_10] |
|
.text:00000000004011BD movzx eax, word ptr [rax+4Ch] |
|
.text:00000000004011C1 add eax, edx |
|
.text:00000000004011C3 cmp ax, 6FE1h |
|
.text:00000000004011C7 jnz short loc_4011EC |
|
.text:00000000004011C9 mov rax, [rbp+var_8] |
|
.text:00000000004011CD movzx eax, word ptr [rax+3Ah] |
|
.text:00000000004011D1 mov edx, eax |
|
.text:00000000004011D3 mov rax, [rbp+var_10] |
|
.text:00000000004011D7 movzx eax, word ptr [rax+4Ch] |
|
.text:00000000004011DB sub edx, eax |
|
.text:00000000004011DD mov eax, edx |
|
.text:00000000004011DF cmp ax, 5AF9h |
|
.text:00000000004011E3 jnz short loc_4011EC |
|
.text:00000000004011E5 mov eax, 1 |
|
.text:00000000004011EA jmp short loc_4011F1 |
|
.text:00000000004011EC ; --------------------------------------------------------------------------- |
|
.text:00000000004011EC |
|
.text:00000000004011EC loc_4011EC: ; CODE XREF: sub_4011A3+24↑j |
|
.text:00000000004011EC ; sub_4011A3+40↑j |
|
.text:00000000004011EC mov eax, 0 |
|
.text:00000000004011F1 |
|
.text:00000000004011F1 loc_4011F1: ; CODE XREF: sub_4011A3+47↑j |
|
.text:00000000004011F1 pop rbp |
|
.text:00000000004011F2 retn |
|
.text:00000000004011F2 ; } // starts at 4011A3 |
|
.text:00000000004011F2 sub_4011A3 endp |
|
.text:00000000004011F2 |
|
.text:00000000004011F3 |
|
.text:00000000004011F3 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004011F3 |
|
.text:00000000004011F3 ; Attributes: bp-based frame |
|
.text:00000000004011F3 |
|
.text:00000000004011F3 sub_4011F3 proc near ; CODE XREF: sub_4036FC+63B↓p |
|
.text:00000000004011F3 |
|
.text:00000000004011F3 var_10 = qword ptr -10h |
|
.text:00000000004011F3 var_8 = qword ptr -8 |
|
.text:00000000004011F3 |
|
.text:00000000004011F3 ; __unwind { |
|
.text:00000000004011F3 push rbp |
|
.text:00000000004011F4 mov rbp, rsp |
|
.text:00000000004011F7 mov [rbp+var_8], rdi |
|
.text:00000000004011FB mov [rbp+var_10], rsi |
|
.text:00000000004011FF mov rax, [rbp+var_8] |
|
.text:0000000000401203 movzx edx, byte ptr [rax+2Dh] |
|
.text:0000000000401207 mov rax, [rbp+var_10] |
|
.text:000000000040120B movzx eax, byte ptr [rax+52h] |
|
.text:000000000040120F cmp dl, al |
|
.text:0000000000401211 jnz short loc_401237 |
|
.text:0000000000401213 mov rax, [rbp+var_8] |
|
.text:0000000000401217 movzx eax, byte ptr [rax+2Dh] |
|
.text:000000000040121B mov ecx, eax |
|
.text:000000000040121D mov rax, [rbp+var_10] |
|
.text:0000000000401221 movzx eax, byte ptr [rax+52h] |
|
.text:0000000000401225 mov edx, eax |
|
.text:0000000000401227 mov eax, ecx |
|
.text:0000000000401229 imul eax, edx |
|
.text:000000000040122C cmp al, 44h |
|
.text:000000000040122E jnz short loc_401237 |
|
.text:0000000000401230 mov eax, 1 |
|
.text:0000000000401235 jmp short loc_40123C |
|
.text:0000000000401237 ; --------------------------------------------------------------------------- |
|
.text:0000000000401237 |
|
.text:0000000000401237 loc_401237: ; CODE XREF: sub_4011F3+1E↑j |
|
.text:0000000000401237 ; sub_4011F3+3B↑j |
|
.text:0000000000401237 mov eax, 0 |
|
.text:000000000040123C |
|
.text:000000000040123C loc_40123C: ; CODE XREF: sub_4011F3+42↑j |
|
.text:000000000040123C pop rbp |
|
.text:000000000040123D retn |
|
.text:000000000040123D ; } // starts at 4011F3 |
|
.text:000000000040123D sub_4011F3 endp |
|
.text:000000000040123D |
|
.text:000000000040123E |
|
.text:000000000040123E ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040123E |
|
.text:000000000040123E ; Attributes: bp-based frame |
|
.text:000000000040123E |
|
.text:000000000040123E sub_40123E proc near ; CODE XREF: sub_4036FC+65A↓p |
|
.text:000000000040123E |
|
.text:000000000040123E var_10 = qword ptr -10h |
|
.text:000000000040123E var_8 = qword ptr -8 |
|
.text:000000000040123E |
|
.text:000000000040123E ; __unwind { |
|
.text:000000000040123E push rbp |
|
.text:000000000040123F mov rbp, rsp |
|
.text:0000000000401242 mov [rbp+var_8], rdi |
|
.text:0000000000401246 mov [rbp+var_10], rsi |
|
.text:000000000040124A mov rax, [rbp+var_8] |
|
.text:000000000040124E movzx eax, word ptr [rax+3Eh] |
|
.text:0000000000401252 mov edx, eax |
|
.text:0000000000401254 mov rax, [rbp+var_10] |
|
.text:0000000000401258 movzx eax, word ptr [rax+40h] |
|
.text:000000000040125C imul eax, edx |
|
.text:000000000040125F cmp ax, 0F3A2h |
|
.text:0000000000401263 jnz short loc_401286 |
|
.text:0000000000401265 mov rax, [rbp+var_8] |
|
.text:0000000000401269 movzx eax, word ptr [rax+3Eh] |
|
.text:000000000040126D mov edx, eax |
|
.text:000000000040126F mov rax, [rbp+var_10] |
|
.text:0000000000401273 movzx eax, word ptr [rax+40h] |
|
.text:0000000000401277 add eax, edx |
|
.text:0000000000401279 cmp ax, 0C6D1h |
|
.text:000000000040127D jnz short loc_401286 |
|
.text:000000000040127F mov eax, 1 |
|
.text:0000000000401284 jmp short loc_40128B |
|
.text:0000000000401286 ; --------------------------------------------------------------------------- |
|
.text:0000000000401286 |
|
.text:0000000000401286 loc_401286: ; CODE XREF: sub_40123E+25↑j |
|
.text:0000000000401286 ; sub_40123E+3F↑j |
|
.text:0000000000401286 mov eax, 0 |
|
.text:000000000040128B |
|
.text:000000000040128B loc_40128B: ; CODE XREF: sub_40123E+46↑j |
|
.text:000000000040128B pop rbp |
|
.text:000000000040128C retn |
|
.text:000000000040128C ; } // starts at 40123E |
|
.text:000000000040128C sub_40123E endp |
|
.text:000000000040128C |
|
.text:000000000040128D |
|
.text:000000000040128D ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040128D |
|
.text:000000000040128D ; Attributes: bp-based frame |
|
.text:000000000040128D |
|
.text:000000000040128D sub_40128D proc near ; CODE XREF: sub_4036FC+679↓p |
|
.text:000000000040128D |
|
.text:000000000040128D var_10 = qword ptr -10h |
|
.text:000000000040128D var_8 = qword ptr -8 |
|
.text:000000000040128D |
|
.text:000000000040128D ; __unwind { |
|
.text:000000000040128D push rbp |
|
.text:000000000040128E mov rbp, rsp |
|
.text:0000000000401291 mov [rbp+var_8], rdi |
|
.text:0000000000401295 mov [rbp+var_10], rsi |
|
.text:0000000000401299 mov rax, [rbp+var_8] |
|
.text:000000000040129D mov edx, [rax+3Eh] |
|
.text:00000000004012A0 mov rax, [rbp+var_10] |
|
.text:00000000004012A4 mov eax, [rax+44h] |
|
.text:00000000004012A7 sub edx, eax |
|
.text:00000000004012A9 mov eax, edx |
|
.text:00000000004012AB cmp eax, 0F901FFF9h |
|
.text:00000000004012B0 jnz short loc_4012D0 |
|
.text:00000000004012B2 mov rax, [rbp+var_8] |
|
.text:00000000004012B6 mov edx, [rax+3Eh] |
|
.text:00000000004012B9 mov rax, [rbp+var_10] |
|
.text:00000000004012BD mov eax, [rax+44h] |
|
.text:00000000004012C0 add eax, edx |
|
.text:00000000004012C2 cmp eax, 0D1D4C2D3h |
|
.text:00000000004012C7 jnz short loc_4012D0 |
|
.text:00000000004012C9 mov eax, 1 |
|
.text:00000000004012CE jmp short loc_4012D5 |
|
.text:00000000004012D0 ; --------------------------------------------------------------------------- |
|
.text:00000000004012D0 |
|
.text:00000000004012D0 loc_4012D0: ; CODE XREF: sub_40128D+23↑j |
|
.text:00000000004012D0 ; sub_40128D+3A↑j |
|
.text:00000000004012D0 mov eax, 0 |
|
.text:00000000004012D5 |
|
.text:00000000004012D5 loc_4012D5: ; CODE XREF: sub_40128D+41↑j |
|
.text:00000000004012D5 pop rbp |
|
.text:00000000004012D6 retn |
|
.text:00000000004012D6 ; } // starts at 40128D |
|
.text:00000000004012D6 sub_40128D endp |
|
.text:00000000004012D6 |
|
.text:00000000004012D7 |
|
.text:00000000004012D7 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004012D7 |
|
.text:00000000004012D7 ; Attributes: bp-based frame |
|
.text:00000000004012D7 |
|
.text:00000000004012D7 sub_4012D7 proc near ; CODE XREF: sub_4036FC+698↓p |
|
.text:00000000004012D7 |
|
.text:00000000004012D7 var_10 = qword ptr -10h |
|
.text:00000000004012D7 var_8 = qword ptr -8 |
|
.text:00000000004012D7 |
|
.text:00000000004012D7 ; __unwind { |
|
.text:00000000004012D7 push rbp |
|
.text:00000000004012D8 mov rbp, rsp |
|
.text:00000000004012DB mov [rbp+var_8], rdi |
|
.text:00000000004012DF mov [rbp+var_10], rsi |
|
.text:00000000004012E3 mov rax, [rbp+var_8] |
|
.text:00000000004012E7 movzx eax, word ptr [rax+44h] |
|
.text:00000000004012EB mov edx, eax |
|
.text:00000000004012ED mov rax, [rbp+var_10] |
|
.text:00000000004012F1 movzx eax, word ptr [rax+4Ch] |
|
.text:00000000004012F5 imul eax, edx |
|
.text:00000000004012F8 cmp ax, 6764h |
|
.text:00000000004012FC jnz short loc_40131F |
|
.text:00000000004012FE mov rax, [rbp+var_8] |
|
.text:0000000000401302 movzx eax, word ptr [rax+44h] |
|
.text:0000000000401306 mov edx, eax |
|
.text:0000000000401308 mov rax, [rbp+var_10] |
|
.text:000000000040130C movzx eax, word ptr [rax+4Ch] |
|
.text:0000000000401310 add eax, edx |
|
.text:0000000000401312 cmp ax, 6BE1h |
|
.text:0000000000401316 jnz short loc_40131F |
|
.text:0000000000401318 mov eax, 1 |
|
.text:000000000040131D jmp short loc_401324 |
|
.text:000000000040131F ; --------------------------------------------------------------------------- |
|
.text:000000000040131F |
|
.text:000000000040131F loc_40131F: ; CODE XREF: sub_4012D7+25↑j |
|
.text:000000000040131F ; sub_4012D7+3F↑j |
|
.text:000000000040131F mov eax, 0 |
|
.text:0000000000401324 |
|
.text:0000000000401324 loc_401324: ; CODE XREF: sub_4012D7+46↑j |
|
.text:0000000000401324 pop rbp |
|
.text:0000000000401325 retn |
|
.text:0000000000401325 ; } // starts at 4012D7 |
|
.text:0000000000401325 sub_4012D7 endp |
|
.text:0000000000401325 |
|
.text:0000000000401326 |
|
.text:0000000000401326 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401326 |
|
.text:0000000000401326 ; Attributes: bp-based frame |
|
.text:0000000000401326 |
|
.text:0000000000401326 sub_401326 proc near ; CODE XREF: sub_4036FC+6B7↓p |
|
.text:0000000000401326 |
|
.text:0000000000401326 var_10 = qword ptr -10h |
|
.text:0000000000401326 var_8 = qword ptr -8 |
|
.text:0000000000401326 |
|
.text:0000000000401326 ; __unwind { |
|
.text:0000000000401326 push rbp |
|
.text:0000000000401327 mov rbp, rsp |
|
.text:000000000040132A mov [rbp+var_8], rdi |
|
.text:000000000040132E mov [rbp+var_10], rsi |
|
.text:0000000000401332 mov rax, [rbp+var_8] |
|
.text:0000000000401336 movzx eax, byte ptr [rax+43h] |
|
.text:000000000040133A mov edx, eax |
|
.text:000000000040133C mov rax, [rbp+var_10] |
|
.text:0000000000401340 movzx eax, byte ptr [rax+4Eh] |
|
.text:0000000000401344 sub edx, eax |
|
.text:0000000000401346 mov eax, edx |
|
.text:0000000000401348 cmp al, 37h |
|
.text:000000000040134A jnz short loc_401370 |
|
.text:000000000040134C mov rax, [rbp+var_8] |
|
.text:0000000000401350 movzx eax, byte ptr [rax+43h] |
|
.text:0000000000401354 mov ecx, eax |
|
.text:0000000000401356 mov rax, [rbp+var_10] |
|
.text:000000000040135A movzx eax, byte ptr [rax+4Eh] |
|
.text:000000000040135E mov edx, eax |
|
.text:0000000000401360 mov eax, ecx |
|
.text:0000000000401362 imul eax, edx |
|
.text:0000000000401365 cmp al, 26h |
|
.text:0000000000401367 jnz short loc_401370 |
|
.text:0000000000401369 mov eax, 1 |
|
.text:000000000040136E jmp short loc_401375 |
|
.text:0000000000401370 ; --------------------------------------------------------------------------- |
|
.text:0000000000401370 |
|
.text:0000000000401370 loc_401370: ; CODE XREF: sub_401326+24↑j |
|
.text:0000000000401370 ; sub_401326+41↑j |
|
.text:0000000000401370 mov eax, 0 |
|
.text:0000000000401375 |
|
.text:0000000000401375 loc_401375: ; CODE XREF: sub_401326+48↑j |
|
.text:0000000000401375 pop rbp |
|
.text:0000000000401376 retn |
|
.text:0000000000401376 ; } // starts at 401326 |
|
.text:0000000000401376 sub_401326 endp |
|
.text:0000000000401376 |
|
.text:0000000000401377 |
|
.text:0000000000401377 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401377 |
|
.text:0000000000401377 ; Attributes: bp-based frame |
|
.text:0000000000401377 |
|
.text:0000000000401377 sub_401377 proc near ; CODE XREF: sub_4036FC+6D6↓p |
|
.text:0000000000401377 |
|
.text:0000000000401377 var_10 = qword ptr -10h |
|
.text:0000000000401377 var_8 = qword ptr -8 |
|
.text:0000000000401377 |
|
.text:0000000000401377 ; __unwind { |
|
.text:0000000000401377 push rbp |
|
.text:0000000000401378 mov rbp, rsp |
|
.text:000000000040137B mov [rbp+var_8], rdi |
|
.text:000000000040137F mov [rbp+var_10], rsi |
|
.text:0000000000401383 mov rax, [rbp+var_8] |
|
.text:0000000000401387 movzx eax, word ptr [rax+46h] |
|
.text:000000000040138B mov edx, eax |
|
.text:000000000040138D mov rax, [rbp+var_10] |
|
.text:0000000000401391 movzx eax, word ptr [rax+50h] |
|
.text:0000000000401395 sub edx, eax |
|
.text:0000000000401397 mov eax, edx |
|
.text:0000000000401399 cmp ax, 3E3Bh |
|
.text:000000000040139D jnz short loc_4013C0 |
|
.text:000000000040139F mov rax, [rbp+var_8] |
|
.text:00000000004013A3 movzx eax, word ptr [rax+46h] |
|
.text:00000000004013A7 mov edx, eax |
|
.text:00000000004013A9 mov rax, [rbp+var_10] |
|
.text:00000000004013AD movzx eax, word ptr [rax+50h] |
|
.text:00000000004013B1 add eax, edx |
|
.text:00000000004013B3 cmp ax, 9A97h |
|
.text:00000000004013B7 jnz short loc_4013C0 |
|
.text:00000000004013B9 mov eax, 1 |
|
.text:00000000004013BE jmp short loc_4013C5 |
|
.text:00000000004013C0 ; --------------------------------------------------------------------------- |
|
.text:00000000004013C0 |
|
.text:00000000004013C0 loc_4013C0: ; CODE XREF: sub_401377+26↑j |
|
.text:00000000004013C0 ; sub_401377+40↑j |
|
.text:00000000004013C0 mov eax, 0 |
|
.text:00000000004013C5 |
|
.text:00000000004013C5 loc_4013C5: ; CODE XREF: sub_401377+47↑j |
|
.text:00000000004013C5 pop rbp |
|
.text:00000000004013C6 retn |
|
.text:00000000004013C6 ; } // starts at 401377 |
|
.text:00000000004013C6 sub_401377 endp |
|
.text:00000000004013C6 |
|
.text:00000000004013C7 |
|
.text:00000000004013C7 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004013C7 |
|
.text:00000000004013C7 ; Attributes: bp-based frame |
|
.text:00000000004013C7 |
|
.text:00000000004013C7 sub_4013C7 proc near ; CODE XREF: sub_4036FC+6F5↓p |
|
.text:00000000004013C7 |
|
.text:00000000004013C7 var_10 = qword ptr -10h |
|
.text:00000000004013C7 var_8 = qword ptr -8 |
|
.text:00000000004013C7 |
|
.text:00000000004013C7 ; __unwind { |
|
.text:00000000004013C7 push rbp |
|
.text:00000000004013C8 mov rbp, rsp |
|
.text:00000000004013CB mov [rbp+var_8], rdi |
|
.text:00000000004013CF mov [rbp+var_10], rsi |
|
.text:00000000004013D3 mov rax, [rbp+var_8] |
|
.text:00000000004013D7 movzx eax, word ptr [rax+50h] |
|
.text:00000000004013DB cwde |
|
.text:00000000004013DC mov rdx, [rbp+var_10] |
|
.text:00000000004013E0 movzx edx, word ptr [rdx+52h] |
|
.text:00000000004013E4 movsx ecx, dx |
|
.text:00000000004013E7 cdq |
|
.text:00000000004013E8 idiv ecx |
|
.text:00000000004013EA cmp ax, 1 |
|
.text:00000000004013EE jnz short loc_401412 |
|
.text:00000000004013F0 mov rax, [rbp+var_8] |
|
.text:00000000004013F4 movzx eax, word ptr [rax+50h] |
|
.text:00000000004013F8 mov edx, eax |
|
.text:00000000004013FA mov rax, [rbp+var_10] |
|
.text:00000000004013FE movzx eax, word ptr [rax+52h] |
|
.text:0000000000401402 imul eax, edx |
|
.text:0000000000401405 cmp ax, 9044h |
|
.text:0000000000401409 jnz short loc_401412 |
|
.text:000000000040140B mov eax, 1 |
|
.text:0000000000401410 jmp short loc_401417 |
|
.text:0000000000401412 ; --------------------------------------------------------------------------- |
|
.text:0000000000401412 |
|
.text:0000000000401412 loc_401412: ; CODE XREF: sub_4013C7+27↑j |
|
.text:0000000000401412 ; sub_4013C7+42↑j |
|
.text:0000000000401412 mov eax, 0 |
|
.text:0000000000401417 |
|
.text:0000000000401417 loc_401417: ; CODE XREF: sub_4013C7+49↑j |
|
.text:0000000000401417 pop rbp |
|
.text:0000000000401418 retn |
|
.text:0000000000401418 ; } // starts at 4013C7 |
|
.text:0000000000401418 sub_4013C7 endp |
|
.text:0000000000401418 |
|
.text:0000000000401419 |
|
.text:0000000000401419 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401419 |
|
.text:0000000000401419 ; Attributes: bp-based frame |
|
.text:0000000000401419 |
|
.text:0000000000401419 sub_401419 proc near ; CODE XREF: sub_4036FC+714↓p |
|
.text:0000000000401419 |
|
.text:0000000000401419 var_10 = qword ptr -10h |
|
.text:0000000000401419 var_8 = qword ptr -8 |
|
.text:0000000000401419 |
|
.text:0000000000401419 ; __unwind { |
|
.text:0000000000401419 push rbp |
|
.text:000000000040141A mov rbp, rsp |
|
.text:000000000040141D mov [rbp+var_8], rdi |
|
.text:0000000000401421 mov [rbp+var_10], rsi |
|
.text:0000000000401425 mov rax, [rbp+var_8] |
|
.text:0000000000401429 movzx eax, byte ptr [rax+54h] |
|
.text:000000000040142D mov edx, eax |
|
.text:000000000040142F mov rax, [rbp+var_10] |
|
.text:0000000000401433 movzx eax, byte ptr [rax+55h] |
|
.text:0000000000401437 sub edx, eax |
|
.text:0000000000401439 mov eax, edx |
|
.text:000000000040143B cmp al, 0EFh |
|
.text:000000000040143D jnz short loc_401463 |
|
.text:000000000040143F mov rax, [rbp+var_8] |
|
.text:0000000000401443 movzx eax, byte ptr [rax+54h] |
|
.text:0000000000401447 movsx eax, al |
|
.text:000000000040144A mov rdx, [rbp+var_10] |
|
.text:000000000040144E movzx edx, byte ptr [rdx+55h] |
|
.text:0000000000401452 movsx ecx, dl |
|
.text:0000000000401455 cdq |
|
.text:0000000000401456 idiv ecx |
|
.text:0000000000401458 test al, al |
|
.text:000000000040145A jnz short loc_401463 |
|
.text:000000000040145C mov eax, 1 |
|
.text:0000000000401461 jmp short loc_401468 |
|
.text:0000000000401463 ; --------------------------------------------------------------------------- |
|
.text:0000000000401463 |
|
.text:0000000000401463 loc_401463: ; CODE XREF: sub_401419+24↑j |
|
.text:0000000000401463 ; sub_401419+41↑j |
|
.text:0000000000401463 mov eax, 0 |
|
.text:0000000000401468 |
|
.text:0000000000401468 loc_401468: ; CODE XREF: sub_401419+48↑j |
|
.text:0000000000401468 pop rbp |
|
.text:0000000000401469 retn |
|
.text:0000000000401469 ; } // starts at 401419 |
|
.text:0000000000401469 sub_401419 endp |
|
.text:0000000000401469 |
|
.text:000000000040146A |
|
.text:000000000040146A ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040146A |
|
.text:000000000040146A ; Attributes: bp-based frame |
|
.text:000000000040146A |
|
.text:000000000040146A sub_40146A proc near ; CODE XREF: sub_4036FC+733↓p |
|
.text:000000000040146A |
|
.text:000000000040146A var_10 = qword ptr -10h |
|
.text:000000000040146A var_8 = qword ptr -8 |
|
.text:000000000040146A |
|
.text:000000000040146A ; __unwind { |
|
.text:000000000040146A push rbp |
|
.text:000000000040146B mov rbp, rsp |
|
.text:000000000040146E mov [rbp+var_8], rdi |
|
.text:0000000000401472 mov [rbp+var_10], rsi |
|
.text:0000000000401476 mov rax, [rbp+var_8] |
|
.text:000000000040147A movzx eax, byte ptr [rax+48h] |
|
.text:000000000040147E mov edx, eax |
|
.text:0000000000401480 mov rax, [rbp+var_10] |
|
.text:0000000000401484 movzx eax, byte ptr [rax+5Ch] |
|
.text:0000000000401488 add eax, edx |
|
.text:000000000040148A cmp al, 0A7h |
|
.text:000000000040148C jnz short loc_4014B2 |
|
.text:000000000040148E mov rax, [rbp+var_8] |
|
.text:0000000000401492 movzx eax, byte ptr [rax+48h] |
|
.text:0000000000401496 mov ecx, eax |
|
.text:0000000000401498 mov rax, [rbp+var_10] |
|
.text:000000000040149C movzx eax, byte ptr [rax+5Ch] |
|
.text:00000000004014A0 mov edx, eax |
|
.text:00000000004014A2 mov eax, ecx |
|
.text:00000000004014A4 imul eax, edx |
|
.text:00000000004014A7 cmp al, 0BEh |
|
.text:00000000004014A9 jnz short loc_4014B2 |
|
.text:00000000004014AB mov eax, 1 |
|
.text:00000000004014B0 jmp short loc_4014B7 |
|
.text:00000000004014B2 ; --------------------------------------------------------------------------- |
|
.text:00000000004014B2 |
|
.text:00000000004014B2 loc_4014B2: ; CODE XREF: sub_40146A+22↑j |
|
.text:00000000004014B2 ; sub_40146A+3F↑j |
|
.text:00000000004014B2 mov eax, 0 |
|
.text:00000000004014B7 |
|
.text:00000000004014B7 loc_4014B7: ; CODE XREF: sub_40146A+46↑j |
|
.text:00000000004014B7 pop rbp |
|
.text:00000000004014B8 retn |
|
.text:00000000004014B8 ; } // starts at 40146A |
|
.text:00000000004014B8 sub_40146A endp |
|
.text:00000000004014B8 |
|
.text:00000000004014B9 |
|
.text:00000000004014B9 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004014B9 |
|
.text:00000000004014B9 ; Attributes: bp-based frame |
|
.text:00000000004014B9 |
|
.text:00000000004014B9 sub_4014B9 proc near ; CODE XREF: sub_4036FC+752↓p |
|
.text:00000000004014B9 |
|
.text:00000000004014B9 var_10 = qword ptr -10h |
|
.text:00000000004014B9 var_8 = qword ptr -8 |
|
.text:00000000004014B9 |
|
.text:00000000004014B9 ; __unwind { |
|
.text:00000000004014B9 push rbp |
|
.text:00000000004014BA mov rbp, rsp |
|
.text:00000000004014BD mov [rbp+var_8], rdi |
|
.text:00000000004014C1 mov [rbp+var_10], rsi |
|
.text:00000000004014C5 mov rax, [rbp+var_8] |
|
.text:00000000004014C9 movzx eax, byte ptr [rax+48h] |
|
.text:00000000004014CD mov edx, eax |
|
.text:00000000004014CF mov rax, [rbp+var_10] |
|
.text:00000000004014D3 movzx eax, byte ptr [rax+5Dh] |
|
.text:00000000004014D7 sub edx, eax |
|
.text:00000000004014D9 mov eax, edx |
|
.text:00000000004014DB cmp al, 0BFh |
|
.text:00000000004014DD jnz short loc_401503 |
|
.text:00000000004014DF mov rax, [rbp+var_8] |
|
.text:00000000004014E3 movzx eax, byte ptr [rax+48h] |
|
.text:00000000004014E7 mov ecx, eax |
|
.text:00000000004014E9 mov rax, [rbp+var_10] |
|
.text:00000000004014ED movzx eax, byte ptr [rax+5Dh] |
|
.text:00000000004014F1 mov edx, eax |
|
.text:00000000004014F3 mov eax, ecx |
|
.text:00000000004014F5 imul eax, edx |
|
.text:00000000004014F8 cmp al, 0F2h |
|
.text:00000000004014FA jnz short loc_401503 |
|
.text:00000000004014FC mov eax, 1 |
|
.text:0000000000401501 jmp short loc_401508 |
|
.text:0000000000401503 ; --------------------------------------------------------------------------- |
|
.text:0000000000401503 |
|
.text:0000000000401503 loc_401503: ; CODE XREF: sub_4014B9+24↑j |
|
.text:0000000000401503 ; sub_4014B9+41↑j |
|
.text:0000000000401503 mov eax, 0 |
|
.text:0000000000401508 |
|
.text:0000000000401508 loc_401508: ; CODE XREF: sub_4014B9+48↑j |
|
.text:0000000000401508 pop rbp |
|
.text:0000000000401509 retn |
|
.text:0000000000401509 ; } // starts at 4014B9 |
|
.text:0000000000401509 sub_4014B9 endp |
|
.text:0000000000401509 |
|
.text:000000000040150A |
|
.text:000000000040150A ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040150A |
|
.text:000000000040150A ; Attributes: bp-based frame |
|
.text:000000000040150A |
|
.text:000000000040150A sub_40150A proc near ; CODE XREF: sub_4036FC+771↓p |
|
.text:000000000040150A |
|
.text:000000000040150A var_10 = qword ptr -10h |
|
.text:000000000040150A var_8 = qword ptr -8 |
|
.text:000000000040150A |
|
.text:000000000040150A ; __unwind { |
|
.text:000000000040150A push rbp |
|
.text:000000000040150B mov rbp, rsp |
|
.text:000000000040150E mov [rbp+var_8], rdi |
|
.text:0000000000401512 mov [rbp+var_10], rsi |
|
.text:0000000000401516 mov rax, [rbp+var_8] |
|
.text:000000000040151A movzx eax, word ptr [rax+4Eh] |
|
.text:000000000040151E mov edx, eax |
|
.text:0000000000401520 mov rax, [rbp+var_10] |
|
.text:0000000000401524 movzx eax, word ptr [rax+4Ah] |
|
.text:0000000000401528 sub edx, eax |
|
.text:000000000040152A mov eax, edx |
|
.text:000000000040152C cmp ax, 0BAC9h |
|
.text:0000000000401530 jnz short loc_401553 |
|
.text:0000000000401532 mov rax, [rbp+var_8] |
|
.text:0000000000401536 movzx eax, word ptr [rax+4Eh] |
|
.text:000000000040153A mov edx, eax |
|
.text:000000000040153C mov rax, [rbp+var_10] |
|
.text:0000000000401540 movzx eax, word ptr [rax+4Ah] |
|
.text:0000000000401544 add eax, edx |
|
.text:0000000000401546 cmp ax, 0A193h |
|
.text:000000000040154A jnz short loc_401553 |
|
.text:000000000040154C mov eax, 1 |
|
.text:0000000000401551 jmp short loc_401558 |
|
.text:0000000000401553 ; --------------------------------------------------------------------------- |
|
.text:0000000000401553 |
|
.text:0000000000401553 loc_401553: ; CODE XREF: sub_40150A+26↑j |
|
.text:0000000000401553 ; sub_40150A+40↑j |
|
.text:0000000000401553 mov eax, 0 |
|
.text:0000000000401558 |
|
.text:0000000000401558 loc_401558: ; CODE XREF: sub_40150A+47↑j |
|
.text:0000000000401558 pop rbp |
|
.text:0000000000401559 retn |
|
.text:0000000000401559 ; } // starts at 40150A |
|
.text:0000000000401559 sub_40150A endp |
|
.text:0000000000401559 |
|
.text:000000000040155A |
|
.text:000000000040155A ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040155A |
|
.text:000000000040155A ; Attributes: bp-based frame |
|
.text:000000000040155A |
|
.text:000000000040155A sub_40155A proc near ; CODE XREF: sub_4036FC+790↓p |
|
.text:000000000040155A |
|
.text:000000000040155A var_10 = qword ptr -10h |
|
.text:000000000040155A var_8 = qword ptr -8 |
|
.text:000000000040155A |
|
.text:000000000040155A ; __unwind { |
|
.text:000000000040155A push rbp |
|
.text:000000000040155B mov rbp, rsp |
|
.text:000000000040155E mov [rbp+var_8], rdi |
|
.text:0000000000401562 mov [rbp+var_10], rsi |
|
.text:0000000000401566 mov rax, [rbp+var_8] |
|
.text:000000000040156A movzx eax, word ptr [rax+56h] |
|
.text:000000000040156E mov edx, eax |
|
.text:0000000000401570 mov rax, [rbp+var_10] |
|
.text:0000000000401574 movzx eax, word ptr [rax+4Ah] |
|
.text:0000000000401578 imul eax, edx |
|
.text:000000000040157B cmp ax, 7D45h |
|
.text:000000000040157F jnz short loc_4015A5 |
|
.text:0000000000401581 mov rax, [rbp+var_8] |
|
.text:0000000000401585 movzx eax, word ptr [rax+56h] |
|
.text:0000000000401589 cwde |
|
.text:000000000040158A mov rdx, [rbp+var_10] |
|
.text:000000000040158E movzx edx, word ptr [rdx+4Ah] |
|
.text:0000000000401592 movsx ecx, dx |
|
.text:0000000000401595 cdq |
|
.text:0000000000401596 idiv ecx |
|
.text:0000000000401598 cmp ax, 1 |
|
.text:000000000040159C jnz short loc_4015A5 |
|
.text:000000000040159E mov eax, 1 |
|
.text:00000000004015A3 jmp short loc_4015AA |
|
.text:00000000004015A5 ; --------------------------------------------------------------------------- |
|
.text:00000000004015A5 |
|
.text:00000000004015A5 loc_4015A5: ; CODE XREF: sub_40155A+25↑j |
|
.text:00000000004015A5 ; sub_40155A+42↑j |
|
.text:00000000004015A5 mov eax, 0 |
|
.text:00000000004015AA |
|
.text:00000000004015AA loc_4015AA: ; CODE XREF: sub_40155A+49↑j |
|
.text:00000000004015AA pop rbp |
|
.text:00000000004015AB retn |
|
.text:00000000004015AB ; } // starts at 40155A |
|
.text:00000000004015AB sub_40155A endp |
|
.text:00000000004015AB |
|
.text:00000000004015AC |
|
.text:00000000004015AC ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004015AC |
|
.text:00000000004015AC ; Attributes: bp-based frame |
|
.text:00000000004015AC |
|
.text:00000000004015AC sub_4015AC proc near ; CODE XREF: sub_4036FC+7AF↓p |
|
.text:00000000004015AC |
|
.text:00000000004015AC var_10 = qword ptr -10h |
|
.text:00000000004015AC var_8 = qword ptr -8 |
|
.text:00000000004015AC |
|
.text:00000000004015AC ; __unwind { |
|
.text:00000000004015AC push rbp |
|
.text:00000000004015AD mov rbp, rsp |
|
.text:00000000004015B0 mov [rbp+var_8], rdi |
|
.text:00000000004015B4 mov [rbp+var_10], rsi |
|
.text:00000000004015B8 mov rax, [rbp+var_8] |
|
.text:00000000004015BC movzx eax, byte ptr [rax+4Fh] |
|
.text:00000000004015C0 mov edx, eax |
|
.text:00000000004015C2 mov rax, [rbp+var_10] |
|
.text:00000000004015C6 movzx eax, byte ptr [rax+53h] |
|
.text:00000000004015CA add eax, edx |
|
.text:00000000004015CC cmp al, 5Ch |
|
.text:00000000004015CE jnz short loc_4015EB |
|
.text:00000000004015D0 mov rax, [rbp+var_8] |
|
.text:00000000004015D4 movzx edx, byte ptr [rax+4Fh] |
|
.text:00000000004015D8 mov rax, [rbp+var_10] |
|
.text:00000000004015DC movzx eax, byte ptr [rax+53h] |
|
.text:00000000004015E0 cmp dl, al |
|
.text:00000000004015E2 jnz short loc_4015EB |
|
.text:00000000004015E4 mov eax, 1 |
|
.text:00000000004015E9 jmp short loc_4015F0 |
|
.text:00000000004015EB ; --------------------------------------------------------------------------- |
|
.text:00000000004015EB |
|
.text:00000000004015EB loc_4015EB: ; CODE XREF: sub_4015AC+22↑j |
|
.text:00000000004015EB ; sub_4015AC+36↑j |
|
.text:00000000004015EB mov eax, 0 |
|
.text:00000000004015F0 |
|
.text:00000000004015F0 loc_4015F0: ; CODE XREF: sub_4015AC+3D↑j |
|
.text:00000000004015F0 pop rbp |
|
.text:00000000004015F1 retn |
|
.text:00000000004015F1 ; } // starts at 4015AC |
|
.text:00000000004015F1 sub_4015AC endp |
|
.text:00000000004015F1 |
|
.text:00000000004015F2 |
|
.text:00000000004015F2 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004015F2 |
|
.text:00000000004015F2 ; Attributes: bp-based frame |
|
.text:00000000004015F2 |
|
.text:00000000004015F2 sub_4015F2 proc near ; CODE XREF: sub_4036FC+7CE↓p |
|
.text:00000000004015F2 |
|
.text:00000000004015F2 var_10 = qword ptr -10h |
|
.text:00000000004015F2 var_8 = qword ptr -8 |
|
.text:00000000004015F2 |
|
.text:00000000004015F2 ; __unwind { |
|
.text:00000000004015F2 push rbp |
|
.text:00000000004015F3 mov rbp, rsp |
|
.text:00000000004015F6 mov [rbp+var_8], rdi |
|
.text:00000000004015FA mov [rbp+var_10], rsi |
|
.text:00000000004015FE mov rax, [rbp+var_8] |
|
.text:0000000000401602 movss xmm1, dword ptr [rax+56h] |
|
.text:0000000000401607 mov rax, [rbp+var_10] |
|
.text:000000000040160B movss xmm0, dword ptr [rax+64h] |
|
.text:0000000000401610 mulss xmm0, xmm1 |
|
.text:0000000000401614 ucomiss xmm0, cs:dword_404C58 |
|
.text:000000000040161B jbe short loc_40164C |
|
.text:000000000040161D mov rax, [rbp+var_8] |
|
.text:0000000000401621 movss xmm1, dword ptr [rax+56h] |
|
.text:0000000000401626 mov rax, [rbp+var_10] |
|
.text:000000000040162A movss xmm0, dword ptr [rax+64h] |
|
.text:000000000040162F addss xmm0, xmm1 |
|
.text:0000000000401633 ucomiss xmm0, cs:dword_404C74 |
|
.text:000000000040163A jp short loc_40164C |
|
.text:000000000040163C ucomiss xmm0, cs:dword_404C74 |
|
.text:0000000000401643 jnz short loc_40164C |
|
.text:0000000000401645 mov eax, 1 |
|
.text:000000000040164A jmp short loc_401651 |
|
.text:000000000040164C ; --------------------------------------------------------------------------- |
|
.text:000000000040164C |
|
.text:000000000040164C loc_40164C: ; CODE XREF: sub_4015F2+29↑j |
|
.text:000000000040164C ; sub_4015F2+48↑j ... |
|
.text:000000000040164C mov eax, 0 |
|
.text:0000000000401651 |
|
.text:0000000000401651 loc_401651: ; CODE XREF: sub_4015F2+58↑j |
|
.text:0000000000401651 pop rbp |
|
.text:0000000000401652 retn |
|
.text:0000000000401652 ; } // starts at 4015F2 |
|
.text:0000000000401652 sub_4015F2 endp |
|
.text:0000000000401652 |
|
.text:0000000000401653 |
|
.text:0000000000401653 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401653 |
|
.text:0000000000401653 ; Attributes: bp-based frame |
|
.text:0000000000401653 |
|
.text:0000000000401653 sub_401653 proc near ; CODE XREF: sub_4036FC+7ED↓p |
|
.text:0000000000401653 |
|
.text:0000000000401653 var_10 = qword ptr -10h |
|
.text:0000000000401653 var_8 = qword ptr -8 |
|
.text:0000000000401653 |
|
.text:0000000000401653 ; __unwind { |
|
.text:0000000000401653 push rbp |
|
.text:0000000000401654 mov rbp, rsp |
|
.text:0000000000401657 mov [rbp+var_8], rdi |
|
.text:000000000040165B mov [rbp+var_10], rsi |
|
.text:000000000040165F mov rax, [rbp+var_8] |
|
.text:0000000000401663 movzx eax, byte ptr [rax+54h] |
|
.text:0000000000401667 movsx eax, al |
|
.text:000000000040166A mov rdx, [rbp+var_10] |
|
.text:000000000040166E movzx edx, byte ptr [rdx+5Eh] |
|
.text:0000000000401672 movsx ecx, dl |
|
.text:0000000000401675 cdq |
|
.text:0000000000401676 idiv ecx |
|
.text:0000000000401678 test al, al |
|
.text:000000000040167A jnz short loc_40169D |
|
.text:000000000040167C mov rax, [rbp+var_8] |
|
.text:0000000000401680 movzx eax, byte ptr [rax+54h] |
|
.text:0000000000401684 mov edx, eax |
|
.text:0000000000401686 mov rax, [rbp+var_10] |
|
.text:000000000040168A movzx eax, byte ptr [rax+5Eh] |
|
.text:000000000040168E sub edx, eax |
|
.text:0000000000401690 mov eax, edx |
|
.text:0000000000401692 cmp al, 0E2h |
|
.text:0000000000401694 jnz short loc_40169D |
|
.text:0000000000401696 mov eax, 1 |
|
.text:000000000040169B jmp short loc_4016A2 |
|
.text:000000000040169D ; --------------------------------------------------------------------------- |
|
.text:000000000040169D |
|
.text:000000000040169D loc_40169D: ; CODE XREF: sub_401653+27↑j |
|
.text:000000000040169D ; sub_401653+41↑j |
|
.text:000000000040169D mov eax, 0 |
|
.text:00000000004016A2 |
|
.text:00000000004016A2 loc_4016A2: ; CODE XREF: sub_401653+48↑j |
|
.text:00000000004016A2 pop rbp |
|
.text:00000000004016A3 retn |
|
.text:00000000004016A3 ; } // starts at 401653 |
|
.text:00000000004016A3 sub_401653 endp |
|
.text:00000000004016A3 |
|
.text:00000000004016A4 |
|
.text:00000000004016A4 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004016A4 |
|
.text:00000000004016A4 ; Attributes: bp-based frame |
|
.text:00000000004016A4 |
|
.text:00000000004016A4 sub_4016A4 proc near ; CODE XREF: sub_4036FC+80C↓p |
|
.text:00000000004016A4 |
|
.text:00000000004016A4 var_10 = qword ptr -10h |
|
.text:00000000004016A4 var_8 = qword ptr -8 |
|
.text:00000000004016A4 |
|
.text:00000000004016A4 ; __unwind { |
|
.text:00000000004016A4 push rbp |
|
.text:00000000004016A5 mov rbp, rsp |
|
.text:00000000004016A8 mov [rbp+var_8], rdi |
|
.text:00000000004016AC mov [rbp+var_10], rsi |
|
.text:00000000004016B0 mov rax, [rbp+var_8] |
|
.text:00000000004016B4 movzx eax, byte ptr [rax+55h] |
|
.text:00000000004016B8 mov edx, eax |
|
.text:00000000004016BA mov rax, [rbp+var_10] |
|
.text:00000000004016BE movzx eax, byte ptr [rax+5Eh] |
|
.text:00000000004016C2 add eax, edx |
|
.text:00000000004016C4 cmp al, 0DDh |
|
.text:00000000004016C6 jnz short loc_4016EC |
|
.text:00000000004016C8 mov rax, [rbp+var_8] |
|
.text:00000000004016CC movzx eax, byte ptr [rax+55h] |
|
.text:00000000004016D0 movsx eax, al |
|
.text:00000000004016D3 mov rdx, [rbp+var_10] |
|
.text:00000000004016D7 movzx edx, byte ptr [rdx+5Eh] |
|
.text:00000000004016DB movsx ecx, dl |
|
.text:00000000004016DE cdq |
|
.text:00000000004016DF idiv ecx |
|
.text:00000000004016E1 test al, al |
|
.text:00000000004016E3 jnz short loc_4016EC |
|
.text:00000000004016E5 mov eax, 1 |
|
.text:00000000004016EA jmp short loc_4016F1 |
|
.text:00000000004016EC ; --------------------------------------------------------------------------- |
|
.text:00000000004016EC |
|
.text:00000000004016EC loc_4016EC: ; CODE XREF: sub_4016A4+22↑j |
|
.text:00000000004016EC ; sub_4016A4+3F↑j |
|
.text:00000000004016EC mov eax, 0 |
|
.text:00000000004016F1 |
|
.text:00000000004016F1 loc_4016F1: ; CODE XREF: sub_4016A4+46↑j |
|
.text:00000000004016F1 pop rbp |
|
.text:00000000004016F2 retn |
|
.text:00000000004016F2 ; } // starts at 4016A4 |
|
.text:00000000004016F2 sub_4016A4 endp |
|
.text:00000000004016F2 |
|
.text:00000000004016F3 |
|
.text:00000000004016F3 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004016F3 |
|
.text:00000000004016F3 ; Attributes: bp-based frame |
|
.text:00000000004016F3 |
|
.text:00000000004016F3 sub_4016F3 proc near ; CODE XREF: sub_4036FC+82B↓p |
|
.text:00000000004016F3 |
|
.text:00000000004016F3 var_10 = qword ptr -10h |
|
.text:00000000004016F3 var_8 = qword ptr -8 |
|
.text:00000000004016F3 |
|
.text:00000000004016F3 ; __unwind { |
|
.text:00000000004016F3 push rbp |
|
.text:00000000004016F4 mov rbp, rsp |
|
.text:00000000004016F7 mov [rbp+var_8], rdi |
|
.text:00000000004016FB mov [rbp+var_10], rsi |
|
.text:00000000004016FF mov rax, [rbp+var_8] |
|
.text:0000000000401703 movzx eax, word ptr [rax+58h] |
|
.text:0000000000401707 mov edx, eax |
|
.text:0000000000401709 mov rax, [rbp+var_10] |
|
.text:000000000040170D movzx eax, word ptr [rax+5Ah] |
|
.text:0000000000401711 sub edx, eax |
|
.text:0000000000401713 mov eax, edx |
|
.text:0000000000401715 cmp ax, 48ADh |
|
.text:0000000000401719 jnz short loc_40173C |
|
.text:000000000040171B mov rax, [rbp+var_8] |
|
.text:000000000040171F movzx eax, word ptr [rax+58h] |
|
.text:0000000000401723 mov edx, eax |
|
.text:0000000000401725 mov rax, [rbp+var_10] |
|
.text:0000000000401729 movzx eax, word ptr [rax+5Ah] |
|
.text:000000000040172D add eax, edx |
|
.text:000000000040172F cmp ax, 8993h |
|
.text:0000000000401733 jnz short loc_40173C |
|
.text:0000000000401735 mov eax, 1 |
|
.text:000000000040173A jmp short loc_401741 |
|
.text:000000000040173C ; --------------------------------------------------------------------------- |
|
.text:000000000040173C |
|
.text:000000000040173C loc_40173C: ; CODE XREF: sub_4016F3+26↑j |
|
.text:000000000040173C ; sub_4016F3+40↑j |
|
.text:000000000040173C mov eax, 0 |
|
.text:0000000000401741 |
|
.text:0000000000401741 loc_401741: ; CODE XREF: sub_4016F3+47↑j |
|
.text:0000000000401741 pop rbp |
|
.text:0000000000401742 retn |
|
.text:0000000000401742 ; } // starts at 4016F3 |
|
.text:0000000000401742 sub_4016F3 endp |
|
.text:0000000000401742 |
|
.text:0000000000401743 |
|
.text:0000000000401743 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401743 |
|
.text:0000000000401743 ; Attributes: bp-based frame |
|
.text:0000000000401743 |
|
.text:0000000000401743 sub_401743 proc near ; CODE XREF: sub_4036FC+84A↓p |
|
.text:0000000000401743 |
|
.text:0000000000401743 var_10 = qword ptr -10h |
|
.text:0000000000401743 var_8 = qword ptr -8 |
|
.text:0000000000401743 |
|
.text:0000000000401743 ; __unwind { |
|
.text:0000000000401743 push rbp |
|
.text:0000000000401744 mov rbp, rsp |
|
.text:0000000000401747 mov [rbp+var_8], rdi |
|
.text:000000000040174B mov [rbp+var_10], rsi |
|
.text:000000000040174F mov rax, [rbp+var_8] |
|
.text:0000000000401753 movzx eax, byte ptr [rax+5Ah] |
|
.text:0000000000401757 mov edx, eax |
|
.text:0000000000401759 mov rax, [rbp+var_10] |
|
.text:000000000040175D movzx eax, byte ptr [rax+5Ch] |
|
.text:0000000000401761 sub edx, eax |
|
.text:0000000000401763 mov eax, edx |
|
.text:0000000000401765 cmp al, 0FAh |
|
.text:0000000000401767 jnz short loc_401788 |
|
.text:0000000000401769 mov rax, [rbp+var_8] |
|
.text:000000000040176D movzx eax, byte ptr [rax+5Ah] |
|
.text:0000000000401771 mov edx, eax |
|
.text:0000000000401773 mov rax, [rbp+var_10] |
|
.text:0000000000401777 movzx eax, byte ptr [rax+5Ch] |
|
.text:000000000040177B add eax, edx |
|
.text:000000000040177D cmp al, 0ECh |
|
.text:000000000040177F jnz short loc_401788 |
|
.text:0000000000401781 mov eax, 1 |
|
.text:0000000000401786 jmp short loc_40178D |
|
.text:0000000000401788 ; --------------------------------------------------------------------------- |
|
.text:0000000000401788 |
|
.text:0000000000401788 loc_401788: ; CODE XREF: sub_401743+24↑j |
|
.text:0000000000401788 ; sub_401743+3C↑j |
|
.text:0000000000401788 mov eax, 0 |
|
.text:000000000040178D |
|
.text:000000000040178D loc_40178D: ; CODE XREF: sub_401743+43↑j |
|
.text:000000000040178D pop rbp |
|
.text:000000000040178E retn |
|
.text:000000000040178E ; } // starts at 401743 |
|
.text:000000000040178E sub_401743 endp |
|
.text:000000000040178E |
|
.text:000000000040178F |
|
.text:000000000040178F ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040178F |
|
.text:000000000040178F ; Attributes: bp-based frame |
|
.text:000000000040178F |
|
.text:000000000040178F sub_40178F proc near ; CODE XREF: sub_4036FC+869↓p |
|
.text:000000000040178F |
|
.text:000000000040178F var_10 = qword ptr -10h |
|
.text:000000000040178F var_8 = qword ptr -8 |
|
.text:000000000040178F |
|
.text:000000000040178F ; __unwind { |
|
.text:000000000040178F push rbp |
|
.text:0000000000401790 mov rbp, rsp |
|
.text:0000000000401793 mov [rbp+var_8], rdi |
|
.text:0000000000401797 mov [rbp+var_10], rsi |
|
.text:000000000040179B mov rax, [rbp+var_8] |
|
.text:000000000040179F movzx eax, word ptr [rax+60h] |
|
.text:00000000004017A3 mov edx, eax |
|
.text:00000000004017A5 mov rax, [rbp+var_10] |
|
.text:00000000004017A9 movzx eax, word ptr [rax+64h] |
|
.text:00000000004017AD add eax, edx |
|
.text:00000000004017AF cmp ax, 0E347h |
|
.text:00000000004017B3 jnz short loc_4017D8 |
|
.text:00000000004017B5 mov rax, [rbp+var_8] |
|
.text:00000000004017B9 movzx eax, word ptr [rax+60h] |
|
.text:00000000004017BD cwde |
|
.text:00000000004017BE mov rdx, [rbp+var_10] |
|
.text:00000000004017C2 movzx edx, word ptr [rdx+64h] |
|
.text:00000000004017C6 movsx ecx, dx |
|
.text:00000000004017C9 cdq |
|
.text:00000000004017CA idiv ecx |
|
.text:00000000004017CC test ax, ax |
|
.text:00000000004017CF jnz short loc_4017D8 |
|
.text:00000000004017D1 mov eax, 1 |
|
.text:00000000004017D6 jmp short loc_4017DD |
|
.text:00000000004017D8 ; --------------------------------------------------------------------------- |
|
.text:00000000004017D8 |
|
.text:00000000004017D8 loc_4017D8: ; CODE XREF: sub_40178F+24↑j |
|
.text:00000000004017D8 ; sub_40178F+40↑j |
|
.text:00000000004017D8 mov eax, 0 |
|
.text:00000000004017DD |
|
.text:00000000004017DD loc_4017DD: ; CODE XREF: sub_40178F+47↑j |
|
.text:00000000004017DD pop rbp |
|
.text:00000000004017DE retn |
|
.text:00000000004017DE ; } // starts at 40178F |
|
.text:00000000004017DE sub_40178F endp |
|
.text:00000000004017DE |
|
.text:00000000004017DF |
|
.text:00000000004017DF ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004017DF |
|
.text:00000000004017DF ; Attributes: bp-based frame |
|
.text:00000000004017DF |
|
.text:00000000004017DF sub_4017DF proc near ; CODE XREF: sub_4036FC+888↓p |
|
.text:00000000004017DF |
|
.text:00000000004017DF var_10 = qword ptr -10h |
|
.text:00000000004017DF var_8 = qword ptr -8 |
|
.text:00000000004017DF |
|
.text:00000000004017DF ; __unwind { |
|
.text:00000000004017DF push rbp |
|
.text:00000000004017E0 mov rbp, rsp |
|
.text:00000000004017E3 mov [rbp+var_8], rdi |
|
.text:00000000004017E7 mov [rbp+var_10], rsi |
|
.text:00000000004017EB mov rax, [rbp+var_8] |
|
.text:00000000004017EF movzx eax, word ptr [rax+62h] |
|
.text:00000000004017F3 mov edx, eax |
|
.text:00000000004017F5 mov rax, [rbp+var_10] |
|
.text:00000000004017F9 movzx eax, word ptr [rax+72h] |
|
.text:00000000004017FD imul eax, edx |
|
.text:0000000000401800 cmp ax, 1026h |
|
.text:0000000000401804 jnz short loc_401829 |
|
.text:0000000000401806 mov rax, [rbp+var_8] |
|
.text:000000000040180A movzx eax, word ptr [rax+62h] |
|
.text:000000000040180E mov edx, eax |
|
.text:0000000000401810 mov rax, [rbp+var_10] |
|
.text:0000000000401814 movzx eax, word ptr [rax+72h] |
|
.text:0000000000401818 sub edx, eax |
|
.text:000000000040181A mov eax, edx |
|
.text:000000000040181C cmp ax, 4637h |
|
.text:0000000000401820 jnz short loc_401829 |
|
.text:0000000000401822 mov eax, 1 |
|
.text:0000000000401827 jmp short loc_40182E |
|
.text:0000000000401829 ; --------------------------------------------------------------------------- |
|
.text:0000000000401829 |
|
.text:0000000000401829 loc_401829: ; CODE XREF: sub_4017DF+25↑j |
|
.text:0000000000401829 ; sub_4017DF+41↑j |
|
.text:0000000000401829 mov eax, 0 |
|
.text:000000000040182E |
|
.text:000000000040182E loc_40182E: ; CODE XREF: sub_4017DF+48↑j |
|
.text:000000000040182E pop rbp |
|
.text:000000000040182F retn |
|
.text:000000000040182F ; } // starts at 4017DF |
|
.text:000000000040182F sub_4017DF endp |
|
.text:000000000040182F |
|
.text:0000000000401830 |
|
.text:0000000000401830 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401830 |
|
.text:0000000000401830 ; Attributes: bp-based frame |
|
.text:0000000000401830 |
|
.text:0000000000401830 sub_401830 proc near ; CODE XREF: sub_4036FC+8A7↓p |
|
.text:0000000000401830 |
|
.text:0000000000401830 var_10 = qword ptr -10h |
|
.text:0000000000401830 var_8 = qword ptr -8 |
|
.text:0000000000401830 |
|
.text:0000000000401830 ; __unwind { |
|
.text:0000000000401830 push rbp |
|
.text:0000000000401831 mov rbp, rsp |
|
.text:0000000000401834 mov [rbp+var_8], rdi |
|
.text:0000000000401838 mov [rbp+var_10], rsi |
|
.text:000000000040183C mov rax, [rbp+var_8] |
|
.text:0000000000401840 movzx eax, byte ptr [rax+5Bh] |
|
.text:0000000000401844 mov ecx, eax |
|
.text:0000000000401846 mov rax, [rbp+var_10] |
|
.text:000000000040184A movzx eax, byte ptr [rax+49h] |
|
.text:000000000040184E mov edx, eax |
|
.text:0000000000401850 mov eax, ecx |
|
.text:0000000000401852 imul eax, edx |
|
.text:0000000000401855 cmp al, 80h |
|
.text:0000000000401857 jnz short loc_40187A |
|
.text:0000000000401859 mov rax, [rbp+var_8] |
|
.text:000000000040185D movzx eax, byte ptr [rax+5Bh] |
|
.text:0000000000401861 mov edx, eax |
|
.text:0000000000401863 mov rax, [rbp+var_10] |
|
.text:0000000000401867 movzx eax, byte ptr [rax+49h] |
|
.text:000000000040186B sub edx, eax |
|
.text:000000000040186D mov eax, edx |
|
.text:000000000040186F cmp al, 0ACh |
|
.text:0000000000401871 jnz short loc_40187A |
|
.text:0000000000401873 mov eax, 1 |
|
.text:0000000000401878 jmp short loc_40187F |
|
.text:000000000040187A ; --------------------------------------------------------------------------- |
|
.text:000000000040187A |
|
.text:000000000040187A loc_40187A: ; CODE XREF: sub_401830+27↑j |
|
.text:000000000040187A ; sub_401830+41↑j |
|
.text:000000000040187A mov eax, 0 |
|
.text:000000000040187F |
|
.text:000000000040187F loc_40187F: ; CODE XREF: sub_401830+48↑j |
|
.text:000000000040187F pop rbp |
|
.text:0000000000401880 retn |
|
.text:0000000000401880 ; } // starts at 401830 |
|
.text:0000000000401880 sub_401830 endp |
|
.text:0000000000401880 |
|
.text:0000000000401881 |
|
.text:0000000000401881 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401881 |
|
.text:0000000000401881 ; Attributes: bp-based frame |
|
.text:0000000000401881 |
|
.text:0000000000401881 sub_401881 proc near ; CODE XREF: sub_4036FC+8C6↓p |
|
.text:0000000000401881 |
|
.text:0000000000401881 var_10 = qword ptr -10h |
|
.text:0000000000401881 var_8 = qword ptr -8 |
|
.text:0000000000401881 |
|
.text:0000000000401881 ; __unwind { |
|
.text:0000000000401881 push rbp |
|
.text:0000000000401882 mov rbp, rsp |
|
.text:0000000000401885 mov [rbp+var_8], rdi |
|
.text:0000000000401889 mov [rbp+var_10], rsi |
|
.text:000000000040188D mov rax, [rbp+var_8] |
|
.text:0000000000401891 movzx eax, word ptr [rax+68h] |
|
.text:0000000000401895 mov edx, eax |
|
.text:0000000000401897 mov rax, [rbp+var_10] |
|
.text:000000000040189B movzx eax, word ptr [rax+6Ch] |
|
.text:000000000040189F sub edx, eax |
|
.text:00000000004018A1 mov eax, edx |
|
.text:00000000004018A3 cmp ax, 3F57h |
|
.text:00000000004018A7 jnz short loc_4018CA |
|
.text:00000000004018A9 mov rax, [rbp+var_8] |
|
.text:00000000004018AD movzx eax, word ptr [rax+68h] |
|
.text:00000000004018B1 mov edx, eax |
|
.text:00000000004018B3 mov rax, [rbp+var_10] |
|
.text:00000000004018B7 movzx eax, word ptr [rax+6Ch] |
|
.text:00000000004018BB add eax, edx |
|
.text:00000000004018BD cmp ax, 9B6Bh |
|
.text:00000000004018C1 jnz short loc_4018CA |
|
.text:00000000004018C3 mov eax, 1 |
|
.text:00000000004018C8 jmp short loc_4018CF |
|
.text:00000000004018CA ; --------------------------------------------------------------------------- |
|
.text:00000000004018CA |
|
.text:00000000004018CA loc_4018CA: ; CODE XREF: sub_401881+26↑j |
|
.text:00000000004018CA ; sub_401881+40↑j |
|
.text:00000000004018CA mov eax, 0 |
|
.text:00000000004018CF |
|
.text:00000000004018CF loc_4018CF: ; CODE XREF: sub_401881+47↑j |
|
.text:00000000004018CF pop rbp |
|
.text:00000000004018D0 retn |
|
.text:00000000004018D0 ; } // starts at 401881 |
|
.text:00000000004018D0 sub_401881 endp |
|
.text:00000000004018D0 |
|
.text:00000000004018D1 |
|
.text:00000000004018D1 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004018D1 |
|
.text:00000000004018D1 ; Attributes: bp-based frame |
|
.text:00000000004018D1 |
|
.text:00000000004018D1 sub_4018D1 proc near ; CODE XREF: sub_4036FC+8E5↓p |
|
.text:00000000004018D1 |
|
.text:00000000004018D1 var_10 = qword ptr -10h |
|
.text:00000000004018D1 var_8 = qword ptr -8 |
|
.text:00000000004018D1 |
|
.text:00000000004018D1 ; __unwind { |
|
.text:00000000004018D1 push rbp |
|
.text:00000000004018D2 mov rbp, rsp |
|
.text:00000000004018D5 mov [rbp+var_8], rdi |
|
.text:00000000004018D9 mov [rbp+var_10], rsi |
|
.text:00000000004018DD mov rax, [rbp+var_8] |
|
.text:00000000004018E1 movsd xmm1, qword ptr [rax+70h] |
|
.text:00000000004018E6 mov rax, [rbp+var_10] |
|
.text:00000000004018EA movsd xmm0, qword ptr [rax+9Ah] |
|
.text:00000000004018F2 mulsd xmm0, xmm1 |
|
.text:00000000004018F6 ucomisd xmm0, cs:qword_404C78 |
|
.text:00000000004018FE jbe short loc_401934 |
|
.text:0000000000401900 mov rax, [rbp+var_8] |
|
.text:0000000000401904 movsd xmm0, qword ptr [rax+70h] |
|
.text:0000000000401909 mov rax, [rbp+var_10] |
|
.text:000000000040190D movsd xmm1, qword ptr [rax+9Ah] |
|
.text:0000000000401915 subsd xmm0, xmm1 |
|
.text:0000000000401919 ucomisd xmm0, cs:qword_404C80 |
|
.text:0000000000401921 jp short loc_401934 |
|
.text:0000000000401923 ucomisd xmm0, cs:qword_404C80 |
|
.text:000000000040192B jnz short loc_401934 |
|
.text:000000000040192D mov eax, 1 |
|
.text:0000000000401932 jmp short loc_401939 |
|
.text:0000000000401934 ; --------------------------------------------------------------------------- |
|
.text:0000000000401934 |
|
.text:0000000000401934 loc_401934: ; CODE XREF: sub_4018D1+2D↑j |
|
.text:0000000000401934 ; sub_4018D1+50↑j ... |
|
.text:0000000000401934 mov eax, 0 |
|
.text:0000000000401939 |
|
.text:0000000000401939 loc_401939: ; CODE XREF: sub_4018D1+61↑j |
|
.text:0000000000401939 pop rbp |
|
.text:000000000040193A retn |
|
.text:000000000040193A ; } // starts at 4018D1 |
|
.text:000000000040193A sub_4018D1 endp |
|
.text:000000000040193A |
|
.text:000000000040193B |
|
.text:000000000040193B ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040193B |
|
.text:000000000040193B ; Attributes: bp-based frame |
|
.text:000000000040193B |
|
.text:000000000040193B sub_40193B proc near ; CODE XREF: sub_4036FC+904↓p |
|
.text:000000000040193B |
|
.text:000000000040193B var_10 = qword ptr -10h |
|
.text:000000000040193B var_8 = qword ptr -8 |
|
.text:000000000040193B |
|
.text:000000000040193B ; __unwind { |
|
.text:000000000040193B push rbp |
|
.text:000000000040193C mov rbp, rsp |
|
.text:000000000040193F mov [rbp+var_8], rdi |
|
.text:0000000000401943 mov [rbp+var_10], rsi |
|
.text:0000000000401947 mov rax, [rbp+var_8] |
|
.text:000000000040194B mov edx, [rax+78h] |
|
.text:000000000040194E mov rax, [rbp+var_10] |
|
.text:0000000000401952 mov eax, [rax+0AAh] |
|
.text:0000000000401958 sub edx, eax |
|
.text:000000000040195A mov eax, edx |
|
.text:000000000040195C cmp eax, 5F241F3h |
|
.text:0000000000401961 jnz short loc_401985 |
|
.text:0000000000401963 mov rax, [rbp+var_8] |
|
.text:0000000000401967 mov edx, [rax+78h] |
|
.text:000000000040196A mov rax, [rbp+var_10] |
|
.text:000000000040196E mov eax, [rax+0AAh] |
|
.text:0000000000401974 imul eax, edx |
|
.text:0000000000401977 cmp eax, 2A45F3D2h |
|
.text:000000000040197C jnz short loc_401985 |
|
.text:000000000040197E mov eax, 1 |
|
.text:0000000000401983 jmp short loc_40198A |
|
.text:0000000000401985 ; --------------------------------------------------------------------------- |
|
.text:0000000000401985 |
|
.text:0000000000401985 loc_401985: ; CODE XREF: sub_40193B+26↑j |
|
.text:0000000000401985 ; sub_40193B+41↑j |
|
.text:0000000000401985 mov eax, 0 |
|
.text:000000000040198A |
|
.text:000000000040198A loc_40198A: ; CODE XREF: sub_40193B+48↑j |
|
.text:000000000040198A pop rbp |
|
.text:000000000040198B retn |
|
.text:000000000040198B ; } // starts at 40193B |
|
.text:000000000040198B sub_40193B endp |
|
.text:000000000040198B |
|
.text:000000000040198C |
|
.text:000000000040198C ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040198C |
|
.text:000000000040198C ; Attributes: bp-based frame |
|
.text:000000000040198C |
|
.text:000000000040198C sub_40198C proc near ; CODE XREF: sub_4036FC+923↓p |
|
.text:000000000040198C |
|
.text:000000000040198C var_10 = qword ptr -10h |
|
.text:000000000040198C var_8 = qword ptr -8 |
|
.text:000000000040198C |
|
.text:000000000040198C ; __unwind { |
|
.text:000000000040198C push rbp |
|
.text:000000000040198D mov rbp, rsp |
|
.text:0000000000401990 mov [rbp+var_8], rdi |
|
.text:0000000000401994 mov [rbp+var_10], rsi |
|
.text:0000000000401998 mov rax, [rbp+var_8] |
|
.text:000000000040199C movzx eax, byte ptr [rax+5Fh] |
|
.text:00000000004019A0 movsx eax, al |
|
.text:00000000004019A3 mov rdx, [rbp+var_10] |
|
.text:00000000004019A7 movzx edx, byte ptr [rdx+7Eh] |
|
.text:00000000004019AB movsx esi, dl |
|
.text:00000000004019AE cdq |
|
.text:00000000004019AF idiv esi |
|
.text:00000000004019B1 cmp al, 2 |
|
.text:00000000004019B3 jnz short loc_4019D9 |
|
.text:00000000004019B5 mov rax, [rbp+var_8] |
|
.text:00000000004019B9 movzx eax, byte ptr [rax+5Fh] |
|
.text:00000000004019BD mov ecx, eax |
|
.text:00000000004019BF mov rax, [rbp+var_10] |
|
.text:00000000004019C3 movzx eax, byte ptr [rax+7Eh] |
|
.text:00000000004019C7 mov edx, eax |
|
.text:00000000004019C9 mov eax, ecx |
|
.text:00000000004019CB imul eax, edx |
|
.text:00000000004019CE cmp al, 7Ch |
|
.text:00000000004019D0 jnz short loc_4019D9 |
|
.text:00000000004019D2 mov eax, 1 |
|
.text:00000000004019D7 jmp short loc_4019DE |
|
.text:00000000004019D9 ; --------------------------------------------------------------------------- |
|
.text:00000000004019D9 |
|
.text:00000000004019D9 loc_4019D9: ; CODE XREF: sub_40198C+27↑j |
|
.text:00000000004019D9 ; sub_40198C+44↑j |
|
.text:00000000004019D9 mov eax, 0 |
|
.text:00000000004019DE |
|
.text:00000000004019DE loc_4019DE: ; CODE XREF: sub_40198C+4B↑j |
|
.text:00000000004019DE pop rbp |
|
.text:00000000004019DF retn |
|
.text:00000000004019DF ; } // starts at 40198C |
|
.text:00000000004019DF sub_40198C endp |
|
.text:00000000004019DF |
|
.text:00000000004019E0 |
|
.text:00000000004019E0 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004019E0 |
|
.text:00000000004019E0 ; Attributes: bp-based frame |
|
.text:00000000004019E0 |
|
.text:00000000004019E0 sub_4019E0 proc near ; CODE XREF: sub_4036FC+942↓p |
|
.text:00000000004019E0 |
|
.text:00000000004019E0 var_10 = qword ptr -10h |
|
.text:00000000004019E0 var_8 = qword ptr -8 |
|
.text:00000000004019E0 |
|
.text:00000000004019E0 ; __unwind { |
|
.text:00000000004019E0 push rbp |
|
.text:00000000004019E1 mov rbp, rsp |
|
.text:00000000004019E4 mov [rbp+var_8], rdi |
|
.text:00000000004019E8 mov [rbp+var_10], rsi |
|
.text:00000000004019EC mov rax, [rbp+var_8] |
|
.text:00000000004019F0 movzx eax, byte ptr [rax+5Fh] |
|
.text:00000000004019F4 mov edx, eax |
|
.text:00000000004019F6 mov rax, [rbp+var_10] |
|
.text:00000000004019FA movzx eax, byte ptr [rax+7Fh] |
|
.text:00000000004019FE sub edx, eax |
|
.text:0000000000401A00 mov eax, edx |
|
.text:0000000000401A02 cmp al, 44h |
|
.text:0000000000401A04 jnz short loc_401A2A |
|
.text:0000000000401A06 mov rax, [rbp+var_8] |
|
.text:0000000000401A0A movzx eax, byte ptr [rax+5Fh] |
|
.text:0000000000401A0E movsx eax, al |
|
.text:0000000000401A11 mov rdx, [rbp+var_10] |
|
.text:0000000000401A15 movzx edx, byte ptr [rdx+7Fh] |
|
.text:0000000000401A19 movsx ecx, dl |
|
.text:0000000000401A1C cdq |
|
.text:0000000000401A1D idiv ecx |
|
.text:0000000000401A1F cmp al, 2 |
|
.text:0000000000401A21 jnz short loc_401A2A |
|
.text:0000000000401A23 mov eax, 1 |
|
.text:0000000000401A28 jmp short loc_401A2F |
|
.text:0000000000401A2A ; --------------------------------------------------------------------------- |
|
.text:0000000000401A2A |
|
.text:0000000000401A2A loc_401A2A: ; CODE XREF: sub_4019E0+24↑j |
|
.text:0000000000401A2A ; sub_4019E0+41↑j |
|
.text:0000000000401A2A mov eax, 0 |
|
.text:0000000000401A2F |
|
.text:0000000000401A2F loc_401A2F: ; CODE XREF: sub_4019E0+48↑j |
|
.text:0000000000401A2F pop rbp |
|
.text:0000000000401A30 retn |
|
.text:0000000000401A30 ; } // starts at 4019E0 |
|
.text:0000000000401A30 sub_4019E0 endp |
|
.text:0000000000401A30 |
|
.text:0000000000401A31 |
|
.text:0000000000401A31 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401A31 |
|
.text:0000000000401A31 ; Attributes: bp-based frame |
|
.text:0000000000401A31 |
|
.text:0000000000401A31 sub_401A31 proc near ; CODE XREF: sub_4036FC+961↓p |
|
.text:0000000000401A31 |
|
.text:0000000000401A31 var_10 = qword ptr -10h |
|
.text:0000000000401A31 var_8 = qword ptr -8 |
|
.text:0000000000401A31 |
|
.text:0000000000401A31 ; __unwind { |
|
.text:0000000000401A31 push rbp |
|
.text:0000000000401A32 mov rbp, rsp |
|
.text:0000000000401A35 mov [rbp+var_8], rdi |
|
.text:0000000000401A39 mov [rbp+var_10], rsi |
|
.text:0000000000401A3D mov rax, [rbp+var_8] |
|
.text:0000000000401A41 movzx eax, byte ptr [rax+5Dh] |
|
.text:0000000000401A45 mov edx, eax |
|
.text:0000000000401A47 mov rax, [rbp+var_10] |
|
.text:0000000000401A4B movzx eax, byte ptr [rax+6Ah] |
|
.text:0000000000401A4F add eax, edx |
|
.text:0000000000401A51 cmp al, 0D4h |
|
.text:0000000000401A53 jnz short loc_401A76 |
|
.text:0000000000401A55 mov rax, [rbp+var_8] |
|
.text:0000000000401A59 movzx eax, byte ptr [rax+5Dh] |
|
.text:0000000000401A5D mov edx, eax |
|
.text:0000000000401A5F mov rax, [rbp+var_10] |
|
.text:0000000000401A63 movzx eax, byte ptr [rax+6Ah] |
|
.text:0000000000401A67 sub edx, eax |
|
.text:0000000000401A69 mov eax, edx |
|
.text:0000000000401A6B cmp al, 0Ah |
|
.text:0000000000401A6D jnz short loc_401A76 |
|
.text:0000000000401A6F mov eax, 1 |
|
.text:0000000000401A74 jmp short loc_401A7B |
|
.text:0000000000401A76 ; --------------------------------------------------------------------------- |
|
.text:0000000000401A76 |
|
.text:0000000000401A76 loc_401A76: ; CODE XREF: sub_401A31+22↑j |
|
.text:0000000000401A76 ; sub_401A31+3C↑j |
|
.text:0000000000401A76 mov eax, 0 |
|
.text:0000000000401A7B |
|
.text:0000000000401A7B loc_401A7B: ; CODE XREF: sub_401A31+43↑j |
|
.text:0000000000401A7B pop rbp |
|
.text:0000000000401A7C retn |
|
.text:0000000000401A7C ; } // starts at 401A31 |
|
.text:0000000000401A7C sub_401A31 endp |
|
.text:0000000000401A7C |
|
.text:0000000000401A7D |
|
.text:0000000000401A7D ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401A7D |
|
.text:0000000000401A7D ; Attributes: bp-based frame |
|
.text:0000000000401A7D |
|
.text:0000000000401A7D sub_401A7D proc near ; CODE XREF: sub_4036FC+980↓p |
|
.text:0000000000401A7D |
|
.text:0000000000401A7D var_10 = qword ptr -10h |
|
.text:0000000000401A7D var_8 = qword ptr -8 |
|
.text:0000000000401A7D |
|
.text:0000000000401A7D ; __unwind { |
|
.text:0000000000401A7D push rbp |
|
.text:0000000000401A7E mov rbp, rsp |
|
.text:0000000000401A81 mov [rbp+var_8], rdi |
|
.text:0000000000401A85 mov [rbp+var_10], rsi |
|
.text:0000000000401A89 mov rax, [rbp+var_8] |
|
.text:0000000000401A8D movzx eax, word ptr [rax+66h] |
|
.text:0000000000401A91 mov edx, eax |
|
.text:0000000000401A93 mov rax, [rbp+var_10] |
|
.text:0000000000401A97 movzx eax, word ptr [rax+6Eh] |
|
.text:0000000000401A9B imul eax, edx |
|
.text:0000000000401A9E cmp ax, 89C0h |
|
.text:0000000000401AA2 jnz short loc_401AC7 |
|
.text:0000000000401AA4 mov rax, [rbp+var_8] |
|
.text:0000000000401AA8 movzx eax, word ptr [rax+66h] |
|
.text:0000000000401AAC mov edx, eax |
|
.text:0000000000401AAE mov rax, [rbp+var_10] |
|
.text:0000000000401AB2 movzx eax, word ptr [rax+6Eh] |
|
.text:0000000000401AB6 sub edx, eax |
|
.text:0000000000401AB8 mov eax, edx |
|
.text:0000000000401ABA cmp ax, 3FF2h |
|
.text:0000000000401ABE jnz short loc_401AC7 |
|
.text:0000000000401AC0 mov eax, 1 |
|
.text:0000000000401AC5 jmp short loc_401ACC |
|
.text:0000000000401AC7 ; --------------------------------------------------------------------------- |
|
.text:0000000000401AC7 |
|
.text:0000000000401AC7 loc_401AC7: ; CODE XREF: sub_401A7D+25↑j |
|
.text:0000000000401AC7 ; sub_401A7D+41↑j |
|
.text:0000000000401AC7 mov eax, 0 |
|
.text:0000000000401ACC |
|
.text:0000000000401ACC loc_401ACC: ; CODE XREF: sub_401A7D+48↑j |
|
.text:0000000000401ACC pop rbp |
|
.text:0000000000401ACD retn |
|
.text:0000000000401ACD ; } // starts at 401A7D |
|
.text:0000000000401ACD sub_401A7D endp |
|
.text:0000000000401ACD |
|
.text:0000000000401ACE |
|
.text:0000000000401ACE ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401ACE |
|
.text:0000000000401ACE ; Attributes: bp-based frame |
|
.text:0000000000401ACE |
|
.text:0000000000401ACE sub_401ACE proc near ; CODE XREF: sub_4036FC+99F↓p |
|
.text:0000000000401ACE |
|
.text:0000000000401ACE var_10 = qword ptr -10h |
|
.text:0000000000401ACE var_8 = qword ptr -8 |
|
.text:0000000000401ACE |
|
.text:0000000000401ACE ; __unwind { |
|
.text:0000000000401ACE push rbp |
|
.text:0000000000401ACF mov rbp, rsp |
|
.text:0000000000401AD2 mov [rbp+var_8], rdi |
|
.text:0000000000401AD6 mov [rbp+var_10], rsi |
|
.text:0000000000401ADA mov rax, [rbp+var_8] |
|
.text:0000000000401ADE movzx eax, word ptr [rax+6Ch] |
|
.text:0000000000401AE2 cwde |
|
.text:0000000000401AE3 mov rdx, [rbp+var_10] |
|
.text:0000000000401AE7 movzx edx, word ptr [rdx+70h] |
|
.text:0000000000401AEB movsx ecx, dx |
|
.text:0000000000401AEE cdq |
|
.text:0000000000401AEF idiv ecx |
|
.text:0000000000401AF1 test ax, ax |
|
.text:0000000000401AF4 jnz short loc_401B19 |
|
.text:0000000000401AF6 mov rax, [rbp+var_8] |
|
.text:0000000000401AFA movzx eax, word ptr [rax+6Ch] |
|
.text:0000000000401AFE mov edx, eax |
|
.text:0000000000401B00 mov rax, [rbp+var_10] |
|
.text:0000000000401B04 movzx eax, word ptr [rax+70h] |
|
.text:0000000000401B08 sub edx, eax |
|
.text:0000000000401B0A mov eax, edx |
|
.text:0000000000401B0C cmp ax, 0FFDCh |
|
.text:0000000000401B10 jnz short loc_401B19 |
|
.text:0000000000401B12 mov eax, 1 |
|
.text:0000000000401B17 jmp short loc_401B1E |
|
.text:0000000000401B19 ; --------------------------------------------------------------------------- |
|
.text:0000000000401B19 |
|
.text:0000000000401B19 loc_401B19: ; CODE XREF: sub_401ACE+26↑j |
|
.text:0000000000401B19 ; sub_401ACE+42↑j |
|
.text:0000000000401B19 mov eax, 0 |
|
.text:0000000000401B1E |
|
.text:0000000000401B1E loc_401B1E: ; CODE XREF: sub_401ACE+49↑j |
|
.text:0000000000401B1E pop rbp |
|
.text:0000000000401B1F retn |
|
.text:0000000000401B1F ; } // starts at 401ACE |
|
.text:0000000000401B1F sub_401ACE endp |
|
.text:0000000000401B1F |
|
.text:0000000000401B20 |
|
.text:0000000000401B20 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401B20 |
|
.text:0000000000401B20 ; Attributes: bp-based frame |
|
.text:0000000000401B20 |
|
.text:0000000000401B20 sub_401B20 proc near ; CODE XREF: sub_4036FC+9BE↓p |
|
.text:0000000000401B20 |
|
.text:0000000000401B20 var_10 = qword ptr -10h |
|
.text:0000000000401B20 var_8 = qword ptr -8 |
|
.text:0000000000401B20 |
|
.text:0000000000401B20 ; __unwind { |
|
.text:0000000000401B20 push rbp |
|
.text:0000000000401B21 mov rbp, rsp |
|
.text:0000000000401B24 mov [rbp+var_8], rdi |
|
.text:0000000000401B28 mov [rbp+var_10], rsi |
|
.text:0000000000401B2C mov rax, [rbp+var_8] |
|
.text:0000000000401B30 movzx eax, word ptr [rax+74h] |
|
.text:0000000000401B34 mov edx, eax |
|
.text:0000000000401B36 mov rax, [rbp+var_10] |
|
.text:0000000000401B3A movzx eax, word ptr [rax+76h] |
|
.text:0000000000401B3E imul eax, edx |
|
.text:0000000000401B41 cmp ax, 5FFEh |
|
.text:0000000000401B45 jnz short loc_401B68 |
|
.text:0000000000401B47 mov rax, [rbp+var_8] |
|
.text:0000000000401B4B movzx eax, word ptr [rax+74h] |
|
.text:0000000000401B4F mov edx, eax |
|
.text:0000000000401B51 mov rax, [rbp+var_10] |
|
.text:0000000000401B55 movzx eax, word ptr [rax+76h] |
|
.text:0000000000401B59 add eax, edx |
|
.text:0000000000401B5B cmp ax, 0D2BBh |
|
.text:0000000000401B5F jnz short loc_401B68 |
|
.text:0000000000401B61 mov eax, 1 |
|
.text:0000000000401B66 jmp short loc_401B6D |
|
.text:0000000000401B68 ; --------------------------------------------------------------------------- |
|
.text:0000000000401B68 |
|
.text:0000000000401B68 loc_401B68: ; CODE XREF: sub_401B20+25↑j |
|
.text:0000000000401B68 ; sub_401B20+3F↑j |
|
.text:0000000000401B68 mov eax, 0 |
|
.text:0000000000401B6D |
|
.text:0000000000401B6D loc_401B6D: ; CODE XREF: sub_401B20+46↑j |
|
.text:0000000000401B6D pop rbp |
|
.text:0000000000401B6E retn |
|
.text:0000000000401B6E ; } // starts at 401B20 |
|
.text:0000000000401B6E sub_401B20 endp |
|
.text:0000000000401B6E |
|
.text:0000000000401B6F |
|
.text:0000000000401B6F ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401B6F |
|
.text:0000000000401B6F ; Attributes: bp-based frame |
|
.text:0000000000401B6F |
|
.text:0000000000401B6F sub_401B6F proc near ; CODE XREF: sub_4036FC+9DD↓p |
|
.text:0000000000401B6F |
|
.text:0000000000401B6F var_10 = qword ptr -10h |
|
.text:0000000000401B6F var_8 = qword ptr -8 |
|
.text:0000000000401B6F |
|
.text:0000000000401B6F ; __unwind { |
|
.text:0000000000401B6F push rbp |
|
.text:0000000000401B70 mov rbp, rsp |
|
.text:0000000000401B73 mov [rbp+var_8], rdi |
|
.text:0000000000401B77 mov [rbp+var_10], rsi |
|
.text:0000000000401B7B mov rax, [rbp+var_8] |
|
.text:0000000000401B7F movzx eax, word ptr [rax+78h] |
|
.text:0000000000401B83 mov edx, eax |
|
.text:0000000000401B85 mov rax, [rbp+var_10] |
|
.text:0000000000401B89 movzx eax, word ptr [rax+90h] |
|
.text:0000000000401B90 sub edx, eax |
|
.text:0000000000401B92 mov eax, edx |
|
.text:0000000000401B94 cmp ax, 0FD01h |
|
.text:0000000000401B98 jnz short loc_401BC0 |
|
.text:0000000000401B9A mov rax, [rbp+var_8] |
|
.text:0000000000401B9E movzx eax, word ptr [rax+78h] |
|
.text:0000000000401BA2 cwde |
|
.text:0000000000401BA3 mov rdx, [rbp+var_10] |
|
.text:0000000000401BA7 movzx edx, word ptr [rdx+90h] |
|
.text:0000000000401BAE movsx ecx, dx |
|
.text:0000000000401BB1 cdq |
|
.text:0000000000401BB2 idiv ecx |
|
.text:0000000000401BB4 test ax, ax |
|
.text:0000000000401BB7 jnz short loc_401BC0 |
|
.text:0000000000401BB9 mov eax, 1 |
|
.text:0000000000401BBE jmp short loc_401BC5 |
|
.text:0000000000401BC0 ; --------------------------------------------------------------------------- |
|
.text:0000000000401BC0 |
|
.text:0000000000401BC0 loc_401BC0: ; CODE XREF: sub_401B6F+29↑j |
|
.text:0000000000401BC0 ; sub_401B6F+48↑j |
|
.text:0000000000401BC0 mov eax, 0 |
|
.text:0000000000401BC5 |
|
.text:0000000000401BC5 loc_401BC5: ; CODE XREF: sub_401B6F+4F↑j |
|
.text:0000000000401BC5 pop rbp |
|
.text:0000000000401BC6 retn |
|
.text:0000000000401BC6 ; } // starts at 401B6F |
|
.text:0000000000401BC6 sub_401B6F endp |
|
.text:0000000000401BC6 |
|
.text:0000000000401BC7 |
|
.text:0000000000401BC7 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401BC7 |
|
.text:0000000000401BC7 ; Attributes: bp-based frame |
|
.text:0000000000401BC7 |
|
.text:0000000000401BC7 sub_401BC7 proc near ; CODE XREF: sub_4036FC+9FC↓p |
|
.text:0000000000401BC7 |
|
.text:0000000000401BC7 var_10 = qword ptr -10h |
|
.text:0000000000401BC7 var_8 = qword ptr -8 |
|
.text:0000000000401BC7 |
|
.text:0000000000401BC7 ; __unwind { |
|
.text:0000000000401BC7 push rbp |
|
.text:0000000000401BC8 mov rbp, rsp |
|
.text:0000000000401BCB mov [rbp+var_8], rdi |
|
.text:0000000000401BCF mov [rbp+var_10], rsi |
|
.text:0000000000401BD3 mov rax, [rbp+var_8] |
|
.text:0000000000401BD7 movzx eax, word ptr [rax+7Ah] |
|
.text:0000000000401BDB mov edx, eax |
|
.text:0000000000401BDD mov rax, [rbp+var_10] |
|
.text:0000000000401BE1 movzx eax, word ptr [rax+90h] |
|
.text:0000000000401BE8 add eax, edx |
|
.text:0000000000401BEA cmp ax, 0D1C6h |
|
.text:0000000000401BEE jnz short loc_401C16 |
|
.text:0000000000401BF0 mov rax, [rbp+var_8] |
|
.text:0000000000401BF4 movzx eax, word ptr [rax+7Ah] |
|
.text:0000000000401BF8 mov edx, eax |
|
.text:0000000000401BFA mov rax, [rbp+var_10] |
|
.text:0000000000401BFE movzx eax, word ptr [rax+90h] |
|
.text:0000000000401C05 sub edx, eax |
|
.text:0000000000401C07 mov eax, edx |
|
.text:0000000000401C09 cmp ax, 6FCh |
|
.text:0000000000401C0D jnz short loc_401C16 |
|
.text:0000000000401C0F mov eax, 1 |
|
.text:0000000000401C14 jmp short loc_401C1B |
|
.text:0000000000401C16 ; --------------------------------------------------------------------------- |
|
.text:0000000000401C16 |
|
.text:0000000000401C16 loc_401C16: ; CODE XREF: sub_401BC7+27↑j |
|
.text:0000000000401C16 ; sub_401BC7+46↑j |
|
.text:0000000000401C16 mov eax, 0 |
|
.text:0000000000401C1B |
|
.text:0000000000401C1B loc_401C1B: ; CODE XREF: sub_401BC7+4D↑j |
|
.text:0000000000401C1B pop rbp |
|
.text:0000000000401C1C retn |
|
.text:0000000000401C1C ; } // starts at 401BC7 |
|
.text:0000000000401C1C sub_401BC7 endp |
|
.text:0000000000401C1C |
|
.text:0000000000401C1D |
|
.text:0000000000401C1D ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401C1D |
|
.text:0000000000401C1D ; Attributes: bp-based frame |
|
.text:0000000000401C1D |
|
.text:0000000000401C1D sub_401C1D proc near ; CODE XREF: sub_4036FC+A1B↓p |
|
.text:0000000000401C1D |
|
.text:0000000000401C1D var_10 = qword ptr -10h |
|
.text:0000000000401C1D var_8 = qword ptr -8 |
|
.text:0000000000401C1D |
|
.text:0000000000401C1D ; __unwind { |
|
.text:0000000000401C1D push rbp |
|
.text:0000000000401C1E mov rbp, rsp |
|
.text:0000000000401C21 mov [rbp+var_8], rdi |
|
.text:0000000000401C25 mov [rbp+var_10], rsi |
|
.text:0000000000401C29 mov rax, [rbp+var_8] |
|
.text:0000000000401C2D movzx eax, word ptr [rax+7Ch] |
|
.text:0000000000401C31 mov edx, eax |
|
.text:0000000000401C33 mov rax, [rbp+var_10] |
|
.text:0000000000401C37 movzx eax, word ptr [rax+7Eh] |
|
.text:0000000000401C3B add eax, edx |
|
.text:0000000000401C3D cmp ax, 389Ah |
|
.text:0000000000401C41 jnz short loc_401C66 |
|
.text:0000000000401C43 mov rax, [rbp+var_8] |
|
.text:0000000000401C47 movzx eax, word ptr [rax+7Ch] |
|
.text:0000000000401C4B mov edx, eax |
|
.text:0000000000401C4D mov rax, [rbp+var_10] |
|
.text:0000000000401C51 movzx eax, word ptr [rax+7Eh] |
|
.text:0000000000401C55 sub edx, eax |
|
.text:0000000000401C57 mov eax, edx |
|
.text:0000000000401C59 cmp ax, 0DC3Eh |
|
.text:0000000000401C5D jnz short loc_401C66 |
|
.text:0000000000401C5F mov eax, 1 |
|
.text:0000000000401C64 jmp short loc_401C6B |
|
.text:0000000000401C66 ; --------------------------------------------------------------------------- |
|
.text:0000000000401C66 |
|
.text:0000000000401C66 loc_401C66: ; CODE XREF: sub_401C1D+24↑j |
|
.text:0000000000401C66 ; sub_401C1D+40↑j |
|
.text:0000000000401C66 mov eax, 0 |
|
.text:0000000000401C6B |
|
.text:0000000000401C6B loc_401C6B: ; CODE XREF: sub_401C1D+47↑j |
|
.text:0000000000401C6B pop rbp |
|
.text:0000000000401C6C retn |
|
.text:0000000000401C6C ; } // starts at 401C1D |
|
.text:0000000000401C6C sub_401C1D endp |
|
.text:0000000000401C6C |
|
.text:0000000000401C6D |
|
.text:0000000000401C6D ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401C6D |
|
.text:0000000000401C6D ; Attributes: bp-based frame |
|
.text:0000000000401C6D |
|
.text:0000000000401C6D sub_401C6D proc near ; CODE XREF: sub_4036FC+A3A↓p |
|
.text:0000000000401C6D |
|
.text:0000000000401C6D var_10 = qword ptr -10h |
|
.text:0000000000401C6D var_8 = qword ptr -8 |
|
.text:0000000000401C6D |
|
.text:0000000000401C6D ; __unwind { |
|
.text:0000000000401C6D push rbp |
|
.text:0000000000401C6E mov rbp, rsp |
|
.text:0000000000401C71 mov [rbp+var_8], rdi |
|
.text:0000000000401C75 mov [rbp+var_10], rsi |
|
.text:0000000000401C79 mov rax, [rbp+var_8] |
|
.text:0000000000401C7D movzx eax, word ptr [rax+7Ch] |
|
.text:0000000000401C81 mov edx, eax |
|
.text:0000000000401C83 mov rax, [rbp+var_10] |
|
.text:0000000000401C87 movzx eax, word ptr [rax+80h] |
|
.text:0000000000401C8E sub edx, eax |
|
.text:0000000000401C90 mov eax, edx |
|
.text:0000000000401C92 cmp ax, 0DC3Eh |
|
.text:0000000000401C96 jnz short loc_401CBC |
|
.text:0000000000401C98 mov rax, [rbp+var_8] |
|
.text:0000000000401C9C movzx eax, word ptr [rax+7Ch] |
|
.text:0000000000401CA0 mov edx, eax |
|
.text:0000000000401CA2 mov rax, [rbp+var_10] |
|
.text:0000000000401CA6 movzx eax, word ptr [rax+80h] |
|
.text:0000000000401CAD add eax, edx |
|
.text:0000000000401CAF cmp ax, 389Ah |
|
.text:0000000000401CB3 jnz short loc_401CBC |
|
.text:0000000000401CB5 mov eax, 1 |
|
.text:0000000000401CBA jmp short loc_401CC1 |
|
.text:0000000000401CBC ; --------------------------------------------------------------------------- |
|
.text:0000000000401CBC |
|
.text:0000000000401CBC loc_401CBC: ; CODE XREF: sub_401C6D+29↑j |
|
.text:0000000000401CBC ; sub_401C6D+46↑j |
|
.text:0000000000401CBC mov eax, 0 |
|
.text:0000000000401CC1 |
|
.text:0000000000401CC1 loc_401CC1: ; CODE XREF: sub_401C6D+4D↑j |
|
.text:0000000000401CC1 pop rbp |
|
.text:0000000000401CC2 retn |
|
.text:0000000000401CC2 ; } // starts at 401C6D |
|
.text:0000000000401CC2 sub_401C6D endp |
|
.text:0000000000401CC2 |
|
.text:0000000000401CC3 |
|
.text:0000000000401CC3 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401CC3 |
|
.text:0000000000401CC3 ; Attributes: bp-based frame |
|
.text:0000000000401CC3 |
|
.text:0000000000401CC3 sub_401CC3 proc near ; CODE XREF: sub_4036FC+A59↓p |
|
.text:0000000000401CC3 |
|
.text:0000000000401CC3 var_10 = qword ptr -10h |
|
.text:0000000000401CC3 var_8 = qword ptr -8 |
|
.text:0000000000401CC3 |
|
.text:0000000000401CC3 ; __unwind { |
|
.text:0000000000401CC3 push rbp |
|
.text:0000000000401CC4 mov rbp, rsp |
|
.text:0000000000401CC7 mov [rbp+var_8], rdi |
|
.text:0000000000401CCB mov [rbp+var_10], rsi |
|
.text:0000000000401CCF mov rax, [rbp+var_8] |
|
.text:0000000000401CD3 movzx eax, byte ptr [rax+80h] |
|
.text:0000000000401CDA movsx eax, al |
|
.text:0000000000401CDD mov rdx, [rbp+var_10] |
|
.text:0000000000401CE1 movzx edx, byte ptr [rdx+82h] |
|
.text:0000000000401CE8 movsx ecx, dl |
|
.text:0000000000401CEB cdq |
|
.text:0000000000401CEC idiv ecx |
|
.text:0000000000401CEE cmp al, 1 |
|
.text:0000000000401CF0 jnz short loc_401D17 |
|
.text:0000000000401CF2 mov rax, [rbp+var_8] |
|
.text:0000000000401CF6 movzx eax, byte ptr [rax+80h] |
|
.text:0000000000401CFD mov edx, eax |
|
.text:0000000000401CFF mov rax, [rbp+var_10] |
|
.text:0000000000401D03 movzx eax, byte ptr [rax+82h] |
|
.text:0000000000401D0A add eax, edx |
|
.text:0000000000401D0C cmp al, 5Ch |
|
.text:0000000000401D0E jnz short loc_401D17 |
|
.text:0000000000401D10 mov eax, 1 |
|
.text:0000000000401D15 jmp short loc_401D1C |
|
.text:0000000000401D17 ; --------------------------------------------------------------------------- |
|
.text:0000000000401D17 |
|
.text:0000000000401D17 loc_401D17: ; CODE XREF: sub_401CC3+2D↑j |
|
.text:0000000000401D17 ; sub_401CC3+4B↑j |
|
.text:0000000000401D17 mov eax, 0 |
|
.text:0000000000401D1C |
|
.text:0000000000401D1C loc_401D1C: ; CODE XREF: sub_401CC3+52↑j |
|
.text:0000000000401D1C pop rbp |
|
.text:0000000000401D1D retn |
|
.text:0000000000401D1D ; } // starts at 401CC3 |
|
.text:0000000000401D1D sub_401CC3 endp |
|
.text:0000000000401D1D |
|
.text:0000000000401D1E |
|
.text:0000000000401D1E ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401D1E |
|
.text:0000000000401D1E ; Attributes: bp-based frame |
|
.text:0000000000401D1E |
|
.text:0000000000401D1E sub_401D1E proc near ; CODE XREF: sub_4036FC+A78↓p |
|
.text:0000000000401D1E |
|
.text:0000000000401D1E var_10 = qword ptr -10h |
|
.text:0000000000401D1E var_8 = qword ptr -8 |
|
.text:0000000000401D1E |
|
.text:0000000000401D1E ; __unwind { |
|
.text:0000000000401D1E push rbp |
|
.text:0000000000401D1F mov rbp, rsp |
|
.text:0000000000401D22 mov [rbp+var_8], rdi |
|
.text:0000000000401D26 mov [rbp+var_10], rsi |
|
.text:0000000000401D2A mov rax, [rbp+var_8] |
|
.text:0000000000401D2E movzx eax, byte ptr [rax+81h] |
|
.text:0000000000401D35 mov ecx, eax |
|
.text:0000000000401D37 mov rax, [rbp+var_10] |
|
.text:0000000000401D3B movzx eax, byte ptr [rax+82h] |
|
.text:0000000000401D42 mov edx, eax |
|
.text:0000000000401D44 mov eax, ecx |
|
.text:0000000000401D46 imul eax, edx |
|
.text:0000000000401D49 cmp al, 44h |
|
.text:0000000000401D4B jnz short loc_401D77 |
|
.text:0000000000401D4D mov rax, [rbp+var_8] |
|
.text:0000000000401D51 movzx eax, byte ptr [rax+81h] |
|
.text:0000000000401D58 movsx eax, al |
|
.text:0000000000401D5B mov rdx, [rbp+var_10] |
|
.text:0000000000401D5F movzx edx, byte ptr [rdx+82h] |
|
.text:0000000000401D66 movsx esi, dl |
|
.text:0000000000401D69 cdq |
|
.text:0000000000401D6A idiv esi |
|
.text:0000000000401D6C cmp al, 1 |
|
.text:0000000000401D6E jnz short loc_401D77 |
|
.text:0000000000401D70 mov eax, 1 |
|
.text:0000000000401D75 jmp short loc_401D7C |
|
.text:0000000000401D77 ; --------------------------------------------------------------------------- |
|
.text:0000000000401D77 |
|
.text:0000000000401D77 loc_401D77: ; CODE XREF: sub_401D1E+2D↑j |
|
.text:0000000000401D77 ; sub_401D1E+50↑j |
|
.text:0000000000401D77 mov eax, 0 |
|
.text:0000000000401D7C |
|
.text:0000000000401D7C loc_401D7C: ; CODE XREF: sub_401D1E+57↑j |
|
.text:0000000000401D7C pop rbp |
|
.text:0000000000401D7D retn |
|
.text:0000000000401D7D ; } // starts at 401D1E |
|
.text:0000000000401D7D sub_401D1E endp |
|
.text:0000000000401D7D |
|
.text:0000000000401D7E |
|
.text:0000000000401D7E ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401D7E |
|
.text:0000000000401D7E ; Attributes: bp-based frame |
|
.text:0000000000401D7E |
|
.text:0000000000401D7E sub_401D7E proc near ; CODE XREF: sub_4036FC+A97↓p |
|
.text:0000000000401D7E |
|
.text:0000000000401D7E var_10 = qword ptr -10h |
|
.text:0000000000401D7E var_8 = qword ptr -8 |
|
.text:0000000000401D7E |
|
.text:0000000000401D7E ; __unwind { |
|
.text:0000000000401D7E push rbp |
|
.text:0000000000401D7F mov rbp, rsp |
|
.text:0000000000401D82 mov [rbp+var_8], rdi |
|
.text:0000000000401D86 mov [rbp+var_10], rsi |
|
.text:0000000000401D8A mov rax, [rbp+var_8] |
|
.text:0000000000401D8E movzx eax, byte ptr [rax+6Eh] |
|
.text:0000000000401D92 mov edx, eax |
|
.text:0000000000401D94 mov rax, [rbp+var_10] |
|
.text:0000000000401D98 movzx eax, byte ptr [rax+49h] |
|
.text:0000000000401D9C sub edx, eax |
|
.text:0000000000401D9E mov eax, edx |
|
.text:0000000000401DA0 cmp al, 0BAh |
|
.text:0000000000401DA2 jnz short loc_401DC8 |
|
.text:0000000000401DA4 mov rax, [rbp+var_8] |
|
.text:0000000000401DA8 movzx eax, byte ptr [rax+6Eh] |
|
.text:0000000000401DAC mov ecx, eax |
|
.text:0000000000401DAE mov rax, [rbp+var_10] |
|
.text:0000000000401DB2 movzx eax, byte ptr [rax+49h] |
|
.text:0000000000401DB6 mov edx, eax |
|
.text:0000000000401DB8 mov eax, ecx |
|
.text:0000000000401DBA imul eax, edx |
|
.text:0000000000401DBD cmp al, 0D8h |
|
.text:0000000000401DBF jnz short loc_401DC8 |
|
.text:0000000000401DC1 mov eax, 1 |
|
.text:0000000000401DC6 jmp short loc_401DCD |
|
.text:0000000000401DC8 ; --------------------------------------------------------------------------- |
|
.text:0000000000401DC8 |
|
.text:0000000000401DC8 loc_401DC8: ; CODE XREF: sub_401D7E+24↑j |
|
.text:0000000000401DC8 ; sub_401D7E+41↑j |
|
.text:0000000000401DC8 mov eax, 0 |
|
.text:0000000000401DCD |
|
.text:0000000000401DCD loc_401DCD: ; CODE XREF: sub_401D7E+48↑j |
|
.text:0000000000401DCD pop rbp |
|
.text:0000000000401DCE retn |
|
.text:0000000000401DCE ; } // starts at 401D7E |
|
.text:0000000000401DCE sub_401D7E endp |
|
.text:0000000000401DCE |
|
.text:0000000000401DCF |
|
.text:0000000000401DCF ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401DCF |
|
.text:0000000000401DCF ; Attributes: bp-based frame |
|
.text:0000000000401DCF |
|
.text:0000000000401DCF sub_401DCF proc near ; CODE XREF: sub_4036FC+AB6↓p |
|
.text:0000000000401DCF |
|
.text:0000000000401DCF var_10 = qword ptr -10h |
|
.text:0000000000401DCF var_8 = qword ptr -8 |
|
.text:0000000000401DCF |
|
.text:0000000000401DCF ; __unwind { |
|
.text:0000000000401DCF push rbp |
|
.text:0000000000401DD0 mov rbp, rsp |
|
.text:0000000000401DD3 mov [rbp+var_8], rdi |
|
.text:0000000000401DD7 mov [rbp+var_10], rsi |
|
.text:0000000000401DDB mov rax, [rbp+var_8] |
|
.text:0000000000401DDF movzx eax, byte ptr [rax+6Fh] |
|
.text:0000000000401DE3 mov edx, eax |
|
.text:0000000000401DE5 mov rax, [rbp+var_10] |
|
.text:0000000000401DE9 movzx eax, byte ptr [rax+8Ah] |
|
.text:0000000000401DF0 sub edx, eax |
|
.text:0000000000401DF2 mov eax, edx |
|
.text:0000000000401DF4 cmp al, 0BCh |
|
.text:0000000000401DF6 jnz short loc_401E1F |
|
.text:0000000000401DF8 mov rax, [rbp+var_8] |
|
.text:0000000000401DFC movzx eax, byte ptr [rax+6Fh] |
|
.text:0000000000401E00 movsx eax, al |
|
.text:0000000000401E03 mov rdx, [rbp+var_10] |
|
.text:0000000000401E07 movzx edx, byte ptr [rdx+8Ah] |
|
.text:0000000000401E0E movsx ecx, dl |
|
.text:0000000000401E11 cdq |
|
.text:0000000000401E12 idiv ecx |
|
.text:0000000000401E14 test al, al |
|
.text:0000000000401E16 jnz short loc_401E1F |
|
.text:0000000000401E18 mov eax, 1 |
|
.text:0000000000401E1D jmp short loc_401E24 |
|
.text:0000000000401E1F ; --------------------------------------------------------------------------- |
|
.text:0000000000401E1F |
|
.text:0000000000401E1F loc_401E1F: ; CODE XREF: sub_401DCF+27↑j |
|
.text:0000000000401E1F ; sub_401DCF+47↑j |
|
.text:0000000000401E1F mov eax, 0 |
|
.text:0000000000401E24 |
|
.text:0000000000401E24 loc_401E24: ; CODE XREF: sub_401DCF+4E↑j |
|
.text:0000000000401E24 pop rbp |
|
.text:0000000000401E25 retn |
|
.text:0000000000401E25 ; } // starts at 401DCF |
|
.text:0000000000401E25 sub_401DCF endp |
|
.text:0000000000401E25 |
|
.text:0000000000401E26 |
|
.text:0000000000401E26 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401E26 |
|
.text:0000000000401E26 ; Attributes: bp-based frame |
|
.text:0000000000401E26 |
|
.text:0000000000401E26 sub_401E26 proc near ; CODE XREF: sub_4036FC+AD5↓p |
|
.text:0000000000401E26 |
|
.text:0000000000401E26 var_10 = qword ptr -10h |
|
.text:0000000000401E26 var_8 = qword ptr -8 |
|
.text:0000000000401E26 |
|
.text:0000000000401E26 ; __unwind { |
|
.text:0000000000401E26 push rbp |
|
.text:0000000000401E27 mov rbp, rsp |
|
.text:0000000000401E2A mov [rbp+var_8], rdi |
|
.text:0000000000401E2E mov [rbp+var_10], rsi |
|
.text:0000000000401E32 mov rax, [rbp+var_8] |
|
.text:0000000000401E36 movzx eax, byte ptr [rax+83h] |
|
.text:0000000000401E3D movsx eax, al |
|
.text:0000000000401E40 mov rdx, [rbp+var_10] |
|
.text:0000000000401E44 movzx edx, byte ptr [rdx+88h] |
|
.text:0000000000401E4B movsx ecx, dl |
|
.text:0000000000401E4E cdq |
|
.text:0000000000401E4F idiv ecx |
|
.text:0000000000401E51 cmp al, 1 |
|
.text:0000000000401E53 jnz short loc_401E7A |
|
.text:0000000000401E55 mov rax, [rbp+var_8] |
|
.text:0000000000401E59 movzx eax, byte ptr [rax+83h] |
|
.text:0000000000401E60 mov edx, eax |
|
.text:0000000000401E62 mov rax, [rbp+var_10] |
|
.text:0000000000401E66 movzx eax, byte ptr [rax+88h] |
|
.text:0000000000401E6D add eax, edx |
|
.text:0000000000401E6F cmp al, 4Eh |
|
.text:0000000000401E71 jnz short loc_401E7A |
|
.text:0000000000401E73 mov eax, 1 |
|
.text:0000000000401E78 jmp short loc_401E7F |
|
.text:0000000000401E7A ; --------------------------------------------------------------------------- |
|
.text:0000000000401E7A |
|
.text:0000000000401E7A loc_401E7A: ; CODE XREF: sub_401E26+2D↑j |
|
.text:0000000000401E7A ; sub_401E26+4B↑j |
|
.text:0000000000401E7A mov eax, 0 |
|
.text:0000000000401E7F |
|
.text:0000000000401E7F loc_401E7F: ; CODE XREF: sub_401E26+52↑j |
|
.text:0000000000401E7F pop rbp |
|
.text:0000000000401E80 retn |
|
.text:0000000000401E80 ; } // starts at 401E26 |
|
.text:0000000000401E80 sub_401E26 endp |
|
.text:0000000000401E80 |
|
.text:0000000000401E81 |
|
.text:0000000000401E81 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401E81 |
|
.text:0000000000401E81 ; Attributes: bp-based frame |
|
.text:0000000000401E81 |
|
.text:0000000000401E81 sub_401E81 proc near ; CODE XREF: sub_4036FC+AF4↓p |
|
.text:0000000000401E81 |
|
.text:0000000000401E81 var_10 = qword ptr -10h |
|
.text:0000000000401E81 var_8 = qword ptr -8 |
|
.text:0000000000401E81 |
|
.text:0000000000401E81 ; __unwind { |
|
.text:0000000000401E81 push rbp |
|
.text:0000000000401E82 mov rbp, rsp |
|
.text:0000000000401E85 mov [rbp+var_8], rdi |
|
.text:0000000000401E89 mov [rbp+var_10], rsi |
|
.text:0000000000401E8D mov rax, [rbp+var_8] |
|
.text:0000000000401E91 movzx eax, byte ptr [rax+83h] |
|
.text:0000000000401E98 movsx eax, al |
|
.text:0000000000401E9B mov rdx, [rbp+var_10] |
|
.text:0000000000401E9F movzx edx, byte ptr [rdx+89h] |
|
.text:0000000000401EA6 movsx ecx, dl |
|
.text:0000000000401EA9 cdq |
|
.text:0000000000401EAA idiv ecx |
|
.text:0000000000401EAC test al, al |
|
.text:0000000000401EAE jnz short loc_401ED5 |
|
.text:0000000000401EB0 mov rax, [rbp+var_8] |
|
.text:0000000000401EB4 movzx eax, byte ptr [rax+83h] |
|
.text:0000000000401EBB mov edx, eax |
|
.text:0000000000401EBD mov rax, [rbp+var_10] |
|
.text:0000000000401EC1 movzx eax, byte ptr [rax+89h] |
|
.text:0000000000401EC8 add eax, edx |
|
.text:0000000000401ECA cmp al, 8Fh |
|
.text:0000000000401ECC jnz short loc_401ED5 |
|
.text:0000000000401ECE mov eax, 1 |
|
.text:0000000000401ED3 jmp short loc_401EDA |
|
.text:0000000000401ED5 ; --------------------------------------------------------------------------- |
|
.text:0000000000401ED5 |
|
.text:0000000000401ED5 loc_401ED5: ; CODE XREF: sub_401E81+2D↑j |
|
.text:0000000000401ED5 ; sub_401E81+4B↑j |
|
.text:0000000000401ED5 mov eax, 0 |
|
.text:0000000000401EDA |
|
.text:0000000000401EDA loc_401EDA: ; CODE XREF: sub_401E81+52↑j |
|
.text:0000000000401EDA pop rbp |
|
.text:0000000000401EDB retn |
|
.text:0000000000401EDB ; } // starts at 401E81 |
|
.text:0000000000401EDB sub_401E81 endp |
|
.text:0000000000401EDB |
|
.text:0000000000401EDC |
|
.text:0000000000401EDC ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401EDC |
|
.text:0000000000401EDC ; Attributes: bp-based frame |
|
.text:0000000000401EDC |
|
.text:0000000000401EDC sub_401EDC proc near ; CODE XREF: sub_4036FC+B13↓p |
|
.text:0000000000401EDC |
|
.text:0000000000401EDC var_10 = qword ptr -10h |
|
.text:0000000000401EDC var_8 = qword ptr -8 |
|
.text:0000000000401EDC |
|
.text:0000000000401EDC ; __unwind { |
|
.text:0000000000401EDC push rbp |
|
.text:0000000000401EDD mov rbp, rsp |
|
.text:0000000000401EE0 mov [rbp+var_8], rdi |
|
.text:0000000000401EE4 mov [rbp+var_10], rsi |
|
.text:0000000000401EE8 mov rax, [rbp+var_8] |
|
.text:0000000000401EEC mov edx, [rax+84h] |
|
.text:0000000000401EF2 mov rax, [rbp+var_10] |
|
.text:0000000000401EF6 mov eax, [rax+96h] |
|
.text:0000000000401EFC add eax, edx |
|
.text:0000000000401EFE cmp eax, 0E2CAD6C0h |
|
.text:0000000000401F03 jnz short loc_401F2B |
|
.text:0000000000401F05 mov rax, [rbp+var_8] |
|
.text:0000000000401F09 mov edx, [rax+84h] |
|
.text:0000000000401F0F mov rax, [rbp+var_10] |
|
.text:0000000000401F13 mov eax, [rax+96h] |
|
.text:0000000000401F19 sub edx, eax |
|
.text:0000000000401F1B mov eax, edx |
|
.text:0000000000401F1D cmp eax, 5F7F9EEh |
|
.text:0000000000401F22 jnz short loc_401F2B |
|
.text:0000000000401F24 mov eax, 1 |
|
.text:0000000000401F29 jmp short loc_401F30 |
|
.text:0000000000401F2B ; --------------------------------------------------------------------------- |
|
.text:0000000000401F2B |
|
.text:0000000000401F2B loc_401F2B: ; CODE XREF: sub_401EDC+27↑j |
|
.text:0000000000401F2B ; sub_401EDC+46↑j |
|
.text:0000000000401F2B mov eax, 0 |
|
.text:0000000000401F30 |
|
.text:0000000000401F30 loc_401F30: ; CODE XREF: sub_401EDC+4D↑j |
|
.text:0000000000401F30 pop rbp |
|
.text:0000000000401F31 retn |
|
.text:0000000000401F31 ; } // starts at 401EDC |
|
.text:0000000000401F31 sub_401EDC endp |
|
.text:0000000000401F31 |
|
.text:0000000000401F32 |
|
.text:0000000000401F32 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401F32 |
|
.text:0000000000401F32 ; Attributes: bp-based frame |
|
.text:0000000000401F32 |
|
.text:0000000000401F32 sub_401F32 proc near ; CODE XREF: sub_4036FC+B32↓p |
|
.text:0000000000401F32 |
|
.text:0000000000401F32 var_10 = qword ptr -10h |
|
.text:0000000000401F32 var_8 = qword ptr -8 |
|
.text:0000000000401F32 |
|
.text:0000000000401F32 ; __unwind { |
|
.text:0000000000401F32 push rbp |
|
.text:0000000000401F33 mov rbp, rsp |
|
.text:0000000000401F36 mov [rbp+var_8], rdi |
|
.text:0000000000401F3A mov [rbp+var_10], rsi |
|
.text:0000000000401F3E mov rax, [rbp+var_8] |
|
.text:0000000000401F42 mov edx, [rax+84h] |
|
.text:0000000000401F48 mov rax, [rbp+var_10] |
|
.text:0000000000401F4C mov eax, [rax+0D2h] |
|
.text:0000000000401F52 imul eax, edx |
|
.text:0000000000401F55 cmp eax, 8CB0AEB9h |
|
.text:0000000000401F5A jnz short loc_401F80 |
|
.text:0000000000401F5C mov rax, [rbp+var_8] |
|
.text:0000000000401F60 mov edx, [rax+84h] |
|
.text:0000000000401F66 mov rax, [rbp+var_10] |
|
.text:0000000000401F6A mov eax, [rax+0D2h] |
|
.text:0000000000401F70 add eax, edx |
|
.text:0000000000401F72 cmp eax, 948DDFC6h |
|
.text:0000000000401F77 jnz short loc_401F80 |
|
.text:0000000000401F79 mov eax, 1 |
|
.text:0000000000401F7E jmp short loc_401F85 |
|
.text:0000000000401F80 ; --------------------------------------------------------------------------- |
|
.text:0000000000401F80 |
|
.text:0000000000401F80 loc_401F80: ; CODE XREF: sub_401F32+28↑j |
|
.text:0000000000401F80 ; sub_401F32+45↑j |
|
.text:0000000000401F80 mov eax, 0 |
|
.text:0000000000401F85 |
|
.text:0000000000401F85 loc_401F85: ; CODE XREF: sub_401F32+4C↑j |
|
.text:0000000000401F85 pop rbp |
|
.text:0000000000401F86 retn |
|
.text:0000000000401F86 ; } // starts at 401F32 |
|
.text:0000000000401F86 sub_401F32 endp |
|
.text:0000000000401F86 |
|
.text:0000000000401F87 |
|
.text:0000000000401F87 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401F87 |
|
.text:0000000000401F87 ; Attributes: bp-based frame |
|
.text:0000000000401F87 |
|
.text:0000000000401F87 sub_401F87 proc near ; CODE XREF: sub_4036FC+B51↓p |
|
.text:0000000000401F87 |
|
.text:0000000000401F87 var_10 = qword ptr -10h |
|
.text:0000000000401F87 var_8 = qword ptr -8 |
|
.text:0000000000401F87 |
|
.text:0000000000401F87 ; __unwind { |
|
.text:0000000000401F87 push rbp |
|
.text:0000000000401F88 mov rbp, rsp |
|
.text:0000000000401F8B mov [rbp+var_8], rdi |
|
.text:0000000000401F8F mov [rbp+var_10], rsi |
|
.text:0000000000401F93 mov rax, [rbp+var_8] |
|
.text:0000000000401F97 movzx eax, word ptr [rax+88h] |
|
.text:0000000000401F9E mov edx, eax |
|
.text:0000000000401FA0 mov rax, [rbp+var_10] |
|
.text:0000000000401FA4 movzx eax, word ptr [rax+8Ch] |
|
.text:0000000000401FAB imul eax, edx |
|
.text:0000000000401FAE cmp ax, 0A400h |
|
.text:0000000000401FB2 jnz short loc_401FDB |
|
.text:0000000000401FB4 mov rax, [rbp+var_8] |
|
.text:0000000000401FB8 movzx eax, word ptr [rax+88h] |
|
.text:0000000000401FBF mov edx, eax |
|
.text:0000000000401FC1 mov rax, [rbp+var_10] |
|
.text:0000000000401FC5 movzx eax, word ptr [rax+8Ch] |
|
.text:0000000000401FCC add eax, edx |
|
.text:0000000000401FCE cmp ax, 0D540h |
|
.text:0000000000401FD2 jnz short loc_401FDB |
|
.text:0000000000401FD4 mov eax, 1 |
|
.text:0000000000401FD9 jmp short loc_401FE0 |
|
.text:0000000000401FDB ; --------------------------------------------------------------------------- |
|
.text:0000000000401FDB |
|
.text:0000000000401FDB loc_401FDB: ; CODE XREF: sub_401F87+2B↑j |
|
.text:0000000000401FDB ; sub_401F87+4B↑j |
|
.text:0000000000401FDB mov eax, 0 |
|
.text:0000000000401FE0 |
|
.text:0000000000401FE0 loc_401FE0: ; CODE XREF: sub_401F87+52↑j |
|
.text:0000000000401FE0 pop rbp |
|
.text:0000000000401FE1 retn |
|
.text:0000000000401FE1 ; } // starts at 401F87 |
|
.text:0000000000401FE1 sub_401F87 endp |
|
.text:0000000000401FE1 |
|
.text:0000000000401FE2 |
|
.text:0000000000401FE2 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000401FE2 |
|
.text:0000000000401FE2 ; Attributes: bp-based frame |
|
.text:0000000000401FE2 |
|
.text:0000000000401FE2 sub_401FE2 proc near ; CODE XREF: sub_4036FC+B70↓p |
|
.text:0000000000401FE2 |
|
.text:0000000000401FE2 var_10 = qword ptr -10h |
|
.text:0000000000401FE2 var_8 = qword ptr -8 |
|
.text:0000000000401FE2 |
|
.text:0000000000401FE2 ; __unwind { |
|
.text:0000000000401FE2 push rbp |
|
.text:0000000000401FE3 mov rbp, rsp |
|
.text:0000000000401FE6 mov [rbp+var_8], rdi |
|
.text:0000000000401FEA mov [rbp+var_10], rsi |
|
.text:0000000000401FEE mov rax, [rbp+var_8] |
|
.text:0000000000401FF2 movzx eax, word ptr [rax+8Ah] |
|
.text:0000000000401FF9 mov edx, eax |
|
.text:0000000000401FFB mov rax, [rbp+var_10] |
|
.text:0000000000401FFF movzx eax, word ptr [rax+8Ch] |
|
.text:0000000000402006 add eax, edx |
|
.text:0000000000402008 cmp ax, 0D992h |
|
.text:000000000040200C jnz short loc_402037 |
|
.text:000000000040200E mov rax, [rbp+var_8] |
|
.text:0000000000402012 movzx eax, word ptr [rax+8Ah] |
|
.text:0000000000402019 mov edx, eax |
|
.text:000000000040201B mov rax, [rbp+var_10] |
|
.text:000000000040201F movzx eax, word ptr [rax+8Ch] |
|
.text:0000000000402026 sub edx, eax |
|
.text:0000000000402028 mov eax, edx |
|
.text:000000000040202A cmp ax, 0F152h |
|
.text:000000000040202E jnz short loc_402037 |
|
.text:0000000000402030 mov eax, 1 |
|
.text:0000000000402035 jmp short loc_40203C |
|
.text:0000000000402037 ; --------------------------------------------------------------------------- |
|
.text:0000000000402037 |
|
.text:0000000000402037 loc_402037: ; CODE XREF: sub_401FE2+2A↑j |
|
.text:0000000000402037 ; sub_401FE2+4C↑j |
|
.text:0000000000402037 mov eax, 0 |
|
.text:000000000040203C |
|
.text:000000000040203C loc_40203C: ; CODE XREF: sub_401FE2+53↑j |
|
.text:000000000040203C pop rbp |
|
.text:000000000040203D retn |
|
.text:000000000040203D ; } // starts at 401FE2 |
|
.text:000000000040203D sub_401FE2 endp |
|
.text:000000000040203D |
|
.text:000000000040203E |
|
.text:000000000040203E ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040203E |
|
.text:000000000040203E ; Attributes: bp-based frame |
|
.text:000000000040203E |
|
.text:000000000040203E sub_40203E proc near ; CODE XREF: sub_4036FC+B8F↓p |
|
.text:000000000040203E |
|
.text:000000000040203E var_10 = qword ptr -10h |
|
.text:000000000040203E var_8 = qword ptr -8 |
|
.text:000000000040203E |
|
.text:000000000040203E ; __unwind { |
|
.text:000000000040203E push rbp |
|
.text:000000000040203F mov rbp, rsp |
|
.text:0000000000402042 mov [rbp+var_8], rdi |
|
.text:0000000000402046 mov [rbp+var_10], rsi |
|
.text:000000000040204A mov rax, [rbp+var_8] |
|
.text:000000000040204E movzx eax, word ptr [rax+92h] |
|
.text:0000000000402055 mov edx, eax |
|
.text:0000000000402057 mov rax, [rbp+var_10] |
|
.text:000000000040205B movzx eax, word ptr [rax+94h] |
|
.text:0000000000402062 add eax, edx |
|
.text:0000000000402064 cmp ax, 0CA85h |
|
.text:0000000000402068 jnz short loc_402093 |
|
.text:000000000040206A mov rax, [rbp+var_8] |
|
.text:000000000040206E movzx eax, word ptr [rax+92h] |
|
.text:0000000000402075 cwde |
|
.text:0000000000402076 mov rdx, [rbp+var_10] |
|
.text:000000000040207A movzx edx, word ptr [rdx+94h] |
|
.text:0000000000402081 movsx ecx, dx |
|
.text:0000000000402084 cdq |
|
.text:0000000000402085 idiv ecx |
|
.text:0000000000402087 test ax, ax |
|
.text:000000000040208A jnz short loc_402093 |
|
.text:000000000040208C mov eax, 1 |
|
.text:0000000000402091 jmp short loc_402098 |
|
.text:0000000000402093 ; --------------------------------------------------------------------------- |
|
.text:0000000000402093 |
|
.text:0000000000402093 loc_402093: ; CODE XREF: sub_40203E+2A↑j |
|
.text:0000000000402093 ; sub_40203E+4C↑j |
|
.text:0000000000402093 mov eax, 0 |
|
.text:0000000000402098 |
|
.text:0000000000402098 loc_402098: ; CODE XREF: sub_40203E+53↑j |
|
.text:0000000000402098 pop rbp |
|
.text:0000000000402099 retn |
|
.text:0000000000402099 ; } // starts at 40203E |
|
.text:0000000000402099 sub_40203E endp |
|
.text:0000000000402099 |
|
.text:000000000040209A |
|
.text:000000000040209A ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040209A |
|
.text:000000000040209A ; Attributes: bp-based frame |
|
.text:000000000040209A |
|
.text:000000000040209A sub_40209A proc near ; CODE XREF: sub_4036FC+BAE↓p |
|
.text:000000000040209A |
|
.text:000000000040209A var_10 = qword ptr -10h |
|
.text:000000000040209A var_8 = qword ptr -8 |
|
.text:000000000040209A |
|
.text:000000000040209A ; __unwind { |
|
.text:000000000040209A push rbp |
|
.text:000000000040209B mov rbp, rsp |
|
.text:000000000040209E mov [rbp+var_8], rdi |
|
.text:00000000004020A2 mov [rbp+var_10], rsi |
|
.text:00000000004020A6 mov rax, [rbp+var_8] |
|
.text:00000000004020AA movzx eax, word ptr [rax+92h] |
|
.text:00000000004020B1 mov edx, eax |
|
.text:00000000004020B3 mov rax, [rbp+var_10] |
|
.text:00000000004020B7 movzx eax, word ptr [rax+96h] |
|
.text:00000000004020BE add eax, edx |
|
.text:00000000004020C0 cmp ax, 0D289h |
|
.text:00000000004020C4 jnz short loc_4020EE |
|
.text:00000000004020C6 mov rax, [rbp+var_8] |
|
.text:00000000004020CA movzx eax, word ptr [rax+92h] |
|
.text:00000000004020D1 mov edx, eax |
|
.text:00000000004020D3 mov rax, [rbp+var_10] |
|
.text:00000000004020D7 movzx eax, word ptr [rax+96h] |
|
.text:00000000004020DE imul eax, edx |
|
.text:00000000004020E1 cmp ax, 0D120h |
|
.text:00000000004020E5 jnz short loc_4020EE |
|
.text:00000000004020E7 mov eax, 1 |
|
.text:00000000004020EC jmp short loc_4020F3 |
|
.text:00000000004020EE ; --------------------------------------------------------------------------- |
|
.text:00000000004020EE |
|
.text:00000000004020EE loc_4020EE: ; CODE XREF: sub_40209A+2A↑j |
|
.text:00000000004020EE ; sub_40209A+4B↑j |
|
.text:00000000004020EE mov eax, 0 |
|
.text:00000000004020F3 |
|
.text:00000000004020F3 loc_4020F3: ; CODE XREF: sub_40209A+52↑j |
|
.text:00000000004020F3 pop rbp |
|
.text:00000000004020F4 retn |
|
.text:00000000004020F4 ; } // starts at 40209A |
|
.text:00000000004020F4 sub_40209A endp |
|
.text:00000000004020F4 |
|
.text:00000000004020F5 |
|
.text:00000000004020F5 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004020F5 |
|
.text:00000000004020F5 ; Attributes: bp-based frame |
|
.text:00000000004020F5 |
|
.text:00000000004020F5 sub_4020F5 proc near ; CODE XREF: sub_4036FC+BCD↓p |
|
.text:00000000004020F5 |
|
.text:00000000004020F5 var_10 = qword ptr -10h |
|
.text:00000000004020F5 var_8 = qword ptr -8 |
|
.text:00000000004020F5 |
|
.text:00000000004020F5 ; __unwind { |
|
.text:00000000004020F5 push rbp |
|
.text:00000000004020F6 mov rbp, rsp |
|
.text:00000000004020F9 mov [rbp+var_8], rdi |
|
.text:00000000004020FD mov [rbp+var_10], rsi |
|
.text:0000000000402101 mov rax, [rbp+var_8] |
|
.text:0000000000402105 movzx eax, byte ptr [rax+94h] |
|
.text:000000000040210C mov edx, eax |
|
.text:000000000040210E mov rax, [rbp+var_10] |
|
.text:0000000000402112 movzx eax, byte ptr [rax+0A2h] |
|
.text:0000000000402119 sub edx, eax |
|
.text:000000000040211B mov eax, edx |
|
.text:000000000040211D cmp al, 0F1h |
|
.text:000000000040211F jnz short loc_40214B |
|
.text:0000000000402121 mov rax, [rbp+var_8] |
|
.text:0000000000402125 movzx eax, byte ptr [rax+94h] |
|
.text:000000000040212C mov ecx, eax |
|
.text:000000000040212E mov rax, [rbp+var_10] |
|
.text:0000000000402132 movzx eax, byte ptr [rax+0A2h] |
|
.text:0000000000402139 mov edx, eax |
|
.text:000000000040213B mov eax, ecx |
|
.text:000000000040213D imul eax, edx |
|
.text:0000000000402140 cmp al, 0C4h |
|
.text:0000000000402142 jnz short loc_40214B |
|
.text:0000000000402144 mov eax, 1 |
|
.text:0000000000402149 jmp short loc_402150 |
|
.text:000000000040214B ; --------------------------------------------------------------------------- |
|
.text:000000000040214B |
|
.text:000000000040214B loc_40214B: ; CODE XREF: sub_4020F5+2A↑j |
|
.text:000000000040214B ; sub_4020F5+4D↑j |
|
.text:000000000040214B mov eax, 0 |
|
.text:0000000000402150 |
|
.text:0000000000402150 loc_402150: ; CODE XREF: sub_4020F5+54↑j |
|
.text:0000000000402150 pop rbp |
|
.text:0000000000402151 retn |
|
.text:0000000000402151 ; } // starts at 4020F5 |
|
.text:0000000000402151 sub_4020F5 endp |
|
.text:0000000000402151 |
|
.text:0000000000402152 |
|
.text:0000000000402152 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402152 |
|
.text:0000000000402152 ; Attributes: bp-based frame |
|
.text:0000000000402152 |
|
.text:0000000000402152 sub_402152 proc near ; CODE XREF: sub_4036FC+BEC↓p |
|
.text:0000000000402152 |
|
.text:0000000000402152 var_10 = qword ptr -10h |
|
.text:0000000000402152 var_8 = qword ptr -8 |
|
.text:0000000000402152 |
|
.text:0000000000402152 ; __unwind { |
|
.text:0000000000402152 push rbp |
|
.text:0000000000402153 mov rbp, rsp |
|
.text:0000000000402156 mov [rbp+var_8], rdi |
|
.text:000000000040215A mov [rbp+var_10], rsi |
|
.text:000000000040215E mov rax, [rbp+var_8] |
|
.text:0000000000402162 movzx eax, byte ptr [rax+95h] |
|
.text:0000000000402169 movsx eax, al |
|
.text:000000000040216C mov rdx, [rbp+var_10] |
|
.text:0000000000402170 movzx edx, byte ptr [rdx+0A2h] |
|
.text:0000000000402177 movsx ecx, dl |
|
.text:000000000040217A cdq |
|
.text:000000000040217B idiv ecx |
|
.text:000000000040217D test al, al |
|
.text:000000000040217F jnz short loc_4021A6 |
|
.text:0000000000402181 mov rax, [rbp+var_8] |
|
.text:0000000000402185 movzx eax, byte ptr [rax+95h] |
|
.text:000000000040218C mov edx, eax |
|
.text:000000000040218E mov rax, [rbp+var_10] |
|
.text:0000000000402192 movzx eax, byte ptr [rax+0A2h] |
|
.text:0000000000402199 add eax, edx |
|
.text:000000000040219B cmp al, 0DAh |
|
.text:000000000040219D jnz short loc_4021A6 |
|
.text:000000000040219F mov eax, 1 |
|
.text:00000000004021A4 jmp short loc_4021AB |
|
.text:00000000004021A6 ; --------------------------------------------------------------------------- |
|
.text:00000000004021A6 |
|
.text:00000000004021A6 loc_4021A6: ; CODE XREF: sub_402152+2D↑j |
|
.text:00000000004021A6 ; sub_402152+4B↑j |
|
.text:00000000004021A6 mov eax, 0 |
|
.text:00000000004021AB |
|
.text:00000000004021AB loc_4021AB: ; CODE XREF: sub_402152+52↑j |
|
.text:00000000004021AB pop rbp |
|
.text:00000000004021AC retn |
|
.text:00000000004021AC ; } // starts at 402152 |
|
.text:00000000004021AC sub_402152 endp |
|
.text:00000000004021AC |
|
.text:00000000004021AD |
|
.text:00000000004021AD ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004021AD |
|
.text:00000000004021AD ; Attributes: bp-based frame |
|
.text:00000000004021AD |
|
.text:00000000004021AD sub_4021AD proc near ; CODE XREF: sub_4036FC+C0B↓p |
|
.text:00000000004021AD |
|
.text:00000000004021AD var_10 = qword ptr -10h |
|
.text:00000000004021AD var_8 = qword ptr -8 |
|
.text:00000000004021AD |
|
.text:00000000004021AD ; __unwind { |
|
.text:00000000004021AD push rbp |
|
.text:00000000004021AE mov rbp, rsp |
|
.text:00000000004021B1 mov [rbp+var_8], rdi |
|
.text:00000000004021B5 mov [rbp+var_10], rsi |
|
.text:00000000004021B9 mov rax, [rbp+var_8] |
|
.text:00000000004021BD movzx eax, word ptr [rax+98h] |
|
.text:00000000004021C4 mov edx, eax |
|
.text:00000000004021C6 mov rax, [rbp+var_10] |
|
.text:00000000004021CA movzx eax, word ptr [rax+8Eh] |
|
.text:00000000004021D1 sub edx, eax |
|
.text:00000000004021D3 mov eax, edx |
|
.text:00000000004021D5 cmp ax, 0FC01h |
|
.text:00000000004021D9 jnz short loc_402203 |
|
.text:00000000004021DB mov rax, [rbp+var_8] |
|
.text:00000000004021DF movzx eax, word ptr [rax+98h] |
|
.text:00000000004021E6 mov edx, eax |
|
.text:00000000004021E8 mov rax, [rbp+var_10] |
|
.text:00000000004021EC movzx eax, word ptr [rax+8Eh] |
|
.text:00000000004021F3 imul eax, edx |
|
.text:00000000004021F6 cmp ax, 9CA8h |
|
.text:00000000004021FA jnz short loc_402203 |
|
.text:00000000004021FC mov eax, 1 |
|
.text:0000000000402201 jmp short loc_402208 |
|
.text:0000000000402203 ; --------------------------------------------------------------------------- |
|
.text:0000000000402203 |
|
.text:0000000000402203 loc_402203: ; CODE XREF: sub_4021AD+2C↑j |
|
.text:0000000000402203 ; sub_4021AD+4D↑j |
|
.text:0000000000402203 mov eax, 0 |
|
.text:0000000000402208 |
|
.text:0000000000402208 loc_402208: ; CODE XREF: sub_4021AD+54↑j |
|
.text:0000000000402208 pop rbp |
|
.text:0000000000402209 retn |
|
.text:0000000000402209 ; } // starts at 4021AD |
|
.text:0000000000402209 sub_4021AD endp |
|
.text:0000000000402209 |
|
.text:000000000040220A |
|
.text:000000000040220A ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040220A |
|
.text:000000000040220A ; Attributes: bp-based frame |
|
.text:000000000040220A |
|
.text:000000000040220A sub_40220A proc near ; CODE XREF: sub_4036FC+C2A↓p |
|
.text:000000000040220A |
|
.text:000000000040220A var_10 = qword ptr -10h |
|
.text:000000000040220A var_8 = qword ptr -8 |
|
.text:000000000040220A |
|
.text:000000000040220A ; __unwind { |
|
.text:000000000040220A push rbp |
|
.text:000000000040220B mov rbp, rsp |
|
.text:000000000040220E mov [rbp+var_8], rdi |
|
.text:0000000000402212 mov [rbp+var_10], rsi |
|
.text:0000000000402216 mov rax, [rbp+var_8] |
|
.text:000000000040221A movzx eax, byte ptr [rax+9Ah] |
|
.text:0000000000402221 movsx eax, al |
|
.text:0000000000402224 mov rdx, [rbp+var_10] |
|
.text:0000000000402228 movzx edx, byte ptr [rdx+6Bh] |
|
.text:000000000040222C movsx ecx, dl |
|
.text:000000000040222F cdq |
|
.text:0000000000402230 idiv ecx |
|
.text:0000000000402232 cmp al, 1 |
|
.text:0000000000402234 jnz short loc_402258 |
|
.text:0000000000402236 mov rax, [rbp+var_8] |
|
.text:000000000040223A movzx eax, byte ptr [rax+9Ah] |
|
.text:0000000000402241 mov edx, eax |
|
.text:0000000000402243 mov rax, [rbp+var_10] |
|
.text:0000000000402247 movzx eax, byte ptr [rax+6Bh] |
|
.text:000000000040224B add eax, edx |
|
.text:000000000040224D cmp al, 0A6h |
|
.text:000000000040224F jnz short loc_402258 |
|
.text:0000000000402251 mov eax, 1 |
|
.text:0000000000402256 jmp short loc_40225D |
|
.text:0000000000402258 ; --------------------------------------------------------------------------- |
|
.text:0000000000402258 |
|
.text:0000000000402258 loc_402258: ; CODE XREF: sub_40220A+2A↑j |
|
.text:0000000000402258 ; sub_40220A+45↑j |
|
.text:0000000000402258 mov eax, 0 |
|
.text:000000000040225D |
|
.text:000000000040225D loc_40225D: ; CODE XREF: sub_40220A+4C↑j |
|
.text:000000000040225D pop rbp |
|
.text:000000000040225E retn |
|
.text:000000000040225E ; } // starts at 40220A |
|
.text:000000000040225E sub_40220A endp |
|
.text:000000000040225E |
|
.text:000000000040225F |
|
.text:000000000040225F ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040225F |
|
.text:000000000040225F ; Attributes: bp-based frame |
|
.text:000000000040225F |
|
.text:000000000040225F sub_40225F proc near ; CODE XREF: sub_4036FC+C49↓p |
|
.text:000000000040225F |
|
.text:000000000040225F var_10 = qword ptr -10h |
|
.text:000000000040225F var_8 = qword ptr -8 |
|
.text:000000000040225F |
|
.text:000000000040225F ; __unwind { |
|
.text:000000000040225F push rbp |
|
.text:0000000000402260 mov rbp, rsp |
|
.text:0000000000402263 mov [rbp+var_8], rdi |
|
.text:0000000000402267 mov [rbp+var_10], rsi |
|
.text:000000000040226B mov rax, [rbp+var_8] |
|
.text:000000000040226F movzx eax, byte ptr [rax+0A0h] |
|
.text:0000000000402276 movsx eax, al |
|
.text:0000000000402279 mov rdx, [rbp+var_10] |
|
.text:000000000040227D movzx edx, byte ptr [rdx+8Bh] |
|
.text:0000000000402284 movsx ecx, dl |
|
.text:0000000000402287 cdq |
|
.text:0000000000402288 idiv ecx |
|
.text:000000000040228A test al, al |
|
.text:000000000040228C jnz short loc_4022B5 |
|
.text:000000000040228E mov rax, [rbp+var_8] |
|
.text:0000000000402292 movzx eax, byte ptr [rax+0A0h] |
|
.text:0000000000402299 mov edx, eax |
|
.text:000000000040229B mov rax, [rbp+var_10] |
|
.text:000000000040229F movzx eax, byte ptr [rax+8Bh] |
|
.text:00000000004022A6 sub edx, eax |
|
.text:00000000004022A8 mov eax, edx |
|
.text:00000000004022AA cmp al, 0FCh |
|
.text:00000000004022AC jnz short loc_4022B5 |
|
.text:00000000004022AE mov eax, 1 |
|
.text:00000000004022B3 jmp short loc_4022BA |
|
.text:00000000004022B5 ; --------------------------------------------------------------------------- |
|
.text:00000000004022B5 |
|
.text:00000000004022B5 loc_4022B5: ; CODE XREF: sub_40225F+2D↑j |
|
.text:00000000004022B5 ; sub_40225F+4D↑j |
|
.text:00000000004022B5 mov eax, 0 |
|
.text:00000000004022BA |
|
.text:00000000004022BA loc_4022BA: ; CODE XREF: sub_40225F+54↑j |
|
.text:00000000004022BA pop rbp |
|
.text:00000000004022BB retn |
|
.text:00000000004022BB ; } // starts at 40225F |
|
.text:00000000004022BB sub_40225F endp |
|
.text:00000000004022BB |
|
.text:00000000004022BC |
|
.text:00000000004022BC ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004022BC |
|
.text:00000000004022BC ; Attributes: bp-based frame |
|
.text:00000000004022BC |
|
.text:00000000004022BC sub_4022BC proc near ; CODE XREF: sub_4036FC+C68↓p |
|
.text:00000000004022BC |
|
.text:00000000004022BC var_10 = qword ptr -10h |
|
.text:00000000004022BC var_8 = qword ptr -8 |
|
.text:00000000004022BC |
|
.text:00000000004022BC ; __unwind { |
|
.text:00000000004022BC push rbp |
|
.text:00000000004022BD mov rbp, rsp |
|
.text:00000000004022C0 mov [rbp+var_8], rdi |
|
.text:00000000004022C4 mov [rbp+var_10], rsi |
|
.text:00000000004022C8 mov rax, [rbp+var_8] |
|
.text:00000000004022CC movzx eax, byte ptr [rax+0A1h] |
|
.text:00000000004022D3 mov ecx, eax |
|
.text:00000000004022D5 mov rax, [rbp+var_10] |
|
.text:00000000004022D9 movzx eax, byte ptr [rax+9Eh] |
|
.text:00000000004022E0 mov edx, eax |
|
.text:00000000004022E2 mov eax, ecx |
|
.text:00000000004022E4 imul eax, edx |
|
.text:00000000004022E7 cmp al, 83h |
|
.text:00000000004022E9 jnz short loc_402310 |
|
.text:00000000004022EB mov rax, [rbp+var_8] |
|
.text:00000000004022EF movzx eax, byte ptr [rax+0A1h] |
|
.text:00000000004022F6 mov edx, eax |
|
.text:00000000004022F8 mov rax, [rbp+var_10] |
|
.text:00000000004022FC movzx eax, byte ptr [rax+9Eh] |
|
.text:0000000000402303 add eax, edx |
|
.text:0000000000402305 cmp al, 0C4h |
|
.text:0000000000402307 jnz short loc_402310 |
|
.text:0000000000402309 mov eax, 1 |
|
.text:000000000040230E jmp short loc_402315 |
|
.text:0000000000402310 ; --------------------------------------------------------------------------- |
|
.text:0000000000402310 |
|
.text:0000000000402310 loc_402310: ; CODE XREF: sub_4022BC+2D↑j |
|
.text:0000000000402310 ; sub_4022BC+4B↑j |
|
.text:0000000000402310 mov eax, 0 |
|
.text:0000000000402315 |
|
.text:0000000000402315 loc_402315: ; CODE XREF: sub_4022BC+52↑j |
|
.text:0000000000402315 pop rbp |
|
.text:0000000000402316 retn |
|
.text:0000000000402316 ; } // starts at 4022BC |
|
.text:0000000000402316 sub_4022BC endp |
|
.text:0000000000402316 |
|
.text:0000000000402317 |
|
.text:0000000000402317 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402317 |
|
.text:0000000000402317 ; Attributes: bp-based frame |
|
.text:0000000000402317 |
|
.text:0000000000402317 sub_402317 proc near ; CODE XREF: sub_4036FC+C87↓p |
|
.text:0000000000402317 |
|
.text:0000000000402317 var_10 = qword ptr -10h |
|
.text:0000000000402317 var_8 = qword ptr -8 |
|
.text:0000000000402317 |
|
.text:0000000000402317 ; __unwind { |
|
.text:0000000000402317 push rbp |
|
.text:0000000000402318 mov rbp, rsp |
|
.text:000000000040231B mov [rbp+var_8], rdi |
|
.text:000000000040231F mov [rbp+var_10], rsi |
|
.text:0000000000402323 mov rax, [rbp+var_8] |
|
.text:0000000000402327 movzx eax, word ptr [rax+9Ch] |
|
.text:000000000040232E mov edx, eax |
|
.text:0000000000402330 mov rax, [rbp+var_10] |
|
.text:0000000000402334 movzx eax, word ptr [rax+8Eh] |
|
.text:000000000040233B add eax, edx |
|
.text:000000000040233D cmp ax, 0DACBh |
|
.text:0000000000402341 jnz short loc_40236C |
|
.text:0000000000402343 mov rax, [rbp+var_8] |
|
.text:0000000000402347 movzx eax, word ptr [rax+9Ch] |
|
.text:000000000040234E cwde |
|
.text:000000000040234F mov rdx, [rbp+var_10] |
|
.text:0000000000402353 movzx edx, word ptr [rdx+8Eh] |
|
.text:000000000040235A movsx ecx, dx |
|
.text:000000000040235D cdq |
|
.text:000000000040235E idiv ecx |
|
.text:0000000000402360 test ax, ax |
|
.text:0000000000402363 jnz short loc_40236C |
|
.text:0000000000402365 mov eax, 1 |
|
.text:000000000040236A jmp short loc_402371 |
|
.text:000000000040236C ; --------------------------------------------------------------------------- |
|
.text:000000000040236C |
|
.text:000000000040236C loc_40236C: ; CODE XREF: sub_402317+2A↑j |
|
.text:000000000040236C ; sub_402317+4C↑j |
|
.text:000000000040236C mov eax, 0 |
|
.text:0000000000402371 |
|
.text:0000000000402371 loc_402371: ; CODE XREF: sub_402317+53↑j |
|
.text:0000000000402371 pop rbp |
|
.text:0000000000402372 retn |
|
.text:0000000000402372 ; } // starts at 402317 |
|
.text:0000000000402372 sub_402317 endp |
|
.text:0000000000402372 |
|
.text:0000000000402373 |
|
.text:0000000000402373 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402373 |
|
.text:0000000000402373 ; Attributes: bp-based frame |
|
.text:0000000000402373 |
|
.text:0000000000402373 sub_402373 proc near ; CODE XREF: sub_4036FC+CA6↓p |
|
.text:0000000000402373 |
|
.text:0000000000402373 var_10 = qword ptr -10h |
|
.text:0000000000402373 var_8 = qword ptr -8 |
|
.text:0000000000402373 |
|
.text:0000000000402373 ; __unwind { |
|
.text:0000000000402373 push rbp |
|
.text:0000000000402374 mov rbp, rsp |
|
.text:0000000000402377 mov [rbp+var_8], rdi |
|
.text:000000000040237B mov [rbp+var_10], rsi |
|
.text:000000000040237F mov rax, [rbp+var_8] |
|
.text:0000000000402383 movzx eax, byte ptr [rax+0A6h] |
|
.text:000000000040238A mov ecx, eax |
|
.text:000000000040238C mov rax, [rbp+var_10] |
|
.text:0000000000402390 movzx eax, byte ptr [rax+9Fh] |
|
.text:0000000000402397 mov edx, eax |
|
.text:0000000000402399 mov eax, ecx |
|
.text:000000000040239B imul eax, edx |
|
.text:000000000040239E cmp al, 36h |
|
.text:00000000004023A0 jnz short loc_4023C7 |
|
.text:00000000004023A2 mov rax, [rbp+var_8] |
|
.text:00000000004023A6 movzx eax, byte ptr [rax+0A6h] |
|
.text:00000000004023AD mov edx, eax |
|
.text:00000000004023AF mov rax, [rbp+var_10] |
|
.text:00000000004023B3 movzx eax, byte ptr [rax+9Fh] |
|
.text:00000000004023BA add eax, edx |
|
.text:00000000004023BC cmp al, 0E5h |
|
.text:00000000004023BE jnz short loc_4023C7 |
|
.text:00000000004023C0 mov eax, 1 |
|
.text:00000000004023C5 jmp short loc_4023CC |
|
.text:00000000004023C7 ; --------------------------------------------------------------------------- |
|
.text:00000000004023C7 |
|
.text:00000000004023C7 loc_4023C7: ; CODE XREF: sub_402373+2D↑j |
|
.text:00000000004023C7 ; sub_402373+4B↑j |
|
.text:00000000004023C7 mov eax, 0 |
|
.text:00000000004023CC |
|
.text:00000000004023CC loc_4023CC: ; CODE XREF: sub_402373+52↑j |
|
.text:00000000004023CC pop rbp |
|
.text:00000000004023CD retn |
|
.text:00000000004023CD ; } // starts at 402373 |
|
.text:00000000004023CD sub_402373 endp |
|
.text:00000000004023CD |
|
.text:00000000004023CE |
|
.text:00000000004023CE ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004023CE |
|
.text:00000000004023CE ; Attributes: bp-based frame |
|
.text:00000000004023CE |
|
.text:00000000004023CE sub_4023CE proc near ; CODE XREF: sub_4036FC+CC5↓p |
|
.text:00000000004023CE |
|
.text:00000000004023CE var_10 = qword ptr -10h |
|
.text:00000000004023CE var_8 = qword ptr -8 |
|
.text:00000000004023CE |
|
.text:00000000004023CE ; __unwind { |
|
.text:00000000004023CE push rbp |
|
.text:00000000004023CF mov rbp, rsp |
|
.text:00000000004023D2 mov [rbp+var_8], rdi |
|
.text:00000000004023D6 mov [rbp+var_10], rsi |
|
.text:00000000004023DA mov rax, [rbp+var_8] |
|
.text:00000000004023DE movzx eax, byte ptr [rax+0A4h] |
|
.text:00000000004023E5 mov edx, eax |
|
.text:00000000004023E7 mov rax, [rbp+var_10] |
|
.text:00000000004023EB movzx eax, byte ptr [rax+9Bh] |
|
.text:00000000004023F2 sub edx, eax |
|
.text:00000000004023F4 mov eax, edx |
|
.text:00000000004023F6 cmp al, 52h |
|
.text:00000000004023F8 jnz short loc_402424 |
|
.text:00000000004023FA mov rax, [rbp+var_8] |
|
.text:00000000004023FE movzx eax, byte ptr [rax+0A4h] |
|
.text:0000000000402405 mov ecx, eax |
|
.text:0000000000402407 mov rax, [rbp+var_10] |
|
.text:000000000040240B movzx eax, byte ptr [rax+9Bh] |
|
.text:0000000000402412 mov edx, eax |
|
.text:0000000000402414 mov eax, ecx |
|
.text:0000000000402416 imul eax, edx |
|
.text:0000000000402419 cmp al, 40h |
|
.text:000000000040241B jnz short loc_402424 |
|
.text:000000000040241D mov eax, 1 |
|
.text:0000000000402422 jmp short loc_402429 |
|
.text:0000000000402424 ; --------------------------------------------------------------------------- |
|
.text:0000000000402424 |
|
.text:0000000000402424 loc_402424: ; CODE XREF: sub_4023CE+2A↑j |
|
.text:0000000000402424 ; sub_4023CE+4D↑j |
|
.text:0000000000402424 mov eax, 0 |
|
.text:0000000000402429 |
|
.text:0000000000402429 loc_402429: ; CODE XREF: sub_4023CE+54↑j |
|
.text:0000000000402429 pop rbp |
|
.text:000000000040242A retn |
|
.text:000000000040242A ; } // starts at 4023CE |
|
.text:000000000040242A sub_4023CE endp |
|
.text:000000000040242A |
|
.text:000000000040242B |
|
.text:000000000040242B ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040242B |
|
.text:000000000040242B ; Attributes: bp-based frame |
|
.text:000000000040242B |
|
.text:000000000040242B sub_40242B proc near ; CODE XREF: sub_4036FC+CE4↓p |
|
.text:000000000040242B |
|
.text:000000000040242B var_10 = qword ptr -10h |
|
.text:000000000040242B var_8 = qword ptr -8 |
|
.text:000000000040242B |
|
.text:000000000040242B ; __unwind { |
|
.text:000000000040242B push rbp |
|
.text:000000000040242C mov rbp, rsp |
|
.text:000000000040242F mov [rbp+var_8], rdi |
|
.text:0000000000402433 mov [rbp+var_10], rsi |
|
.text:0000000000402437 mov rax, [rbp+var_8] |
|
.text:000000000040243B movzx eax, byte ptr [rax+0A4h] |
|
.text:0000000000402442 mov edx, eax |
|
.text:0000000000402444 mov rax, [rbp+var_10] |
|
.text:0000000000402448 movzx eax, byte ptr [rax+0AAh] |
|
.text:000000000040244F add eax, edx |
|
.text:0000000000402451 cmp al, 0E5h |
|
.text:0000000000402453 jnz short loc_40247F |
|
.text:0000000000402455 mov rax, [rbp+var_8] |
|
.text:0000000000402459 movzx eax, byte ptr [rax+0A4h] |
|
.text:0000000000402460 movsx eax, al |
|
.text:0000000000402463 mov rdx, [rbp+var_10] |
|
.text:0000000000402467 movzx edx, byte ptr [rdx+0AAh] |
|
.text:000000000040246E movsx ecx, dl |
|
.text:0000000000402471 cdq |
|
.text:0000000000402472 idiv ecx |
|
.text:0000000000402474 test al, al |
|
.text:0000000000402476 jnz short loc_40247F |
|
.text:0000000000402478 mov eax, 1 |
|
.text:000000000040247D jmp short loc_402484 |
|
.text:000000000040247F ; --------------------------------------------------------------------------- |
|
.text:000000000040247F |
|
.text:000000000040247F loc_40247F: ; CODE XREF: sub_40242B+28↑j |
|
.text:000000000040247F ; sub_40242B+4B↑j |
|
.text:000000000040247F mov eax, 0 |
|
.text:0000000000402484 |
|
.text:0000000000402484 loc_402484: ; CODE XREF: sub_40242B+52↑j |
|
.text:0000000000402484 pop rbp |
|
.text:0000000000402485 retn |
|
.text:0000000000402485 ; } // starts at 40242B |
|
.text:0000000000402485 sub_40242B endp |
|
.text:0000000000402485 |
|
.text:0000000000402486 |
|
.text:0000000000402486 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402486 |
|
.text:0000000000402486 ; Attributes: bp-based frame |
|
.text:0000000000402486 |
|
.text:0000000000402486 sub_402486 proc near ; CODE XREF: sub_4036FC+D03↓p |
|
.text:0000000000402486 |
|
.text:0000000000402486 var_10 = qword ptr -10h |
|
.text:0000000000402486 var_8 = qword ptr -8 |
|
.text:0000000000402486 |
|
.text:0000000000402486 ; __unwind { |
|
.text:0000000000402486 push rbp |
|
.text:0000000000402487 mov rbp, rsp |
|
.text:000000000040248A mov [rbp+var_8], rdi |
|
.text:000000000040248E mov [rbp+var_10], rsi |
|
.text:0000000000402492 mov rax, [rbp+var_8] |
|
.text:0000000000402496 movzx eax, word ptr [rax+0ACh] |
|
.text:000000000040249D mov edx, eax |
|
.text:000000000040249F mov rax, [rbp+var_10] |
|
.text:00000000004024A3 movzx eax, word ptr [rax+0AEh] |
|
.text:00000000004024AA sub edx, eax |
|
.text:00000000004024AC mov eax, edx |
|
.text:00000000004024AE cmp ax, 0ED4Fh |
|
.text:00000000004024B2 jnz short loc_4024DB |
|
.text:00000000004024B4 mov rax, [rbp+var_8] |
|
.text:00000000004024B8 movzx eax, word ptr [rax+0ACh] |
|
.text:00000000004024BF mov edx, eax |
|
.text:00000000004024C1 mov rax, [rbp+var_10] |
|
.text:00000000004024C5 movzx eax, word ptr [rax+0AEh] |
|
.text:00000000004024CC add eax, edx |
|
.text:00000000004024CE cmp ax, 0DF8Fh |
|
.text:00000000004024D2 jnz short loc_4024DB |
|
.text:00000000004024D4 mov eax, 1 |
|
.text:00000000004024D9 jmp short loc_4024E0 |
|
.text:00000000004024DB ; --------------------------------------------------------------------------- |
|
.text:00000000004024DB |
|
.text:00000000004024DB loc_4024DB: ; CODE XREF: sub_402486+2C↑j |
|
.text:00000000004024DB ; sub_402486+4C↑j |
|
.text:00000000004024DB mov eax, 0 |
|
.text:00000000004024E0 |
|
.text:00000000004024E0 loc_4024E0: ; CODE XREF: sub_402486+53↑j |
|
.text:00000000004024E0 pop rbp |
|
.text:00000000004024E1 retn |
|
.text:00000000004024E1 ; } // starts at 402486 |
|
.text:00000000004024E1 sub_402486 endp |
|
.text:00000000004024E1 |
|
.text:00000000004024E2 |
|
.text:00000000004024E2 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004024E2 |
|
.text:00000000004024E2 ; Attributes: bp-based frame |
|
.text:00000000004024E2 |
|
.text:00000000004024E2 sub_4024E2 proc near ; CODE XREF: sub_4036FC+D22↓p |
|
.text:00000000004024E2 |
|
.text:00000000004024E2 var_10 = qword ptr -10h |
|
.text:00000000004024E2 var_8 = qword ptr -8 |
|
.text:00000000004024E2 |
|
.text:00000000004024E2 ; __unwind { |
|
.text:00000000004024E2 push rbp |
|
.text:00000000004024E3 mov rbp, rsp |
|
.text:00000000004024E6 mov [rbp+var_8], rdi |
|
.text:00000000004024EA mov [rbp+var_10], rsi |
|
.text:00000000004024EE mov rax, [rbp+var_8] |
|
.text:00000000004024F2 movzx eax, word ptr [rax+0AEh] |
|
.text:00000000004024F9 cwde |
|
.text:00000000004024FA mov rdx, [rbp+var_10] |
|
.text:00000000004024FE movzx edx, word ptr [rdx+0C2h] |
|
.text:0000000000402505 movsx ecx, dx |
|
.text:0000000000402508 cdq |
|
.text:0000000000402509 idiv ecx |
|
.text:000000000040250B cmp ax, 2 |
|
.text:000000000040250F jnz short loc_402539 |
|
.text:0000000000402511 mov rax, [rbp+var_8] |
|
.text:0000000000402515 movzx eax, word ptr [rax+0AEh] |
|
.text:000000000040251C mov edx, eax |
|
.text:000000000040251E mov rax, [rbp+var_10] |
|
.text:0000000000402522 movzx eax, word ptr [rax+0C2h] |
|
.text:0000000000402529 imul eax, edx |
|
.text:000000000040252C cmp ax, 83C0h |
|
.text:0000000000402530 jnz short loc_402539 |
|
.text:0000000000402532 mov eax, 1 |
|
.text:0000000000402537 jmp short loc_40253E |
|
.text:0000000000402539 ; --------------------------------------------------------------------------- |
|
.text:0000000000402539 |
|
.text:0000000000402539 loc_402539: ; CODE XREF: sub_4024E2+2D↑j |
|
.text:0000000000402539 ; sub_4024E2+4E↑j |
|
.text:0000000000402539 mov eax, 0 |
|
.text:000000000040253E |
|
.text:000000000040253E loc_40253E: ; CODE XREF: sub_4024E2+55↑j |
|
.text:000000000040253E pop rbp |
|
.text:000000000040253F retn |
|
.text:000000000040253F ; } // starts at 4024E2 |
|
.text:000000000040253F sub_4024E2 endp |
|
.text:000000000040253F |
|
.text:0000000000402540 |
|
.text:0000000000402540 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402540 |
|
.text:0000000000402540 ; Attributes: bp-based frame |
|
.text:0000000000402540 |
|
.text:0000000000402540 sub_402540 proc near ; CODE XREF: sub_4036FC+D41↓p |
|
.text:0000000000402540 |
|
.text:0000000000402540 var_10 = qword ptr -10h |
|
.text:0000000000402540 var_8 = qword ptr -8 |
|
.text:0000000000402540 |
|
.text:0000000000402540 ; __unwind { |
|
.text:0000000000402540 push rbp |
|
.text:0000000000402541 mov rbp, rsp |
|
.text:0000000000402544 mov [rbp+var_8], rdi |
|
.text:0000000000402548 mov [rbp+var_10], rsi |
|
.text:000000000040254C mov rax, [rbp+var_8] |
|
.text:0000000000402550 movzx eax, byte ptr [rax+0A3h] |
|
.text:0000000000402557 mov ecx, eax |
|
.text:0000000000402559 mov rax, [rbp+var_10] |
|
.text:000000000040255D movzx eax, byte ptr [rax+0A5h] |
|
.text:0000000000402564 mov edx, eax |
|
.text:0000000000402566 mov eax, ecx |
|
.text:0000000000402568 imul eax, edx |
|
.text:000000000040256B cmp al, 6Dh |
|
.text:000000000040256D jnz short loc_402596 |
|
.text:000000000040256F mov rax, [rbp+var_8] |
|
.text:0000000000402573 movzx eax, byte ptr [rax+0A3h] |
|
.text:000000000040257A mov edx, eax |
|
.text:000000000040257C mov rax, [rbp+var_10] |
|
.text:0000000000402580 movzx eax, byte ptr [rax+0A5h] |
|
.text:0000000000402587 sub edx, eax |
|
.text:0000000000402589 mov eax, edx |
|
.text:000000000040258B cmp al, 0FCh |
|
.text:000000000040258D jnz short loc_402596 |
|
.text:000000000040258F mov eax, 1 |
|
.text:0000000000402594 jmp short loc_40259B |
|
.text:0000000000402596 ; --------------------------------------------------------------------------- |
|
.text:0000000000402596 |
|
.text:0000000000402596 loc_402596: ; CODE XREF: sub_402540+2D↑j |
|
.text:0000000000402596 ; sub_402540+4D↑j |
|
.text:0000000000402596 mov eax, 0 |
|
.text:000000000040259B |
|
.text:000000000040259B loc_40259B: ; CODE XREF: sub_402540+54↑j |
|
.text:000000000040259B pop rbp |
|
.text:000000000040259C retn |
|
.text:000000000040259C ; } // starts at 402540 |
|
.text:000000000040259C sub_402540 endp |
|
.text:000000000040259C |
|
.text:000000000040259D |
|
.text:000000000040259D ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040259D |
|
.text:000000000040259D ; Attributes: bp-based frame |
|
.text:000000000040259D |
|
.text:000000000040259D sub_40259D proc near ; CODE XREF: sub_4036FC+D60↓p |
|
.text:000000000040259D |
|
.text:000000000040259D var_10 = qword ptr -10h |
|
.text:000000000040259D var_8 = qword ptr -8 |
|
.text:000000000040259D |
|
.text:000000000040259D ; __unwind { |
|
.text:000000000040259D push rbp |
|
.text:000000000040259E mov rbp, rsp |
|
.text:00000000004025A1 mov [rbp+var_8], rdi |
|
.text:00000000004025A5 mov [rbp+var_10], rsi |
|
.text:00000000004025A9 mov rax, [rbp+var_8] |
|
.text:00000000004025AD movzx eax, byte ptr [rax+0A3h] |
|
.text:00000000004025B4 mov edx, eax |
|
.text:00000000004025B6 mov rax, [rbp+var_10] |
|
.text:00000000004025BA movzx eax, byte ptr [rax+0A8h] |
|
.text:00000000004025C1 sub edx, eax |
|
.text:00000000004025C3 mov eax, edx |
|
.text:00000000004025C5 cmp al, 0FCh |
|
.text:00000000004025C7 jnz short loc_4025EE |
|
.text:00000000004025C9 mov rax, [rbp+var_8] |
|
.text:00000000004025CD movzx eax, byte ptr [rax+0A3h] |
|
.text:00000000004025D4 mov edx, eax |
|
.text:00000000004025D6 mov rax, [rbp+var_10] |
|
.text:00000000004025DA movzx eax, byte ptr [rax+0A8h] |
|
.text:00000000004025E1 add eax, edx |
|
.text:00000000004025E3 cmp al, 0CEh |
|
.text:00000000004025E5 jnz short loc_4025EE |
|
.text:00000000004025E7 mov eax, 1 |
|
.text:00000000004025EC jmp short loc_4025F3 |
|
.text:00000000004025EE ; --------------------------------------------------------------------------- |
|
.text:00000000004025EE |
|
.text:00000000004025EE loc_4025EE: ; CODE XREF: sub_40259D+2A↑j |
|
.text:00000000004025EE ; sub_40259D+48↑j |
|
.text:00000000004025EE mov eax, 0 |
|
.text:00000000004025F3 |
|
.text:00000000004025F3 loc_4025F3: ; CODE XREF: sub_40259D+4F↑j |
|
.text:00000000004025F3 pop rbp |
|
.text:00000000004025F4 retn |
|
.text:00000000004025F4 ; } // starts at 40259D |
|
.text:00000000004025F4 sub_40259D endp |
|
.text:00000000004025F4 |
|
.text:00000000004025F5 |
|
.text:00000000004025F5 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004025F5 |
|
.text:00000000004025F5 ; Attributes: bp-based frame |
|
.text:00000000004025F5 |
|
.text:00000000004025F5 sub_4025F5 proc near ; CODE XREF: sub_4036FC+D7F↓p |
|
.text:00000000004025F5 |
|
.text:00000000004025F5 var_10 = qword ptr -10h |
|
.text:00000000004025F5 var_8 = qword ptr -8 |
|
.text:00000000004025F5 |
|
.text:00000000004025F5 ; __unwind { |
|
.text:00000000004025F5 push rbp |
|
.text:00000000004025F6 mov rbp, rsp |
|
.text:00000000004025F9 mov [rbp+var_8], rdi |
|
.text:00000000004025FD mov [rbp+var_10], rsi |
|
.text:0000000000402601 mov rax, [rbp+var_8] |
|
.text:0000000000402605 movzx eax, word ptr [rax+0A8h] |
|
.text:000000000040260C mov edx, eax |
|
.text:000000000040260E mov rax, [rbp+var_10] |
|
.text:0000000000402612 movzx eax, word ptr [rax+0B6h] |
|
.text:0000000000402619 add eax, edx |
|
.text:000000000040261B cmp ax, 0A2DDh |
|
.text:000000000040261F jnz short loc_40264A |
|
.text:0000000000402621 mov rax, [rbp+var_8] |
|
.text:0000000000402625 movzx eax, word ptr [rax+0A8h] |
|
.text:000000000040262C mov edx, eax |
|
.text:000000000040262E mov rax, [rbp+var_10] |
|
.text:0000000000402632 movzx eax, word ptr [rax+0B6h] |
|
.text:0000000000402639 sub edx, eax |
|
.text:000000000040263B mov eax, edx |
|
.text:000000000040263D cmp ax, 23F5h |
|
.text:0000000000402641 jnz short loc_40264A |
|
.text:0000000000402643 mov eax, 1 |
|
.text:0000000000402648 jmp short loc_40264F |
|
.text:000000000040264A ; --------------------------------------------------------------------------- |
|
.text:000000000040264A |
|
.text:000000000040264A loc_40264A: ; CODE XREF: sub_4025F5+2A↑j |
|
.text:000000000040264A ; sub_4025F5+4C↑j |
|
.text:000000000040264A mov eax, 0 |
|
.text:000000000040264F |
|
.text:000000000040264F loc_40264F: ; CODE XREF: sub_4025F5+53↑j |
|
.text:000000000040264F pop rbp |
|
.text:0000000000402650 retn |
|
.text:0000000000402650 ; } // starts at 4025F5 |
|
.text:0000000000402650 sub_4025F5 endp |
|
.text:0000000000402650 |
|
.text:0000000000402651 |
|
.text:0000000000402651 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402651 |
|
.text:0000000000402651 ; Attributes: bp-based frame |
|
.text:0000000000402651 |
|
.text:0000000000402651 sub_402651 proc near ; CODE XREF: sub_4036FC+D9E↓p |
|
.text:0000000000402651 |
|
.text:0000000000402651 var_10 = qword ptr -10h |
|
.text:0000000000402651 var_8 = qword ptr -8 |
|
.text:0000000000402651 |
|
.text:0000000000402651 ; __unwind { |
|
.text:0000000000402651 push rbp |
|
.text:0000000000402652 mov rbp, rsp |
|
.text:0000000000402655 mov [rbp+var_8], rdi |
|
.text:0000000000402659 mov [rbp+var_10], rsi |
|
.text:000000000040265D mov rax, [rbp+var_8] |
|
.text:0000000000402661 movzx eax, byte ptr [rax+0ABh] |
|
.text:0000000000402668 mov edx, eax |
|
.text:000000000040266A mov rax, [rbp+var_10] |
|
.text:000000000040266E movzx eax, byte ptr [rax+0B8h] |
|
.text:0000000000402675 add eax, edx |
|
.text:0000000000402677 cmp al, 2Ah |
|
.text:0000000000402679 jnz short loc_4026A5 |
|
.text:000000000040267B mov rax, [rbp+var_8] |
|
.text:000000000040267F movzx eax, byte ptr [rax+0ABh] |
|
.text:0000000000402686 mov ecx, eax |
|
.text:0000000000402688 mov rax, [rbp+var_10] |
|
.text:000000000040268C movzx eax, byte ptr [rax+0B8h] |
|
.text:0000000000402693 mov edx, eax |
|
.text:0000000000402695 mov eax, ecx |
|
.text:0000000000402697 imul eax, edx |
|
.text:000000000040269A cmp al, 40h |
|
.text:000000000040269C jnz short loc_4026A5 |
|
.text:000000000040269E mov eax, 1 |
|
.text:00000000004026A3 jmp short loc_4026AA |
|
.text:00000000004026A5 ; --------------------------------------------------------------------------- |
|
.text:00000000004026A5 |
|
.text:00000000004026A5 loc_4026A5: ; CODE XREF: sub_402651+28↑j |
|
.text:00000000004026A5 ; sub_402651+4B↑j |
|
.text:00000000004026A5 mov eax, 0 |
|
.text:00000000004026AA |
|
.text:00000000004026AA loc_4026AA: ; CODE XREF: sub_402651+52↑j |
|
.text:00000000004026AA pop rbp |
|
.text:00000000004026AB retn |
|
.text:00000000004026AB ; } // starts at 402651 |
|
.text:00000000004026AB sub_402651 endp |
|
.text:00000000004026AB |
|
.text:00000000004026AC |
|
.text:00000000004026AC ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004026AC |
|
.text:00000000004026AC ; Attributes: bp-based frame |
|
.text:00000000004026AC |
|
.text:00000000004026AC sub_4026AC proc near ; CODE XREF: sub_4036FC+DBD↓p |
|
.text:00000000004026AC |
|
.text:00000000004026AC var_10 = qword ptr -10h |
|
.text:00000000004026AC var_8 = qword ptr -8 |
|
.text:00000000004026AC |
|
.text:00000000004026AC ; __unwind { |
|
.text:00000000004026AC push rbp |
|
.text:00000000004026AD mov rbp, rsp |
|
.text:00000000004026B0 mov [rbp+var_8], rdi |
|
.text:00000000004026B4 mov [rbp+var_10], rsi |
|
.text:00000000004026B8 mov rax, [rbp+var_8] |
|
.text:00000000004026BC movzx eax, byte ptr [rax+0A5h] |
|
.text:00000000004026C3 mov edx, eax |
|
.text:00000000004026C5 mov rax, [rbp+var_10] |
|
.text:00000000004026C9 movzx eax, byte ptr [rax+0A9h] |
|
.text:00000000004026D0 sub edx, eax |
|
.text:00000000004026D2 mov eax, edx |
|
.text:00000000004026D4 cmp al, 6 |
|
.text:00000000004026D6 jnz short loc_402702 |
|
.text:00000000004026D8 mov rax, [rbp+var_8] |
|
.text:00000000004026DC movzx eax, byte ptr [rax+0A5h] |
|
.text:00000000004026E3 mov ecx, eax |
|
.text:00000000004026E5 mov rax, [rbp+var_10] |
|
.text:00000000004026E9 movzx eax, byte ptr [rax+0A9h] |
|
.text:00000000004026F0 mov edx, eax |
|
.text:00000000004026F2 mov eax, ecx |
|
.text:00000000004026F4 imul eax, edx |
|
.text:00000000004026F7 cmp al, 9Bh |
|
.text:00000000004026F9 jnz short loc_402702 |
|
.text:00000000004026FB mov eax, 1 |
|
.text:0000000000402700 jmp short loc_402707 |
|
.text:0000000000402702 ; --------------------------------------------------------------------------- |
|
.text:0000000000402702 |
|
.text:0000000000402702 loc_402702: ; CODE XREF: sub_4026AC+2A↑j |
|
.text:0000000000402702 ; sub_4026AC+4D↑j |
|
.text:0000000000402702 mov eax, 0 |
|
.text:0000000000402707 |
|
.text:0000000000402707 loc_402707: ; CODE XREF: sub_4026AC+54↑j |
|
.text:0000000000402707 pop rbp |
|
.text:0000000000402708 retn |
|
.text:0000000000402708 ; } // starts at 4026AC |
|
.text:0000000000402708 sub_4026AC endp |
|
.text:0000000000402708 |
|
.text:0000000000402709 |
|
.text:0000000000402709 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402709 |
|
.text:0000000000402709 ; Attributes: bp-based frame |
|
.text:0000000000402709 |
|
.text:0000000000402709 sub_402709 proc near ; CODE XREF: sub_4036FC+DDC↓p |
|
.text:0000000000402709 |
|
.text:0000000000402709 var_10 = qword ptr -10h |
|
.text:0000000000402709 var_8 = qword ptr -8 |
|
.text:0000000000402709 |
|
.text:0000000000402709 ; __unwind { |
|
.text:0000000000402709 push rbp |
|
.text:000000000040270A mov rbp, rsp |
|
.text:000000000040270D mov [rbp+var_8], rdi |
|
.text:0000000000402711 mov [rbp+var_10], rsi |
|
.text:0000000000402715 mov rax, [rbp+var_8] |
|
.text:0000000000402719 mov edx, [rax+0B0h] |
|
.text:000000000040271F mov rax, [rbp+var_10] |
|
.text:0000000000402723 mov eax, [rax+0DAh] |
|
.text:0000000000402729 add eax, edx |
|
.text:000000000040272B cmp eax, 94E5E4DCh |
|
.text:0000000000402730 jnz short loc_402754 |
|
.text:0000000000402732 mov rax, [rbp+var_8] |
|
.text:0000000000402736 mov eax, [rax+0B0h] |
|
.text:000000000040273C mov rdx, [rbp+var_10] |
|
.text:0000000000402740 mov ecx, [rdx+0DAh] |
|
.text:0000000000402746 cdq |
|
.text:0000000000402747 idiv ecx |
|
.text:0000000000402749 test eax, eax |
|
.text:000000000040274B jnz short loc_402754 |
|
.text:000000000040274D mov eax, 1 |
|
.text:0000000000402752 jmp short loc_402759 |
|
.text:0000000000402754 ; --------------------------------------------------------------------------- |
|
.text:0000000000402754 |
|
.text:0000000000402754 loc_402754: ; CODE XREF: sub_402709+27↑j |
|
.text:0000000000402754 ; sub_402709+42↑j |
|
.text:0000000000402754 mov eax, 0 |
|
.text:0000000000402759 |
|
.text:0000000000402759 loc_402759: ; CODE XREF: sub_402709+49↑j |
|
.text:0000000000402759 pop rbp |
|
.text:000000000040275A retn |
|
.text:000000000040275A ; } // starts at 402709 |
|
.text:000000000040275A sub_402709 endp |
|
.text:000000000040275A |
|
.text:000000000040275B |
|
.text:000000000040275B ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040275B |
|
.text:000000000040275B ; Attributes: bp-based frame |
|
.text:000000000040275B |
|
.text:000000000040275B sub_40275B proc near ; CODE XREF: sub_4036FC+DFB↓p |
|
.text:000000000040275B |
|
.text:000000000040275B var_10 = qword ptr -10h |
|
.text:000000000040275B var_8 = qword ptr -8 |
|
.text:000000000040275B |
|
.text:000000000040275B ; __unwind { |
|
.text:000000000040275B push rbp |
|
.text:000000000040275C mov rbp, rsp |
|
.text:000000000040275F mov [rbp+var_8], rdi |
|
.text:0000000000402763 mov [rbp+var_10], rsi |
|
.text:0000000000402767 mov rax, [rbp+var_8] |
|
.text:000000000040276B movzx eax, byte ptr [rax+0A6h] |
|
.text:0000000000402772 mov edx, eax |
|
.text:0000000000402774 mov rax, [rbp+var_10] |
|
.text:0000000000402778 movzx eax, byte ptr [rax+0B0h] |
|
.text:000000000040277F add eax, edx |
|
.text:0000000000402781 cmp al, 0E2h |
|
.text:0000000000402783 jnz short loc_4027AF |
|
.text:0000000000402785 mov rax, [rbp+var_8] |
|
.text:0000000000402789 movzx eax, byte ptr [rax+0A6h] |
|
.text:0000000000402790 mov ecx, eax |
|
.text:0000000000402792 mov rax, [rbp+var_10] |
|
.text:0000000000402796 movzx eax, byte ptr [rax+0B0h] |
|
.text:000000000040279D mov edx, eax |
|
.text:000000000040279F mov eax, ecx |
|
.text:00000000004027A1 imul eax, edx |
|
.text:00000000004027A4 cmp al, 0DDh |
|
.text:00000000004027A6 jnz short loc_4027AF |
|
.text:00000000004027A8 mov eax, 1 |
|
.text:00000000004027AD jmp short loc_4027B4 |
|
.text:00000000004027AF ; --------------------------------------------------------------------------- |
|
.text:00000000004027AF |
|
.text:00000000004027AF loc_4027AF: ; CODE XREF: sub_40275B+28↑j |
|
.text:00000000004027AF ; sub_40275B+4B↑j |
|
.text:00000000004027AF mov eax, 0 |
|
.text:00000000004027B4 |
|
.text:00000000004027B4 loc_4027B4: ; CODE XREF: sub_40275B+52↑j |
|
.text:00000000004027B4 pop rbp |
|
.text:00000000004027B5 retn |
|
.text:00000000004027B5 ; } // starts at 40275B |
|
.text:00000000004027B5 sub_40275B endp |
|
.text:00000000004027B5 |
|
.text:00000000004027B6 |
|
.text:00000000004027B6 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004027B6 |
|
.text:00000000004027B6 ; Attributes: bp-based frame |
|
.text:00000000004027B6 |
|
.text:00000000004027B6 sub_4027B6 proc near ; CODE XREF: sub_4036FC+E1A↓p |
|
.text:00000000004027B6 |
|
.text:00000000004027B6 var_10 = qword ptr -10h |
|
.text:00000000004027B6 var_8 = qword ptr -8 |
|
.text:00000000004027B6 |
|
.text:00000000004027B6 ; __unwind { |
|
.text:00000000004027B6 push rbp |
|
.text:00000000004027B7 mov rbp, rsp |
|
.text:00000000004027BA mov [rbp+var_8], rdi |
|
.text:00000000004027BE mov [rbp+var_10], rsi |
|
.text:00000000004027C2 mov rax, [rbp+var_8] |
|
.text:00000000004027C6 movzx eax, byte ptr [rax+0A7h] |
|
.text:00000000004027CD mov edx, eax |
|
.text:00000000004027CF mov rax, [rbp+var_10] |
|
.text:00000000004027D3 movzx eax, byte ptr [rax+0B1h] |
|
.text:00000000004027DA add eax, edx |
|
.text:00000000004027DC cmp al, 0E9h |
|
.text:00000000004027DE jnz short loc_402807 |
|
.text:00000000004027E0 mov rax, [rbp+var_8] |
|
.text:00000000004027E4 movzx eax, byte ptr [rax+0A7h] |
|
.text:00000000004027EB mov edx, eax |
|
.text:00000000004027ED mov rax, [rbp+var_10] |
|
.text:00000000004027F1 movzx eax, byte ptr [rax+0B1h] |
|
.text:00000000004027F8 sub edx, eax |
|
.text:00000000004027FA mov eax, edx |
|
.text:00000000004027FC cmp al, 0FFh |
|
.text:00000000004027FE jnz short loc_402807 |
|
.text:0000000000402800 mov eax, 1 |
|
.text:0000000000402805 jmp short loc_40280C |
|
.text:0000000000402807 ; --------------------------------------------------------------------------- |
|
.text:0000000000402807 |
|
.text:0000000000402807 loc_402807: ; CODE XREF: sub_4027B6+28↑j |
|
.text:0000000000402807 ; sub_4027B6+48↑j |
|
.text:0000000000402807 mov eax, 0 |
|
.text:000000000040280C |
|
.text:000000000040280C loc_40280C: ; CODE XREF: sub_4027B6+4F↑j |
|
.text:000000000040280C pop rbp |
|
.text:000000000040280D retn |
|
.text:000000000040280D ; } // starts at 4027B6 |
|
.text:000000000040280D sub_4027B6 endp |
|
.text:000000000040280D |
|
.text:000000000040280E |
|
.text:000000000040280E ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040280E |
|
.text:000000000040280E ; Attributes: bp-based frame |
|
.text:000000000040280E |
|
.text:000000000040280E sub_40280E proc near ; CODE XREF: sub_4036FC+E39↓p |
|
.text:000000000040280E |
|
.text:000000000040280E var_10 = qword ptr -10h |
|
.text:000000000040280E var_8 = qword ptr -8 |
|
.text:000000000040280E |
|
.text:000000000040280E ; __unwind { |
|
.text:000000000040280E push rbp |
|
.text:000000000040280F mov rbp, rsp |
|
.text:0000000000402812 mov [rbp+var_8], rdi |
|
.text:0000000000402816 mov [rbp+var_10], rsi |
|
.text:000000000040281A mov rax, [rbp+var_8] |
|
.text:000000000040281E movzx eax, byte ptr [rax+0A7h] |
|
.text:0000000000402825 mov edx, eax |
|
.text:0000000000402827 mov rax, [rbp+var_10] |
|
.text:000000000040282B movzx eax, byte ptr [rax+0B2h] |
|
.text:0000000000402832 sub edx, eax |
|
.text:0000000000402834 mov eax, edx |
|
.text:0000000000402836 cmp al, 2 |
|
.text:0000000000402838 jnz short loc_402864 |
|
.text:000000000040283A mov rax, [rbp+var_8] |
|
.text:000000000040283E movzx eax, byte ptr [rax+0A7h] |
|
.text:0000000000402845 movsx eax, al |
|
.text:0000000000402848 mov rdx, [rbp+var_10] |
|
.text:000000000040284C movzx edx, byte ptr [rdx+0B2h] |
|
.text:0000000000402853 movsx ecx, dl |
|
.text:0000000000402856 cdq |
|
.text:0000000000402857 idiv ecx |
|
.text:0000000000402859 cmp al, 1 |
|
.text:000000000040285B jnz short loc_402864 |
|
.text:000000000040285D mov eax, 1 |
|
.text:0000000000402862 jmp short loc_402869 |
|
.text:0000000000402864 ; --------------------------------------------------------------------------- |
|
.text:0000000000402864 |
|
.text:0000000000402864 loc_402864: ; CODE XREF: sub_40280E+2A↑j |
|
.text:0000000000402864 ; sub_40280E+4D↑j |
|
.text:0000000000402864 mov eax, 0 |
|
.text:0000000000402869 |
|
.text:0000000000402869 loc_402869: ; CODE XREF: sub_40280E+54↑j |
|
.text:0000000000402869 pop rbp |
|
.text:000000000040286A retn |
|
.text:000000000040286A ; } // starts at 40280E |
|
.text:000000000040286A sub_40280E endp |
|
.text:000000000040286A |
|
.text:000000000040286B |
|
.text:000000000040286B ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040286B |
|
.text:000000000040286B ; Attributes: bp-based frame |
|
.text:000000000040286B |
|
.text:000000000040286B sub_40286B proc near ; CODE XREF: sub_4036FC+E58↓p |
|
.text:000000000040286B |
|
.text:000000000040286B var_10 = qword ptr -10h |
|
.text:000000000040286B var_8 = qword ptr -8 |
|
.text:000000000040286B |
|
.text:000000000040286B ; __unwind { |
|
.text:000000000040286B push rbp |
|
.text:000000000040286C mov rbp, rsp |
|
.text:000000000040286F mov [rbp+var_8], rdi |
|
.text:0000000000402873 mov [rbp+var_10], rsi |
|
.text:0000000000402877 mov rax, [rbp+var_8] |
|
.text:000000000040287B movss xmm0, dword ptr [rax+0B4h] |
|
.text:0000000000402883 mov rax, [rbp+var_10] |
|
.text:0000000000402887 movss xmm1, dword ptr [rax+0CCh] |
|
.text:000000000040288F subss xmm0, xmm1 |
|
.text:0000000000402893 ucomiss xmm0, cs:dword_404C88 |
|
.text:000000000040289A jp short loc_4028DA |
|
.text:000000000040289C ucomiss xmm0, cs:dword_404C88 |
|
.text:00000000004028A3 jnz short loc_4028DA |
|
.text:00000000004028A5 mov rax, [rbp+var_8] |
|
.text:00000000004028A9 movss xmm1, dword ptr [rax+0B4h] |
|
.text:00000000004028B1 mov rax, [rbp+var_10] |
|
.text:00000000004028B5 movss xmm0, dword ptr [rax+0CCh] |
|
.text:00000000004028BD addss xmm0, xmm1 |
|
.text:00000000004028C1 ucomiss xmm0, cs:dword_404C88 |
|
.text:00000000004028C8 jp short loc_4028DA |
|
.text:00000000004028CA ucomiss xmm0, cs:dword_404C88 |
|
.text:00000000004028D1 jnz short loc_4028DA |
|
.text:00000000004028D3 mov eax, 1 |
|
.text:00000000004028D8 jmp short loc_4028DF |
|
.text:00000000004028DA ; --------------------------------------------------------------------------- |
|
.text:00000000004028DA |
|
.text:00000000004028DA loc_4028DA: ; CODE XREF: sub_40286B+2F↑j |
|
.text:00000000004028DA ; sub_40286B+38↑j ... |
|
.text:00000000004028DA mov eax, 0 |
|
.text:00000000004028DF |
|
.text:00000000004028DF loc_4028DF: ; CODE XREF: sub_40286B+6D↑j |
|
.text:00000000004028DF pop rbp |
|
.text:00000000004028E0 retn |
|
.text:00000000004028E0 ; } // starts at 40286B |
|
.text:00000000004028E0 sub_40286B endp |
|
.text:00000000004028E0 |
|
.text:00000000004028E1 |
|
.text:00000000004028E1 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004028E1 |
|
.text:00000000004028E1 ; Attributes: bp-based frame |
|
.text:00000000004028E1 |
|
.text:00000000004028E1 sub_4028E1 proc near ; CODE XREF: sub_4036FC+E77↓p |
|
.text:00000000004028E1 |
|
.text:00000000004028E1 var_10 = qword ptr -10h |
|
.text:00000000004028E1 var_8 = qword ptr -8 |
|
.text:00000000004028E1 |
|
.text:00000000004028E1 ; __unwind { |
|
.text:00000000004028E1 push rbp |
|
.text:00000000004028E2 mov rbp, rsp |
|
.text:00000000004028E5 mov [rbp+var_8], rdi |
|
.text:00000000004028E9 mov [rbp+var_10], rsi |
|
.text:00000000004028ED mov rax, [rbp+var_8] |
|
.text:00000000004028F1 movzx eax, byte ptr [rax+0B4h] |
|
.text:00000000004028F8 mov ecx, eax |
|
.text:00000000004028FA mov rax, [rbp+var_10] |
|
.text:00000000004028FE movzx eax, byte ptr [rax+0B8h] |
|
.text:0000000000402905 mov edx, eax |
|
.text:0000000000402907 mov eax, ecx |
|
.text:0000000000402909 imul eax, edx |
|
.text:000000000040290C cmp al, 60h |
|
.text:000000000040290E jnz short loc_402935 |
|
.text:0000000000402910 mov rax, [rbp+var_8] |
|
.text:0000000000402914 movzx eax, byte ptr [rax+0B4h] |
|
.text:000000000040291B mov edx, eax |
|
.text:000000000040291D mov rax, [rbp+var_10] |
|
.text:0000000000402921 movzx eax, byte ptr [rax+0B8h] |
|
.text:0000000000402928 add eax, edx |
|
.text:000000000040292A cmp al, 7Ah |
|
.text:000000000040292C jnz short loc_402935 |
|
.text:000000000040292E mov eax, 1 |
|
.text:0000000000402933 jmp short loc_40293A |
|
.text:0000000000402935 ; --------------------------------------------------------------------------- |
|
.text:0000000000402935 |
|
.text:0000000000402935 loc_402935: ; CODE XREF: sub_4028E1+2D↑j |
|
.text:0000000000402935 ; sub_4028E1+4B↑j |
|
.text:0000000000402935 mov eax, 0 |
|
.text:000000000040293A |
|
.text:000000000040293A loc_40293A: ; CODE XREF: sub_4028E1+52↑j |
|
.text:000000000040293A pop rbp |
|
.text:000000000040293B retn |
|
.text:000000000040293B ; } // starts at 4028E1 |
|
.text:000000000040293B sub_4028E1 endp |
|
.text:000000000040293B |
|
.text:000000000040293C |
|
.text:000000000040293C ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040293C |
|
.text:000000000040293C ; Attributes: bp-based frame |
|
.text:000000000040293C |
|
.text:000000000040293C sub_40293C proc near ; CODE XREF: sub_4036FC+E96↓p |
|
.text:000000000040293C |
|
.text:000000000040293C var_10 = qword ptr -10h |
|
.text:000000000040293C var_8 = qword ptr -8 |
|
.text:000000000040293C |
|
.text:000000000040293C ; __unwind { |
|
.text:000000000040293C push rbp |
|
.text:000000000040293D mov rbp, rsp |
|
.text:0000000000402940 mov [rbp+var_8], rdi |
|
.text:0000000000402944 mov [rbp+var_10], rsi |
|
.text:0000000000402948 mov rax, [rbp+var_8] |
|
.text:000000000040294C movzx eax, byte ptr [rax+0B5h] |
|
.text:0000000000402953 mov ecx, eax |
|
.text:0000000000402955 mov rax, [rbp+var_10] |
|
.text:0000000000402959 movzx eax, byte ptr [rax+0B9h] |
|
.text:0000000000402960 mov edx, eax |
|
.text:0000000000402962 mov eax, ecx |
|
.text:0000000000402964 imul eax, edx |
|
.text:0000000000402967 cmp al, 26h |
|
.text:0000000000402969 jnz short loc_402995 |
|
.text:000000000040296B mov rax, [rbp+var_8] |
|
.text:000000000040296F movzx eax, byte ptr [rax+0B5h] |
|
.text:0000000000402976 movsx eax, al |
|
.text:0000000000402979 mov rdx, [rbp+var_10] |
|
.text:000000000040297D movzx edx, byte ptr [rdx+0B9h] |
|
.text:0000000000402984 movsx esi, dl |
|
.text:0000000000402987 cdq |
|
.text:0000000000402988 idiv esi |
|
.text:000000000040298A cmp al, 2 |
|
.text:000000000040298C jnz short loc_402995 |
|
.text:000000000040298E mov eax, 1 |
|
.text:0000000000402993 jmp short loc_40299A |
|
.text:0000000000402995 ; --------------------------------------------------------------------------- |
|
.text:0000000000402995 |
|
.text:0000000000402995 loc_402995: ; CODE XREF: sub_40293C+2D↑j |
|
.text:0000000000402995 ; sub_40293C+50↑j |
|
.text:0000000000402995 mov eax, 0 |
|
.text:000000000040299A |
|
.text:000000000040299A loc_40299A: ; CODE XREF: sub_40293C+57↑j |
|
.text:000000000040299A pop rbp |
|
.text:000000000040299B retn |
|
.text:000000000040299B ; } // starts at 40293C |
|
.text:000000000040299B sub_40293C endp |
|
.text:000000000040299B |
|
.text:000000000040299C |
|
.text:000000000040299C ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040299C |
|
.text:000000000040299C ; Attributes: bp-based frame |
|
.text:000000000040299C |
|
.text:000000000040299C sub_40299C proc near ; CODE XREF: sub_4036FC+EB5↓p |
|
.text:000000000040299C |
|
.text:000000000040299C var_10 = qword ptr -10h |
|
.text:000000000040299C var_8 = qword ptr -8 |
|
.text:000000000040299C |
|
.text:000000000040299C ; __unwind { |
|
.text:000000000040299C push rbp |
|
.text:000000000040299D mov rbp, rsp |
|
.text:00000000004029A0 mov [rbp+var_8], rdi |
|
.text:00000000004029A4 mov [rbp+var_10], rsi |
|
.text:00000000004029A8 mov rax, [rbp+var_8] |
|
.text:00000000004029AC movzx eax, byte ptr [rax+0B9h] |
|
.text:00000000004029B3 movsx eax, al |
|
.text:00000000004029B6 mov rdx, [rbp+var_10] |
|
.text:00000000004029BA movzx edx, byte ptr [rdx+0BAh] |
|
.text:00000000004029C1 movsx esi, dl |
|
.text:00000000004029C4 cdq |
|
.text:00000000004029C5 idiv esi |
|
.text:00000000004029C7 cmp al, 1 |
|
.text:00000000004029C9 jnz short loc_4029F5 |
|
.text:00000000004029CB mov rax, [rbp+var_8] |
|
.text:00000000004029CF movzx eax, byte ptr [rax+0B9h] |
|
.text:00000000004029D6 mov ecx, eax |
|
.text:00000000004029D8 mov rax, [rbp+var_10] |
|
.text:00000000004029DC movzx eax, byte ptr [rax+0BAh] |
|
.text:00000000004029E3 mov edx, eax |
|
.text:00000000004029E5 mov eax, ecx |
|
.text:00000000004029E7 imul eax, edx |
|
.text:00000000004029EA cmp al, 44h |
|
.text:00000000004029EC jnz short loc_4029F5 |
|
.text:00000000004029EE mov eax, 1 |
|
.text:00000000004029F3 jmp short loc_4029FA |
|
.text:00000000004029F5 ; --------------------------------------------------------------------------- |
|
.text:00000000004029F5 |
|
.text:00000000004029F5 loc_4029F5: ; CODE XREF: sub_40299C+2D↑j |
|
.text:00000000004029F5 ; sub_40299C+50↑j |
|
.text:00000000004029F5 mov eax, 0 |
|
.text:00000000004029FA |
|
.text:00000000004029FA loc_4029FA: ; CODE XREF: sub_40299C+57↑j |
|
.text:00000000004029FA pop rbp |
|
.text:00000000004029FB retn |
|
.text:00000000004029FB ; } // starts at 40299C |
|
.text:00000000004029FB sub_40299C endp |
|
.text:00000000004029FB |
|
.text:00000000004029FC |
|
.text:00000000004029FC ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004029FC |
|
.text:00000000004029FC ; Attributes: bp-based frame |
|
.text:00000000004029FC |
|
.text:00000000004029FC sub_4029FC proc near ; CODE XREF: sub_4036FC+ED4↓p |
|
.text:00000000004029FC |
|
.text:00000000004029FC var_10 = qword ptr -10h |
|
.text:00000000004029FC var_8 = qword ptr -8 |
|
.text:00000000004029FC |
|
.text:00000000004029FC ; __unwind { |
|
.text:00000000004029FC push rbp |
|
.text:00000000004029FD mov rbp, rsp |
|
.text:0000000000402A00 mov [rbp+var_8], rdi |
|
.text:0000000000402A04 mov [rbp+var_10], rsi |
|
.text:0000000000402A08 mov rax, [rbp+var_8] |
|
.text:0000000000402A0C mov edx, [rax+0BAh] |
|
.text:0000000000402A12 mov rax, [rbp+var_10] |
|
.text:0000000000402A16 mov eax, [rax+0C0h] |
|
.text:0000000000402A1C imul eax, edx |
|
.text:0000000000402A1F cmp eax, 28DC9044h |
|
.text:0000000000402A24 jnz short loc_402A49 |
|
.text:0000000000402A26 mov rax, [rbp+var_8] |
|
.text:0000000000402A2A mov eax, [rax+0BAh] |
|
.text:0000000000402A30 mov rdx, [rbp+var_10] |
|
.text:0000000000402A34 mov ecx, [rdx+0C0h] |
|
.text:0000000000402A3A cdq |
|
.text:0000000000402A3B idiv ecx |
|
.text:0000000000402A3D cmp eax, 1 |
|
.text:0000000000402A40 jnz short loc_402A49 |
|
.text:0000000000402A42 mov eax, 1 |
|
.text:0000000000402A47 jmp short loc_402A4E |
|
.text:0000000000402A49 ; --------------------------------------------------------------------------- |
|
.text:0000000000402A49 |
|
.text:0000000000402A49 loc_402A49: ; CODE XREF: sub_4029FC+28↑j |
|
.text:0000000000402A49 ; sub_4029FC+44↑j |
|
.text:0000000000402A49 mov eax, 0 |
|
.text:0000000000402A4E |
|
.text:0000000000402A4E loc_402A4E: ; CODE XREF: sub_4029FC+4B↑j |
|
.text:0000000000402A4E pop rbp |
|
.text:0000000000402A4F retn |
|
.text:0000000000402A4F ; } // starts at 4029FC |
|
.text:0000000000402A4F sub_4029FC endp |
|
.text:0000000000402A4F |
|
.text:0000000000402A50 |
|
.text:0000000000402A50 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402A50 |
|
.text:0000000000402A50 ; Attributes: bp-based frame |
|
.text:0000000000402A50 |
|
.text:0000000000402A50 sub_402A50 proc near ; CODE XREF: sub_4036FC+EF3↓p |
|
.text:0000000000402A50 |
|
.text:0000000000402A50 var_10 = qword ptr -10h |
|
.text:0000000000402A50 var_8 = qword ptr -8 |
|
.text:0000000000402A50 |
|
.text:0000000000402A50 ; __unwind { |
|
.text:0000000000402A50 push rbp |
|
.text:0000000000402A51 mov rbp, rsp |
|
.text:0000000000402A54 mov [rbp+var_8], rdi |
|
.text:0000000000402A58 mov [rbp+var_10], rsi |
|
.text:0000000000402A5C mov rax, [rbp+var_8] |
|
.text:0000000000402A60 movzx eax, word ptr [rax+0BCh] |
|
.text:0000000000402A67 cwde |
|
.text:0000000000402A68 mov rdx, [rbp+var_10] |
|
.text:0000000000402A6C movzx edx, word ptr [rdx+0BEh] |
|
.text:0000000000402A73 movsx ecx, dx |
|
.text:0000000000402A76 cdq |
|
.text:0000000000402A77 idiv ecx |
|
.text:0000000000402A79 cmp ax, 1 |
|
.text:0000000000402A7D jnz short loc_402AA1 |
|
.text:0000000000402A7F mov rax, [rbp+var_8] |
|
.text:0000000000402A83 movzx edx, word ptr [rax+0BCh] |
|
.text:0000000000402A8A mov rax, [rbp+var_10] |
|
.text:0000000000402A8E movzx eax, word ptr [rax+0BEh] |
|
.text:0000000000402A95 cmp dx, ax |
|
.text:0000000000402A98 jnz short loc_402AA1 |
|
.text:0000000000402A9A mov eax, 1 |
|
.text:0000000000402A9F jmp short loc_402AA6 |
|
.text:0000000000402AA1 ; --------------------------------------------------------------------------- |
|
.text:0000000000402AA1 |
|
.text:0000000000402AA1 loc_402AA1: ; CODE XREF: sub_402A50+2D↑j |
|
.text:0000000000402AA1 ; sub_402A50+48↑j |
|
.text:0000000000402AA1 mov eax, 0 |
|
.text:0000000000402AA6 |
|
.text:0000000000402AA6 loc_402AA6: ; CODE XREF: sub_402A50+4F↑j |
|
.text:0000000000402AA6 pop rbp |
|
.text:0000000000402AA7 retn |
|
.text:0000000000402AA7 ; } // starts at 402A50 |
|
.text:0000000000402AA7 sub_402A50 endp |
|
.text:0000000000402AA7 |
|
.text:0000000000402AA8 |
|
.text:0000000000402AA8 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402AA8 |
|
.text:0000000000402AA8 ; Attributes: bp-based frame |
|
.text:0000000000402AA8 |
|
.text:0000000000402AA8 sub_402AA8 proc near ; CODE XREF: sub_4036FC+F12↓p |
|
.text:0000000000402AA8 |
|
.text:0000000000402AA8 var_10 = qword ptr -10h |
|
.text:0000000000402AA8 var_8 = qword ptr -8 |
|
.text:0000000000402AA8 |
|
.text:0000000000402AA8 ; __unwind { |
|
.text:0000000000402AA8 push rbp |
|
.text:0000000000402AA9 mov rbp, rsp |
|
.text:0000000000402AAC mov [rbp+var_8], rdi |
|
.text:0000000000402AB0 mov [rbp+var_10], rsi |
|
.text:0000000000402AB4 mov rax, [rbp+var_8] |
|
.text:0000000000402AB8 movzx eax, word ptr [rax+0BEh] |
|
.text:0000000000402ABF mov edx, eax |
|
.text:0000000000402AC1 mov rax, [rbp+var_10] |
|
.text:0000000000402AC5 movzx eax, word ptr [rax+0CCh] |
|
.text:0000000000402ACC add eax, edx |
|
.text:0000000000402ACE cmp ax, 964Eh |
|
.text:0000000000402AD2 jnz short loc_402AFC |
|
.text:0000000000402AD4 mov rax, [rbp+var_8] |
|
.text:0000000000402AD8 movzx eax, word ptr [rax+0BEh] |
|
.text:0000000000402ADF mov edx, eax |
|
.text:0000000000402AE1 mov rax, [rbp+var_10] |
|
.text:0000000000402AE5 movzx eax, word ptr [rax+0CCh] |
|
.text:0000000000402AEC imul eax, edx |
|
.text:0000000000402AEF cmp ax, 75C0h |
|
.text:0000000000402AF3 jnz short loc_402AFC |
|
.text:0000000000402AF5 mov eax, 1 |
|
.text:0000000000402AFA jmp short loc_402B01 |
|
.text:0000000000402AFC ; --------------------------------------------------------------------------- |
|
.text:0000000000402AFC |
|
.text:0000000000402AFC loc_402AFC: ; CODE XREF: sub_402AA8+2A↑j |
|
.text:0000000000402AFC ; sub_402AA8+4B↑j |
|
.text:0000000000402AFC mov eax, 0 |
|
.text:0000000000402B01 |
|
.text:0000000000402B01 loc_402B01: ; CODE XREF: sub_402AA8+52↑j |
|
.text:0000000000402B01 pop rbp |
|
.text:0000000000402B02 retn |
|
.text:0000000000402B02 ; } // starts at 402AA8 |
|
.text:0000000000402B02 sub_402AA8 endp |
|
.text:0000000000402B02 |
|
.text:0000000000402B03 |
|
.text:0000000000402B03 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402B03 |
|
.text:0000000000402B03 ; Attributes: bp-based frame |
|
.text:0000000000402B03 |
|
.text:0000000000402B03 sub_402B03 proc near ; CODE XREF: sub_4036FC+F31↓p |
|
.text:0000000000402B03 |
|
.text:0000000000402B03 var_10 = qword ptr -10h |
|
.text:0000000000402B03 var_8 = qword ptr -8 |
|
.text:0000000000402B03 |
|
.text:0000000000402B03 ; __unwind { |
|
.text:0000000000402B03 push rbp |
|
.text:0000000000402B04 mov rbp, rsp |
|
.text:0000000000402B07 mov [rbp+var_8], rdi |
|
.text:0000000000402B0B mov [rbp+var_10], rsi |
|
.text:0000000000402B0F mov rax, [rbp+var_8] |
|
.text:0000000000402B13 movzx eax, byte ptr [rax+0B3h] |
|
.text:0000000000402B1A mov edx, eax |
|
.text:0000000000402B1C mov rax, [rbp+var_10] |
|
.text:0000000000402B20 movzx eax, byte ptr [rax+0C0h] |
|
.text:0000000000402B27 sub edx, eax |
|
.text:0000000000402B29 mov eax, edx |
|
.text:0000000000402B2B cmp al, 0F2h |
|
.text:0000000000402B2D jnz short loc_402B59 |
|
.text:0000000000402B2F mov rax, [rbp+var_8] |
|
.text:0000000000402B33 movzx eax, byte ptr [rax+0B3h] |
|
.text:0000000000402B3A movsx eax, al |
|
.text:0000000000402B3D mov rdx, [rbp+var_10] |
|
.text:0000000000402B41 movzx edx, byte ptr [rdx+0C0h] |
|
.text:0000000000402B48 movsx ecx, dl |
|
.text:0000000000402B4B cdq |
|
.text:0000000000402B4C idiv ecx |
|
.text:0000000000402B4E test al, al |
|
.text:0000000000402B50 jnz short loc_402B59 |
|
.text:0000000000402B52 mov eax, 1 |
|
.text:0000000000402B57 jmp short loc_402B5E |
|
.text:0000000000402B59 ; --------------------------------------------------------------------------- |
|
.text:0000000000402B59 |
|
.text:0000000000402B59 loc_402B59: ; CODE XREF: sub_402B03+2A↑j |
|
.text:0000000000402B59 ; sub_402B03+4D↑j |
|
.text:0000000000402B59 mov eax, 0 |
|
.text:0000000000402B5E |
|
.text:0000000000402B5E loc_402B5E: ; CODE XREF: sub_402B03+54↑j |
|
.text:0000000000402B5E pop rbp |
|
.text:0000000000402B5F retn |
|
.text:0000000000402B5F ; } // starts at 402B03 |
|
.text:0000000000402B5F sub_402B03 endp |
|
.text:0000000000402B5F |
|
.text:0000000000402B60 |
|
.text:0000000000402B60 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402B60 |
|
.text:0000000000402B60 ; Attributes: bp-based frame |
|
.text:0000000000402B60 |
|
.text:0000000000402B60 sub_402B60 proc near ; CODE XREF: sub_4036FC+F50↓p |
|
.text:0000000000402B60 |
|
.text:0000000000402B60 var_10 = qword ptr -10h |
|
.text:0000000000402B60 var_8 = qword ptr -8 |
|
.text:0000000000402B60 |
|
.text:0000000000402B60 ; __unwind { |
|
.text:0000000000402B60 push rbp |
|
.text:0000000000402B61 mov rbp, rsp |
|
.text:0000000000402B64 mov [rbp+var_8], rdi |
|
.text:0000000000402B68 mov [rbp+var_10], rsi |
|
.text:0000000000402B6C mov rax, [rbp+var_8] |
|
.text:0000000000402B70 mov edx, [rax+0C4h] |
|
.text:0000000000402B76 mov rax, [rbp+var_10] |
|
.text:0000000000402B7A mov eax, [rax+0CEh] |
|
.text:0000000000402B80 imul eax, edx |
|
.text:0000000000402B83 cmp eax, 4AC50208h |
|
.text:0000000000402B88 jnz short loc_402BAD |
|
.text:0000000000402B8A mov rax, [rbp+var_8] |
|
.text:0000000000402B8E mov eax, [rax+0C4h] |
|
.text:0000000000402B94 mov rdx, [rbp+var_10] |
|
.text:0000000000402B98 mov ecx, [rdx+0CEh] |
|
.text:0000000000402B9E cdq |
|
.text:0000000000402B9F idiv ecx |
|
.text:0000000000402BA1 cmp eax, 1 |
|
.text:0000000000402BA4 jnz short loc_402BAD |
|
.text:0000000000402BA6 mov eax, 1 |
|
.text:0000000000402BAB jmp short loc_402BB2 |
|
.text:0000000000402BAD ; --------------------------------------------------------------------------- |
|
.text:0000000000402BAD |
|
.text:0000000000402BAD loc_402BAD: ; CODE XREF: sub_402B60+28↑j |
|
.text:0000000000402BAD ; sub_402B60+44↑j |
|
.text:0000000000402BAD mov eax, 0 |
|
.text:0000000000402BB2 |
|
.text:0000000000402BB2 loc_402BB2: ; CODE XREF: sub_402B60+4B↑j |
|
.text:0000000000402BB2 pop rbp |
|
.text:0000000000402BB3 retn |
|
.text:0000000000402BB3 ; } // starts at 402B60 |
|
.text:0000000000402BB3 sub_402B60 endp |
|
.text:0000000000402BB3 |
|
.text:0000000000402BB4 |
|
.text:0000000000402BB4 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402BB4 |
|
.text:0000000000402BB4 ; Attributes: bp-based frame |
|
.text:0000000000402BB4 |
|
.text:0000000000402BB4 sub_402BB4 proc near ; CODE XREF: sub_4036FC+F6F↓p |
|
.text:0000000000402BB4 |
|
.text:0000000000402BB4 var_10 = qword ptr -10h |
|
.text:0000000000402BB4 var_8 = qword ptr -8 |
|
.text:0000000000402BB4 |
|
.text:0000000000402BB4 ; __unwind { |
|
.text:0000000000402BB4 push rbp |
|
.text:0000000000402BB5 mov rbp, rsp |
|
.text:0000000000402BB8 mov [rbp+var_8], rdi |
|
.text:0000000000402BBC mov [rbp+var_10], rsi |
|
.text:0000000000402BC0 mov rax, [rbp+var_8] |
|
.text:0000000000402BC4 movzx eax, byte ptr [rax+0BBh] |
|
.text:0000000000402BCB mov edx, eax |
|
.text:0000000000402BCD mov rax, [rbp+var_10] |
|
.text:0000000000402BD1 movzx eax, byte ptr [rax+0CAh] |
|
.text:0000000000402BD8 sub edx, eax |
|
.text:0000000000402BDA mov eax, edx |
|
.text:0000000000402BDC cmp al, 0B7h |
|
.text:0000000000402BDE jnz short loc_402C05 |
|
.text:0000000000402BE0 mov rax, [rbp+var_8] |
|
.text:0000000000402BE4 movzx eax, byte ptr [rax+0BBh] |
|
.text:0000000000402BEB mov edx, eax |
|
.text:0000000000402BED mov rax, [rbp+var_10] |
|
.text:0000000000402BF1 movzx eax, byte ptr [rax+0CAh] |
|
.text:0000000000402BF8 add eax, edx |
|
.text:0000000000402BFA cmp al, 0A5h |
|
.text:0000000000402BFC jnz short loc_402C05 |
|
.text:0000000000402BFE mov eax, 1 |
|
.text:0000000000402C03 jmp short loc_402C0A |
|
.text:0000000000402C05 ; --------------------------------------------------------------------------- |
|
.text:0000000000402C05 |
|
.text:0000000000402C05 loc_402C05: ; CODE XREF: sub_402BB4+2A↑j |
|
.text:0000000000402C05 ; sub_402BB4+48↑j |
|
.text:0000000000402C05 mov eax, 0 |
|
.text:0000000000402C0A |
|
.text:0000000000402C0A loc_402C0A: ; CODE XREF: sub_402BB4+4F↑j |
|
.text:0000000000402C0A pop rbp |
|
.text:0000000000402C0B retn |
|
.text:0000000000402C0B ; } // starts at 402BB4 |
|
.text:0000000000402C0B sub_402BB4 endp |
|
.text:0000000000402C0B |
|
.text:0000000000402C0C |
|
.text:0000000000402C0C ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402C0C |
|
.text:0000000000402C0C ; Attributes: bp-based frame |
|
.text:0000000000402C0C |
|
.text:0000000000402C0C sub_402C0C proc near ; CODE XREF: sub_4036FC+F8E↓p |
|
.text:0000000000402C0C |
|
.text:0000000000402C0C var_10 = qword ptr -10h |
|
.text:0000000000402C0C var_8 = qword ptr -8 |
|
.text:0000000000402C0C |
|
.text:0000000000402C0C ; __unwind { |
|
.text:0000000000402C0C push rbp |
|
.text:0000000000402C0D mov rbp, rsp |
|
.text:0000000000402C10 mov [rbp+var_8], rdi |
|
.text:0000000000402C14 mov [rbp+var_10], rsi |
|
.text:0000000000402C18 mov rax, [rbp+var_8] |
|
.text:0000000000402C1C movss xmm1, dword ptr [rax+0C4h] |
|
.text:0000000000402C24 mov rax, [rbp+var_10] |
|
.text:0000000000402C28 movss xmm0, dword ptr [rax+0EEh] |
|
.text:0000000000402C30 addss xmm0, xmm1 |
|
.text:0000000000402C34 ucomiss xmm0, cs:dword_404C8C |
|
.text:0000000000402C3B jp short loc_402C7B |
|
.text:0000000000402C3D ucomiss xmm0, cs:dword_404C8C |
|
.text:0000000000402C44 jnz short loc_402C7B |
|
.text:0000000000402C46 mov rax, [rbp+var_8] |
|
.text:0000000000402C4A movss xmm0, dword ptr [rax+0C4h] |
|
.text:0000000000402C52 mov rax, [rbp+var_10] |
|
.text:0000000000402C56 movss xmm1, dword ptr [rax+0EEh] |
|
.text:0000000000402C5E divss xmm0, xmm1 |
|
.text:0000000000402C62 ucomiss xmm0, cs:dword_404C90 |
|
.text:0000000000402C69 jp short loc_402C7B |
|
.text:0000000000402C6B ucomiss xmm0, cs:dword_404C90 |
|
.text:0000000000402C72 jnz short loc_402C7B |
|
.text:0000000000402C74 mov eax, 1 |
|
.text:0000000000402C79 jmp short loc_402C80 |
|
.text:0000000000402C7B ; --------------------------------------------------------------------------- |
|
.text:0000000000402C7B |
|
.text:0000000000402C7B loc_402C7B: ; CODE XREF: sub_402C0C+2F↑j |
|
.text:0000000000402C7B ; sub_402C0C+38↑j ... |
|
.text:0000000000402C7B mov eax, 0 |
|
.text:0000000000402C80 |
|
.text:0000000000402C80 loc_402C80: ; CODE XREF: sub_402C0C+6D↑j |
|
.text:0000000000402C80 pop rbp |
|
.text:0000000000402C81 retn |
|
.text:0000000000402C81 ; } // starts at 402C0C |
|
.text:0000000000402C81 sub_402C0C endp |
|
.text:0000000000402C81 |
|
.text:0000000000402C82 |
|
.text:0000000000402C82 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402C82 |
|
.text:0000000000402C82 ; Attributes: bp-based frame |
|
.text:0000000000402C82 |
|
.text:0000000000402C82 sub_402C82 proc near ; CODE XREF: sub_4036FC+FAD↓p |
|
.text:0000000000402C82 |
|
.text:0000000000402C82 var_10 = qword ptr -10h |
|
.text:0000000000402C82 var_8 = qword ptr -8 |
|
.text:0000000000402C82 |
|
.text:0000000000402C82 ; __unwind { |
|
.text:0000000000402C82 push rbp |
|
.text:0000000000402C83 mov rbp, rsp |
|
.text:0000000000402C86 mov [rbp+var_8], rdi |
|
.text:0000000000402C8A mov [rbp+var_10], rsi |
|
.text:0000000000402C8E mov rax, [rbp+var_8] |
|
.text:0000000000402C92 movzx eax, word ptr [rax+0CAh] |
|
.text:0000000000402C99 mov edx, eax |
|
.text:0000000000402C9B mov rax, [rbp+var_10] |
|
.text:0000000000402C9F movzx eax, word ptr [rax+0DAh] |
|
.text:0000000000402CA6 add eax, edx |
|
.text:0000000000402CA8 cmp ax, 9BE4h |
|
.text:0000000000402CAC jnz short loc_402CD7 |
|
.text:0000000000402CAE mov rax, [rbp+var_8] |
|
.text:0000000000402CB2 movzx eax, word ptr [rax+0CAh] |
|
.text:0000000000402CB9 cwde |
|
.text:0000000000402CBA mov rdx, [rbp+var_10] |
|
.text:0000000000402CBE movzx edx, word ptr [rdx+0DAh] |
|
.text:0000000000402CC5 movsx ecx, dx |
|
.text:0000000000402CC8 cdq |
|
.text:0000000000402CC9 idiv ecx |
|
.text:0000000000402CCB test ax, ax |
|
.text:0000000000402CCE jnz short loc_402CD7 |
|
.text:0000000000402CD0 mov eax, 1 |
|
.text:0000000000402CD5 jmp short loc_402CDC |
|
.text:0000000000402CD7 ; --------------------------------------------------------------------------- |
|
.text:0000000000402CD7 |
|
.text:0000000000402CD7 loc_402CD7: ; CODE XREF: sub_402C82+2A↑j |
|
.text:0000000000402CD7 ; sub_402C82+4C↑j |
|
.text:0000000000402CD7 mov eax, 0 |
|
.text:0000000000402CDC |
|
.text:0000000000402CDC loc_402CDC: ; CODE XREF: sub_402C82+53↑j |
|
.text:0000000000402CDC pop rbp |
|
.text:0000000000402CDD retn |
|
.text:0000000000402CDD ; } // starts at 402C82 |
|
.text:0000000000402CDD sub_402C82 endp |
|
.text:0000000000402CDD |
|
.text:0000000000402CDE |
|
.text:0000000000402CDE ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402CDE |
|
.text:0000000000402CDE ; Attributes: bp-based frame |
|
.text:0000000000402CDE |
|
.text:0000000000402CDE sub_402CDE proc near ; CODE XREF: sub_4036FC+FCC↓p |
|
.text:0000000000402CDE |
|
.text:0000000000402CDE var_10 = qword ptr -10h |
|
.text:0000000000402CDE var_8 = qword ptr -8 |
|
.text:0000000000402CDE |
|
.text:0000000000402CDE ; __unwind { |
|
.text:0000000000402CDE push rbp |
|
.text:0000000000402CDF mov rbp, rsp |
|
.text:0000000000402CE2 mov [rbp+var_8], rdi |
|
.text:0000000000402CE6 mov [rbp+var_10], rsi |
|
.text:0000000000402CEA mov rax, [rbp+var_8] |
|
.text:0000000000402CEE movzx eax, word ptr [rax+0D0h] |
|
.text:0000000000402CF5 mov edx, eax |
|
.text:0000000000402CF7 mov rax, [rbp+var_10] |
|
.text:0000000000402CFB movzx eax, word ptr [rax+0EAh] |
|
.text:0000000000402D02 add eax, edx |
|
.text:0000000000402D04 cmp ax, 859Eh |
|
.text:0000000000402D08 jnz short loc_402D34 |
|
.text:0000000000402D0A mov rax, [rbp+var_8] |
|
.text:0000000000402D0E movzx eax, word ptr [rax+0D0h] |
|
.text:0000000000402D15 cwde |
|
.text:0000000000402D16 mov rdx, [rbp+var_10] |
|
.text:0000000000402D1A movzx edx, word ptr [rdx+0EAh] |
|
.text:0000000000402D21 movsx ecx, dx |
|
.text:0000000000402D24 cdq |
|
.text:0000000000402D25 idiv ecx |
|
.text:0000000000402D27 cmp ax, 3 |
|
.text:0000000000402D2B jnz short loc_402D34 |
|
.text:0000000000402D2D mov eax, 1 |
|
.text:0000000000402D32 jmp short loc_402D39 |
|
.text:0000000000402D34 ; --------------------------------------------------------------------------- |
|
.text:0000000000402D34 |
|
.text:0000000000402D34 loc_402D34: ; CODE XREF: sub_402CDE+2A↑j |
|
.text:0000000000402D34 ; sub_402CDE+4D↑j |
|
.text:0000000000402D34 mov eax, 0 |
|
.text:0000000000402D39 |
|
.text:0000000000402D39 loc_402D39: ; CODE XREF: sub_402CDE+54↑j |
|
.text:0000000000402D39 pop rbp |
|
.text:0000000000402D3A retn |
|
.text:0000000000402D3A ; } // starts at 402CDE |
|
.text:0000000000402D3A sub_402CDE endp |
|
.text:0000000000402D3A |
|
.text:0000000000402D3B |
|
.text:0000000000402D3B ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402D3B |
|
.text:0000000000402D3B ; Attributes: bp-based frame |
|
.text:0000000000402D3B |
|
.text:0000000000402D3B sub_402D3B proc near ; CODE XREF: sub_4036FC+FEB↓p |
|
.text:0000000000402D3B |
|
.text:0000000000402D3B var_10 = qword ptr -10h |
|
.text:0000000000402D3B var_8 = qword ptr -8 |
|
.text:0000000000402D3B |
|
.text:0000000000402D3B ; __unwind { |
|
.text:0000000000402D3B push rbp |
|
.text:0000000000402D3C mov rbp, rsp |
|
.text:0000000000402D3F mov [rbp+var_8], rdi |
|
.text:0000000000402D43 mov [rbp+var_10], rsi |
|
.text:0000000000402D47 mov rax, [rbp+var_8] |
|
.text:0000000000402D4B movzx eax, byte ptr [rax+0C1h] |
|
.text:0000000000402D52 mov ecx, eax |
|
.text:0000000000402D54 mov rax, [rbp+var_10] |
|
.text:0000000000402D58 movzx eax, byte ptr [rax+0C8h] |
|
.text:0000000000402D5F mov edx, eax |
|
.text:0000000000402D61 mov eax, ecx |
|
.text:0000000000402D63 imul eax, edx |
|
.text:0000000000402D66 cmp al, 26h |
|
.text:0000000000402D68 jnz short loc_402D91 |
|
.text:0000000000402D6A mov rax, [rbp+var_8] |
|
.text:0000000000402D6E movzx eax, byte ptr [rax+0C1h] |
|
.text:0000000000402D75 mov edx, eax |
|
.text:0000000000402D77 mov rax, [rbp+var_10] |
|
.text:0000000000402D7B movzx eax, byte ptr [rax+0C8h] |
|
.text:0000000000402D82 sub edx, eax |
|
.text:0000000000402D84 mov eax, edx |
|
.text:0000000000402D86 cmp al, 0C9h |
|
.text:0000000000402D88 jnz short loc_402D91 |
|
.text:0000000000402D8A mov eax, 1 |
|
.text:0000000000402D8F jmp short loc_402D96 |
|
.text:0000000000402D91 ; --------------------------------------------------------------------------- |
|
.text:0000000000402D91 |
|
.text:0000000000402D91 loc_402D91: ; CODE XREF: sub_402D3B+2D↑j |
|
.text:0000000000402D91 ; sub_402D3B+4D↑j |
|
.text:0000000000402D91 mov eax, 0 |
|
.text:0000000000402D96 |
|
.text:0000000000402D96 loc_402D96: ; CODE XREF: sub_402D3B+54↑j |
|
.text:0000000000402D96 pop rbp |
|
.text:0000000000402D97 retn |
|
.text:0000000000402D97 ; } // starts at 402D3B |
|
.text:0000000000402D97 sub_402D3B endp |
|
.text:0000000000402D97 |
|
.text:0000000000402D98 |
|
.text:0000000000402D98 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402D98 |
|
.text:0000000000402D98 ; Attributes: bp-based frame |
|
.text:0000000000402D98 |
|
.text:0000000000402D98 sub_402D98 proc near ; CODE XREF: sub_4036FC+100A↓p |
|
.text:0000000000402D98 |
|
.text:0000000000402D98 var_10 = qword ptr -10h |
|
.text:0000000000402D98 var_8 = qword ptr -8 |
|
.text:0000000000402D98 |
|
.text:0000000000402D98 ; __unwind { |
|
.text:0000000000402D98 push rbp |
|
.text:0000000000402D99 mov rbp, rsp |
|
.text:0000000000402D9C mov [rbp+var_8], rdi |
|
.text:0000000000402DA0 mov [rbp+var_10], rsi |
|
.text:0000000000402DA4 mov rax, [rbp+var_8] |
|
.text:0000000000402DA8 movzx eax, byte ptr [rax+0C8h] |
|
.text:0000000000402DAF mov edx, eax |
|
.text:0000000000402DB1 mov rax, [rbp+var_10] |
|
.text:0000000000402DB5 movzx eax, byte ptr [rax+0C9h] |
|
.text:0000000000402DBC sub edx, eax |
|
.text:0000000000402DBE mov eax, edx |
|
.text:0000000000402DC0 cmp al, 0F6h |
|
.text:0000000000402DC2 jnz short loc_402DEE |
|
.text:0000000000402DC4 mov rax, [rbp+var_8] |
|
.text:0000000000402DC8 movzx eax, byte ptr [rax+0C8h] |
|
.text:0000000000402DCF mov ecx, eax |
|
.text:0000000000402DD1 mov rax, [rbp+var_10] |
|
.text:0000000000402DD5 movzx eax, byte ptr [rax+0C9h] |
|
.text:0000000000402DDC mov edx, eax |
|
.text:0000000000402DDE mov eax, ecx |
|
.text:0000000000402DE0 imul eax, edx |
|
.text:0000000000402DE3 cmp al, 0CBh |
|
.text:0000000000402DE5 jnz short loc_402DEE |
|
.text:0000000000402DE7 mov eax, 1 |
|
.text:0000000000402DEC jmp short loc_402DF3 |
|
.text:0000000000402DEE ; --------------------------------------------------------------------------- |
|
.text:0000000000402DEE |
|
.text:0000000000402DEE loc_402DEE: ; CODE XREF: sub_402D98+2A↑j |
|
.text:0000000000402DEE ; sub_402D98+4D↑j |
|
.text:0000000000402DEE mov eax, 0 |
|
.text:0000000000402DF3 |
|
.text:0000000000402DF3 loc_402DF3: ; CODE XREF: sub_402D98+54↑j |
|
.text:0000000000402DF3 pop rbp |
|
.text:0000000000402DF4 retn |
|
.text:0000000000402DF4 ; } // starts at 402D98 |
|
.text:0000000000402DF4 sub_402D98 endp |
|
.text:0000000000402DF4 |
|
.text:0000000000402DF5 |
|
.text:0000000000402DF5 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402DF5 |
|
.text:0000000000402DF5 ; Attributes: bp-based frame |
|
.text:0000000000402DF5 |
|
.text:0000000000402DF5 sub_402DF5 proc near ; CODE XREF: sub_4036FC+1029↓p |
|
.text:0000000000402DF5 |
|
.text:0000000000402DF5 var_10 = qword ptr -10h |
|
.text:0000000000402DF5 var_8 = qword ptr -8 |
|
.text:0000000000402DF5 |
|
.text:0000000000402DF5 ; __unwind { |
|
.text:0000000000402DF5 push rbp |
|
.text:0000000000402DF6 mov rbp, rsp |
|
.text:0000000000402DF9 mov [rbp+var_8], rdi |
|
.text:0000000000402DFD mov [rbp+var_10], rsi |
|
.text:0000000000402E01 mov rax, [rbp+var_8] |
|
.text:0000000000402E05 movzx eax, word ptr [rax+0D2h] |
|
.text:0000000000402E0C mov edx, eax |
|
.text:0000000000402E0E mov rax, [rbp+var_10] |
|
.text:0000000000402E12 movzx eax, word ptr [rax+0E2h] |
|
.text:0000000000402E19 sub edx, eax |
|
.text:0000000000402E1B mov eax, edx |
|
.text:0000000000402E1D cmp ax, 500h |
|
.text:0000000000402E21 jnz short loc_402E4A |
|
.text:0000000000402E23 mov rax, [rbp+var_8] |
|
.text:0000000000402E27 movzx eax, word ptr [rax+0D2h] |
|
.text:0000000000402E2E mov edx, eax |
|
.text:0000000000402E30 mov rax, [rbp+var_10] |
|
.text:0000000000402E34 movzx eax, word ptr [rax+0E2h] |
|
.text:0000000000402E3B add eax, edx |
|
.text:0000000000402E3D cmp ax, 0E9DEh |
|
.text:0000000000402E41 jnz short loc_402E4A |
|
.text:0000000000402E43 mov eax, 1 |
|
.text:0000000000402E48 jmp short loc_402E4F |
|
.text:0000000000402E4A ; --------------------------------------------------------------------------- |
|
.text:0000000000402E4A |
|
.text:0000000000402E4A loc_402E4A: ; CODE XREF: sub_402DF5+2C↑j |
|
.text:0000000000402E4A ; sub_402DF5+4C↑j |
|
.text:0000000000402E4A mov eax, 0 |
|
.text:0000000000402E4F |
|
.text:0000000000402E4F loc_402E4F: ; CODE XREF: sub_402DF5+53↑j |
|
.text:0000000000402E4F pop rbp |
|
.text:0000000000402E50 retn |
|
.text:0000000000402E50 ; } // starts at 402DF5 |
|
.text:0000000000402E50 sub_402DF5 endp |
|
.text:0000000000402E50 |
|
.text:0000000000402E51 |
|
.text:0000000000402E51 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402E51 |
|
.text:0000000000402E51 ; Attributes: bp-based frame |
|
.text:0000000000402E51 |
|
.text:0000000000402E51 sub_402E51 proc near ; CODE XREF: sub_4036FC+1048↓p |
|
.text:0000000000402E51 |
|
.text:0000000000402E51 var_10 = qword ptr -10h |
|
.text:0000000000402E51 var_8 = qword ptr -8 |
|
.text:0000000000402E51 |
|
.text:0000000000402E51 ; __unwind { |
|
.text:0000000000402E51 push rbp |
|
.text:0000000000402E52 mov rbp, rsp |
|
.text:0000000000402E55 mov [rbp+var_8], rdi |
|
.text:0000000000402E59 mov [rbp+var_10], rsi |
|
.text:0000000000402E5D mov rax, [rbp+var_8] |
|
.text:0000000000402E61 movzx eax, byte ptr [rax+0D4h] |
|
.text:0000000000402E68 mov edx, eax |
|
.text:0000000000402E6A mov rax, [rbp+var_10] |
|
.text:0000000000402E6E movzx eax, byte ptr [rax+0DCh] |
|
.text:0000000000402E75 sub edx, eax |
|
.text:0000000000402E77 mov eax, edx |
|
.text:0000000000402E79 cmp al, 0B9h |
|
.text:0000000000402E7B jnz short loc_402EA7 |
|
.text:0000000000402E7D mov rax, [rbp+var_8] |
|
.text:0000000000402E81 movzx eax, byte ptr [rax+0D4h] |
|
.text:0000000000402E88 mov ecx, eax |
|
.text:0000000000402E8A mov rax, [rbp+var_10] |
|
.text:0000000000402E8E movzx eax, byte ptr [rax+0DCh] |
|
.text:0000000000402E95 mov edx, eax |
|
.text:0000000000402E97 mov eax, ecx |
|
.text:0000000000402E99 imul eax, edx |
|
.text:0000000000402E9C cmp al, 0C4h |
|
.text:0000000000402E9E jnz short loc_402EA7 |
|
.text:0000000000402EA0 mov eax, 1 |
|
.text:0000000000402EA5 jmp short loc_402EAC |
|
.text:0000000000402EA7 ; --------------------------------------------------------------------------- |
|
.text:0000000000402EA7 |
|
.text:0000000000402EA7 loc_402EA7: ; CODE XREF: sub_402E51+2A↑j |
|
.text:0000000000402EA7 ; sub_402E51+4D↑j |
|
.text:0000000000402EA7 mov eax, 0 |
|
.text:0000000000402EAC |
|
.text:0000000000402EAC loc_402EAC: ; CODE XREF: sub_402E51+54↑j |
|
.text:0000000000402EAC pop rbp |
|
.text:0000000000402EAD retn |
|
.text:0000000000402EAD ; } // starts at 402E51 |
|
.text:0000000000402EAD sub_402E51 endp |
|
.text:0000000000402EAD |
|
.text:0000000000402EAE |
|
.text:0000000000402EAE ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402EAE |
|
.text:0000000000402EAE ; Attributes: bp-based frame |
|
.text:0000000000402EAE |
|
.text:0000000000402EAE sub_402EAE proc near ; CODE XREF: sub_4036FC+1067↓p |
|
.text:0000000000402EAE |
|
.text:0000000000402EAE var_10 = qword ptr -10h |
|
.text:0000000000402EAE var_8 = qword ptr -8 |
|
.text:0000000000402EAE |
|
.text:0000000000402EAE ; __unwind { |
|
.text:0000000000402EAE push rbp |
|
.text:0000000000402EAF mov rbp, rsp |
|
.text:0000000000402EB2 mov [rbp+var_8], rdi |
|
.text:0000000000402EB6 mov [rbp+var_10], rsi |
|
.text:0000000000402EBA mov rax, [rbp+var_8] |
|
.text:0000000000402EBE movzx eax, word ptr [rax+0D6h] |
|
.text:0000000000402EC5 mov edx, eax |
|
.text:0000000000402EC7 mov rax, [rbp+var_10] |
|
.text:0000000000402ECB movzx eax, word ptr [rax+0E0h] |
|
.text:0000000000402ED2 sub edx, eax |
|
.text:0000000000402ED4 mov eax, edx |
|
.text:0000000000402ED6 cmp ax, 4F5h |
|
.text:0000000000402EDA jnz short loc_402F04 |
|
.text:0000000000402EDC mov rax, [rbp+var_8] |
|
.text:0000000000402EE0 movzx eax, word ptr [rax+0D6h] |
|
.text:0000000000402EE7 mov edx, eax |
|
.text:0000000000402EE9 mov rax, [rbp+var_10] |
|
.text:0000000000402EED movzx eax, word ptr [rax+0E0h] |
|
.text:0000000000402EF4 imul eax, edx |
|
.text:0000000000402EF7 cmp ax, 0DABAh |
|
.text:0000000000402EFB jnz short loc_402F04 |
|
.text:0000000000402EFD mov eax, 1 |
|
.text:0000000000402F02 jmp short loc_402F09 |
|
.text:0000000000402F04 ; --------------------------------------------------------------------------- |
|
.text:0000000000402F04 |
|
.text:0000000000402F04 loc_402F04: ; CODE XREF: sub_402EAE+2C↑j |
|
.text:0000000000402F04 ; sub_402EAE+4D↑j |
|
.text:0000000000402F04 mov eax, 0 |
|
.text:0000000000402F09 |
|
.text:0000000000402F09 loc_402F09: ; CODE XREF: sub_402EAE+54↑j |
|
.text:0000000000402F09 pop rbp |
|
.text:0000000000402F0A retn |
|
.text:0000000000402F0A ; } // starts at 402EAE |
|
.text:0000000000402F0A sub_402EAE endp |
|
.text:0000000000402F0A |
|
.text:0000000000402F0B |
|
.text:0000000000402F0B ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402F0B |
|
.text:0000000000402F0B ; Attributes: bp-based frame |
|
.text:0000000000402F0B |
|
.text:0000000000402F0B sub_402F0B proc near ; CODE XREF: sub_4036FC+1086↓p |
|
.text:0000000000402F0B |
|
.text:0000000000402F0B var_10 = qword ptr -10h |
|
.text:0000000000402F0B var_8 = qword ptr -8 |
|
.text:0000000000402F0B |
|
.text:0000000000402F0B ; __unwind { |
|
.text:0000000000402F0B push rbp |
|
.text:0000000000402F0C mov rbp, rsp |
|
.text:0000000000402F0F mov [rbp+var_8], rdi |
|
.text:0000000000402F13 mov [rbp+var_10], rsi |
|
.text:0000000000402F17 mov rax, [rbp+var_8] |
|
.text:0000000000402F1B movzx eax, word ptr [rax+0D6h] |
|
.text:0000000000402F22 mov edx, eax |
|
.text:0000000000402F24 mov rax, [rbp+var_10] |
|
.text:0000000000402F28 movzx eax, word ptr [rax+0E4h] |
|
.text:0000000000402F2F add eax, edx |
|
.text:0000000000402F31 cmp ax, 0D6D6h |
|
.text:0000000000402F35 jnz short loc_402F60 |
|
.text:0000000000402F37 mov rax, [rbp+var_8] |
|
.text:0000000000402F3B movzx eax, word ptr [rax+0D6h] |
|
.text:0000000000402F42 mov edx, eax |
|
.text:0000000000402F44 mov rax, [rbp+var_10] |
|
.text:0000000000402F48 movzx eax, word ptr [rax+0E4h] |
|
.text:0000000000402F4F sub edx, eax |
|
.text:0000000000402F51 mov eax, edx |
|
.text:0000000000402F53 cmp ax, 13EEh |
|
.text:0000000000402F57 jnz short loc_402F60 |
|
.text:0000000000402F59 mov eax, 1 |
|
.text:0000000000402F5E jmp short loc_402F65 |
|
.text:0000000000402F60 ; --------------------------------------------------------------------------- |
|
.text:0000000000402F60 |
|
.text:0000000000402F60 loc_402F60: ; CODE XREF: sub_402F0B+2A↑j |
|
.text:0000000000402F60 ; sub_402F0B+4C↑j |
|
.text:0000000000402F60 mov eax, 0 |
|
.text:0000000000402F65 |
|
.text:0000000000402F65 loc_402F65: ; CODE XREF: sub_402F0B+53↑j |
|
.text:0000000000402F65 pop rbp |
|
.text:0000000000402F66 retn |
|
.text:0000000000402F66 ; } // starts at 402F0B |
|
.text:0000000000402F66 sub_402F0B endp |
|
.text:0000000000402F66 |
|
.text:0000000000402F67 |
|
.text:0000000000402F67 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402F67 |
|
.text:0000000000402F67 ; Attributes: bp-based frame |
|
.text:0000000000402F67 |
|
.text:0000000000402F67 sub_402F67 proc near ; CODE XREF: sub_4036FC+10A5↓p |
|
.text:0000000000402F67 |
|
.text:0000000000402F67 var_10 = qword ptr -10h |
|
.text:0000000000402F67 var_8 = qword ptr -8 |
|
.text:0000000000402F67 |
|
.text:0000000000402F67 ; __unwind { |
|
.text:0000000000402F67 push rbp |
|
.text:0000000000402F68 mov rbp, rsp |
|
.text:0000000000402F6B mov [rbp+var_8], rdi |
|
.text:0000000000402F6F mov [rbp+var_10], rsi |
|
.text:0000000000402F73 mov rax, [rbp+var_8] |
|
.text:0000000000402F77 movzx eax, byte ptr [rax+0CBh] |
|
.text:0000000000402F7E mov edx, eax |
|
.text:0000000000402F80 mov rax, [rbp+var_10] |
|
.text:0000000000402F84 movzx eax, byte ptr [rax+0E4h] |
|
.text:0000000000402F8B sub edx, eax |
|
.text:0000000000402F8D mov eax, edx |
|
.text:0000000000402F8F cmp al, 0B8h |
|
.text:0000000000402F91 jnz short loc_402FB8 |
|
.text:0000000000402F93 mov rax, [rbp+var_8] |
|
.text:0000000000402F97 movzx eax, byte ptr [rax+0CBh] |
|
.text:0000000000402F9E mov edx, eax |
|
.text:0000000000402FA0 mov rax, [rbp+var_10] |
|
.text:0000000000402FA4 movzx eax, byte ptr [rax+0E4h] |
|
.text:0000000000402FAB add eax, edx |
|
.text:0000000000402FAD cmp al, 0A0h |
|
.text:0000000000402FAF jnz short loc_402FB8 |
|
.text:0000000000402FB1 mov eax, 1 |
|
.text:0000000000402FB6 jmp short loc_402FBD |
|
.text:0000000000402FB8 ; --------------------------------------------------------------------------- |
|
.text:0000000000402FB8 |
|
.text:0000000000402FB8 loc_402FB8: ; CODE XREF: sub_402F67+2A↑j |
|
.text:0000000000402FB8 ; sub_402F67+48↑j |
|
.text:0000000000402FB8 mov eax, 0 |
|
.text:0000000000402FBD |
|
.text:0000000000402FBD loc_402FBD: ; CODE XREF: sub_402F67+4F↑j |
|
.text:0000000000402FBD pop rbp |
|
.text:0000000000402FBE retn |
|
.text:0000000000402FBE ; } // starts at 402F67 |
|
.text:0000000000402FBE sub_402F67 endp |
|
.text:0000000000402FBE |
|
.text:0000000000402FBF |
|
.text:0000000000402FBF ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000402FBF |
|
.text:0000000000402FBF ; Attributes: bp-based frame |
|
.text:0000000000402FBF |
|
.text:0000000000402FBF sub_402FBF proc near ; CODE XREF: sub_4036FC+10C4↓p |
|
.text:0000000000402FBF |
|
.text:0000000000402FBF var_10 = qword ptr -10h |
|
.text:0000000000402FBF var_8 = qword ptr -8 |
|
.text:0000000000402FBF |
|
.text:0000000000402FBF ; __unwind { |
|
.text:0000000000402FBF push rbp |
|
.text:0000000000402FC0 mov rbp, rsp |
|
.text:0000000000402FC3 mov [rbp+var_8], rdi |
|
.text:0000000000402FC7 mov [rbp+var_10], rsi |
|
.text:0000000000402FCB mov rax, [rbp+var_8] |
|
.text:0000000000402FCF movzx eax, byte ptr [rax+0D5h] |
|
.text:0000000000402FD6 mov edx, eax |
|
.text:0000000000402FD8 mov rax, [rbp+var_10] |
|
.text:0000000000402FDC movzx eax, byte ptr [rax+0E5h] |
|
.text:0000000000402FE3 add eax, edx |
|
.text:0000000000402FE5 cmp al, 81h |
|
.text:0000000000402FE7 jnz short loc_403013 |
|
.text:0000000000402FE9 mov rax, [rbp+var_8] |
|
.text:0000000000402FED movzx eax, byte ptr [rax+0D5h] |
|
.text:0000000000402FF4 mov ecx, eax |
|
.text:0000000000402FF6 mov rax, [rbp+var_10] |
|
.text:0000000000402FFA movzx eax, byte ptr [rax+0E5h] |
|
.text:0000000000403001 mov edx, eax |
|
.text:0000000000403003 mov eax, ecx |
|
.text:0000000000403005 imul eax, edx |
|
.text:0000000000403008 cmp al, 20h |
|
.text:000000000040300A jnz short loc_403013 |
|
.text:000000000040300C mov eax, 1 |
|
.text:0000000000403011 jmp short loc_403018 |
|
.text:0000000000403013 ; --------------------------------------------------------------------------- |
|
.text:0000000000403013 |
|
.text:0000000000403013 loc_403013: ; CODE XREF: sub_402FBF+28↑j |
|
.text:0000000000403013 ; sub_402FBF+4B↑j |
|
.text:0000000000403013 mov eax, 0 |
|
.text:0000000000403018 |
|
.text:0000000000403018 loc_403018: ; CODE XREF: sub_402FBF+52↑j |
|
.text:0000000000403018 pop rbp |
|
.text:0000000000403019 retn |
|
.text:0000000000403019 ; } // starts at 402FBF |
|
.text:0000000000403019 sub_402FBF endp |
|
.text:0000000000403019 |
|
.text:000000000040301A |
|
.text:000000000040301A ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040301A |
|
.text:000000000040301A ; Attributes: bp-based frame |
|
.text:000000000040301A |
|
.text:000000000040301A sub_40301A proc near ; CODE XREF: sub_4036FC+10E3↓p |
|
.text:000000000040301A |
|
.text:000000000040301A var_10 = qword ptr -10h |
|
.text:000000000040301A var_8 = qword ptr -8 |
|
.text:000000000040301A |
|
.text:000000000040301A ; __unwind { |
|
.text:000000000040301A push rbp |
|
.text:000000000040301B mov rbp, rsp |
|
.text:000000000040301E mov [rbp+var_8], rdi |
|
.text:0000000000403022 mov [rbp+var_10], rsi |
|
.text:0000000000403026 mov rax, [rbp+var_8] |
|
.text:000000000040302A movzx eax, word ptr [rax+0D8h] |
|
.text:0000000000403031 mov edx, eax |
|
.text:0000000000403033 mov rax, [rbp+var_10] |
|
.text:0000000000403037 movzx eax, word ptr [rax+0DEh] |
|
.text:000000000040303E imul eax, edx |
|
.text:0000000000403041 cmp ax, 0A280h |
|
.text:0000000000403045 jnz short loc_40306E |
|
.text:0000000000403047 mov rax, [rbp+var_8] |
|
.text:000000000040304B movzx eax, word ptr [rax+0D8h] |
|
.text:0000000000403052 mov edx, eax |
|
.text:0000000000403054 mov rax, [rbp+var_10] |
|
.text:0000000000403058 movzx eax, word ptr [rax+0DEh] |
|
.text:000000000040305F add eax, edx |
|
.text:0000000000403061 cmp ax, 8994h |
|
.text:0000000000403065 jnz short loc_40306E |
|
.text:0000000000403067 mov eax, 1 |
|
.text:000000000040306C jmp short loc_403073 |
|
.text:000000000040306E ; --------------------------------------------------------------------------- |
|
.text:000000000040306E |
|
.text:000000000040306E loc_40306E: ; CODE XREF: sub_40301A+2B↑j |
|
.text:000000000040306E ; sub_40301A+4B↑j |
|
.text:000000000040306E mov eax, 0 |
|
.text:0000000000403073 |
|
.text:0000000000403073 loc_403073: ; CODE XREF: sub_40301A+52↑j |
|
.text:0000000000403073 pop rbp |
|
.text:0000000000403074 retn |
|
.text:0000000000403074 ; } // starts at 40301A |
|
.text:0000000000403074 sub_40301A endp |
|
.text:0000000000403074 |
|
.text:0000000000403075 |
|
.text:0000000000403075 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000403075 |
|
.text:0000000000403075 ; Attributes: bp-based frame |
|
.text:0000000000403075 |
|
.text:0000000000403075 sub_403075 proc near ; CODE XREF: sub_4036FC+1102↓p |
|
.text:0000000000403075 |
|
.text:0000000000403075 var_10 = qword ptr -10h |
|
.text:0000000000403075 var_8 = qword ptr -8 |
|
.text:0000000000403075 |
|
.text:0000000000403075 ; __unwind { |
|
.text:0000000000403075 push rbp |
|
.text:0000000000403076 mov rbp, rsp |
|
.text:0000000000403079 mov [rbp+var_8], rdi |
|
.text:000000000040307D mov [rbp+var_10], rsi |
|
.text:0000000000403081 mov rax, [rbp+var_8] |
|
.text:0000000000403085 movzx eax, word ptr [rax+0D8h] |
|
.text:000000000040308C mov edx, eax |
|
.text:000000000040308E mov rax, [rbp+var_10] |
|
.text:0000000000403092 movzx eax, word ptr [rax+0E2h] |
|
.text:0000000000403099 add eax, edx |
|
.text:000000000040309B cmp ax, 92E3h |
|
.text:000000000040309F jnz short loc_4030CA |
|
.text:00000000004030A1 mov rax, [rbp+var_8] |
|
.text:00000000004030A5 movzx eax, word ptr [rax+0D8h] |
|
.text:00000000004030AC cwde |
|
.text:00000000004030AD mov rdx, [rbp+var_10] |
|
.text:00000000004030B1 movzx edx, word ptr [rdx+0E2h] |
|
.text:00000000004030B8 movsx ecx, dx |
|
.text:00000000004030BB cdq |
|
.text:00000000004030BC idiv ecx |
|
.text:00000000004030BE test ax, ax |
|
.text:00000000004030C1 jnz short loc_4030CA |
|
.text:00000000004030C3 mov eax, 1 |
|
.text:00000000004030C8 jmp short loc_4030CF |
|
.text:00000000004030CA ; --------------------------------------------------------------------------- |
|
.text:00000000004030CA |
|
.text:00000000004030CA loc_4030CA: ; CODE XREF: sub_403075+2A↑j |
|
.text:00000000004030CA ; sub_403075+4C↑j |
|
.text:00000000004030CA mov eax, 0 |
|
.text:00000000004030CF |
|
.text:00000000004030CF loc_4030CF: ; CODE XREF: sub_403075+53↑j |
|
.text:00000000004030CF pop rbp |
|
.text:00000000004030D0 retn |
|
.text:00000000004030D0 ; } // starts at 403075 |
|
.text:00000000004030D0 sub_403075 endp |
|
.text:00000000004030D0 |
|
.text:00000000004030D1 |
|
.text:00000000004030D1 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004030D1 |
|
.text:00000000004030D1 ; Attributes: bp-based frame |
|
.text:00000000004030D1 |
|
.text:00000000004030D1 sub_4030D1 proc near ; CODE XREF: sub_4036FC+1121↓p |
|
.text:00000000004030D1 |
|
.text:00000000004030D1 var_10 = qword ptr -10h |
|
.text:00000000004030D1 var_8 = qword ptr -8 |
|
.text:00000000004030D1 |
|
.text:00000000004030D1 ; __unwind { |
|
.text:00000000004030D1 push rbp |
|
.text:00000000004030D2 mov rbp, rsp |
|
.text:00000000004030D5 mov [rbp+var_8], rdi |
|
.text:00000000004030D9 mov [rbp+var_10], rsi |
|
.text:00000000004030DD mov rax, [rbp+var_8] |
|
.text:00000000004030E1 movss xmm1, dword ptr [rax+0DEh] |
|
.text:00000000004030E9 mov rax, [rbp+var_10] |
|
.text:00000000004030ED movss xmm0, dword ptr [rax+0EAh] |
|
.text:00000000004030F5 addss xmm0, xmm1 |
|
.text:00000000004030F9 ucomiss xmm0, cs:dword_404C94 |
|
.text:0000000000403100 jp short loc_403140 |
|
.text:0000000000403102 ucomiss xmm0, cs:dword_404C94 |
|
.text:0000000000403109 jnz short loc_403140 |
|
.text:000000000040310B mov rax, [rbp+var_8] |
|
.text:000000000040310F movss xmm0, dword ptr [rax+0DEh] |
|
.text:0000000000403117 mov rax, [rbp+var_10] |
|
.text:000000000040311B movss xmm1, dword ptr [rax+0EAh] |
|
.text:0000000000403123 divss xmm0, xmm1 |
|
.text:0000000000403127 ucomiss xmm0, cs:dword_404C98 |
|
.text:000000000040312E jp short loc_403140 |
|
.text:0000000000403130 ucomiss xmm0, cs:dword_404C98 |
|
.text:0000000000403137 jnz short loc_403140 |
|
.text:0000000000403139 mov eax, 1 |
|
.text:000000000040313E jmp short loc_403145 |
|
.text:0000000000403140 ; --------------------------------------------------------------------------- |
|
.text:0000000000403140 |
|
.text:0000000000403140 loc_403140: ; CODE XREF: sub_4030D1+2F↑j |
|
.text:0000000000403140 ; sub_4030D1+38↑j ... |
|
.text:0000000000403140 mov eax, 0 |
|
.text:0000000000403145 |
|
.text:0000000000403145 loc_403145: ; CODE XREF: sub_4030D1+6D↑j |
|
.text:0000000000403145 pop rbp |
|
.text:0000000000403146 retn |
|
.text:0000000000403146 ; } // starts at 4030D1 |
|
.text:0000000000403146 sub_4030D1 endp |
|
.text:0000000000403146 |
|
.text:0000000000403147 |
|
.text:0000000000403147 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000403147 |
|
.text:0000000000403147 ; Attributes: bp-based frame |
|
.text:0000000000403147 |
|
.text:0000000000403147 sub_403147 proc near ; CODE XREF: sub_4036FC+1140↓p |
|
.text:0000000000403147 |
|
.text:0000000000403147 var_10 = qword ptr -10h |
|
.text:0000000000403147 var_8 = qword ptr -8 |
|
.text:0000000000403147 |
|
.text:0000000000403147 ; __unwind { |
|
.text:0000000000403147 push rbp |
|
.text:0000000000403148 mov rbp, rsp |
|
.text:000000000040314B mov [rbp+var_8], rdi |
|
.text:000000000040314F mov [rbp+var_10], rsi |
|
.text:0000000000403153 mov rax, [rbp+var_8] |
|
.text:0000000000403157 movzx eax, word ptr [rax+0E6h] |
|
.text:000000000040315E cwde |
|
.text:000000000040315F mov rdx, [rbp+var_10] |
|
.text:0000000000403163 movzx edx, word ptr [rdx+0EEh] |
|
.text:000000000040316A movsx ecx, dx |
|
.text:000000000040316D cdq |
|
.text:000000000040316E idiv ecx |
|
.text:0000000000403170 test ax, ax |
|
.text:0000000000403173 jnz short loc_40319D |
|
.text:0000000000403175 mov rax, [rbp+var_8] |
|
.text:0000000000403179 movzx eax, word ptr [rax+0E6h] |
|
.text:0000000000403180 mov edx, eax |
|
.text:0000000000403182 mov rax, [rbp+var_10] |
|
.text:0000000000403186 movzx eax, word ptr [rax+0EEh] |
|
.text:000000000040318D imul eax, edx |
|
.text:0000000000403190 cmp ax, 0AFC0h |
|
.text:0000000000403194 jnz short loc_40319D |
|
.text:0000000000403196 mov eax, 1 |
|
.text:000000000040319B jmp short loc_4031A2 |
|
.text:000000000040319D ; --------------------------------------------------------------------------- |
|
.text:000000000040319D |
|
.text:000000000040319D loc_40319D: ; CODE XREF: sub_403147+2C↑j |
|
.text:000000000040319D ; sub_403147+4D↑j |
|
.text:000000000040319D mov eax, 0 |
|
.text:00000000004031A2 |
|
.text:00000000004031A2 loc_4031A2: ; CODE XREF: sub_403147+54↑j |
|
.text:00000000004031A2 pop rbp |
|
.text:00000000004031A3 retn |
|
.text:00000000004031A3 ; } // starts at 403147 |
|
.text:00000000004031A3 sub_403147 endp |
|
.text:00000000004031A3 |
|
.text:00000000004031A4 |
|
.text:00000000004031A4 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004031A4 |
|
.text:00000000004031A4 ; Attributes: bp-based frame |
|
.text:00000000004031A4 |
|
.text:00000000004031A4 sub_4031A4 proc near ; CODE XREF: sub_4036FC+115F↓p |
|
.text:00000000004031A4 |
|
.text:00000000004031A4 var_10 = qword ptr -10h |
|
.text:00000000004031A4 var_8 = qword ptr -8 |
|
.text:00000000004031A4 |
|
.text:00000000004031A4 ; __unwind { |
|
.text:00000000004031A4 push rbp |
|
.text:00000000004031A5 mov rbp, rsp |
|
.text:00000000004031A8 mov [rbp+var_8], rdi |
|
.text:00000000004031AC mov [rbp+var_10], rsi |
|
.text:00000000004031B0 mov rax, [rbp+var_8] |
|
.text:00000000004031B4 movzx eax, byte ptr [rax+0E6h] |
|
.text:00000000004031BB mov ecx, eax |
|
.text:00000000004031BD mov rax, [rbp+var_10] |
|
.text:00000000004031C1 movzx eax, byte ptr [rax+0C9h] |
|
.text:00000000004031C8 mov edx, eax |
|
.text:00000000004031CA mov eax, ecx |
|
.text:00000000004031CC imul eax, edx |
|
.text:00000000004031CF cmp al, 0B2h |
|
.text:00000000004031D1 jnz short loc_4031FA |
|
.text:00000000004031D3 mov rax, [rbp+var_8] |
|
.text:00000000004031D7 movzx eax, byte ptr [rax+0E6h] |
|
.text:00000000004031DE mov edx, eax |
|
.text:00000000004031E0 mov rax, [rbp+var_10] |
|
.text:00000000004031E4 movzx eax, byte ptr [rax+0C9h] |
|
.text:00000000004031EB sub edx, eax |
|
.text:00000000004031ED mov eax, edx |
|
.text:00000000004031EF cmp al, 0FFh |
|
.text:00000000004031F1 jnz short loc_4031FA |
|
.text:00000000004031F3 mov eax, 1 |
|
.text:00000000004031F8 jmp short loc_4031FF |
|
.text:00000000004031FA ; --------------------------------------------------------------------------- |
|
.text:00000000004031FA |
|
.text:00000000004031FA loc_4031FA: ; CODE XREF: sub_4031A4+2D↑j |
|
.text:00000000004031FA ; sub_4031A4+4D↑j |
|
.text:00000000004031FA mov eax, 0 |
|
.text:00000000004031FF |
|
.text:00000000004031FF loc_4031FF: ; CODE XREF: sub_4031A4+54↑j |
|
.text:00000000004031FF pop rbp |
|
.text:0000000000403200 retn |
|
.text:0000000000403200 ; } // starts at 4031A4 |
|
.text:0000000000403200 sub_4031A4 endp |
|
.text:0000000000403200 |
|
.text:0000000000403201 |
|
.text:0000000000403201 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000403201 |
|
.text:0000000000403201 ; Attributes: bp-based frame |
|
.text:0000000000403201 |
|
.text:0000000000403201 sub_403201 proc near ; CODE XREF: sub_4036FC+117E↓p |
|
.text:0000000000403201 |
|
.text:0000000000403201 var_10 = qword ptr -10h |
|
.text:0000000000403201 var_8 = qword ptr -8 |
|
.text:0000000000403201 |
|
.text:0000000000403201 ; __unwind { |
|
.text:0000000000403201 push rbp |
|
.text:0000000000403202 mov rbp, rsp |
|
.text:0000000000403205 mov [rbp+var_8], rdi |
|
.text:0000000000403209 mov [rbp+var_10], rsi |
|
.text:000000000040320D mov rax, [rbp+var_8] |
|
.text:0000000000403211 movzx eax, byte ptr [rax+0E7h] |
|
.text:0000000000403218 movsx eax, al |
|
.text:000000000040321B mov rdx, [rbp+var_10] |
|
.text:000000000040321F movzx edx, byte ptr [rdx+100h] |
|
.text:0000000000403226 movsx ecx, dl |
|
.text:0000000000403229 cdq |
|
.text:000000000040322A idiv ecx |
|
.text:000000000040322C cmp al, 1 |
|
.text:000000000040322E jnz short loc_403257 |
|
.text:0000000000403230 mov rax, [rbp+var_8] |
|
.text:0000000000403234 movzx eax, byte ptr [rax+0E7h] |
|
.text:000000000040323B mov edx, eax |
|
.text:000000000040323D mov rax, [rbp+var_10] |
|
.text:0000000000403241 movzx eax, byte ptr [rax+100h] |
|
.text:0000000000403248 sub edx, eax |
|
.text:000000000040324A mov eax, edx |
|
.text:000000000040324C cmp al, 0Fh |
|
.text:000000000040324E jnz short loc_403257 |
|
.text:0000000000403250 mov eax, 1 |
|
.text:0000000000403255 jmp short loc_40325C |
|
.text:0000000000403257 ; --------------------------------------------------------------------------- |
|
.text:0000000000403257 |
|
.text:0000000000403257 loc_403257: ; CODE XREF: sub_403201+2D↑j |
|
.text:0000000000403257 ; sub_403201+4D↑j |
|
.text:0000000000403257 mov eax, 0 |
|
.text:000000000040325C |
|
.text:000000000040325C loc_40325C: ; CODE XREF: sub_403201+54↑j |
|
.text:000000000040325C pop rbp |
|
.text:000000000040325D retn |
|
.text:000000000040325D ; } // starts at 403201 |
|
.text:000000000040325D sub_403201 endp |
|
.text:000000000040325D |
|
.text:000000000040325E |
|
.text:000000000040325E ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040325E |
|
.text:000000000040325E ; Attributes: bp-based frame |
|
.text:000000000040325E |
|
.text:000000000040325E sub_40325E proc near ; CODE XREF: sub_4036FC+119D↓p |
|
.text:000000000040325E |
|
.text:000000000040325E var_10 = qword ptr -10h |
|
.text:000000000040325E var_8 = qword ptr -8 |
|
.text:000000000040325E |
|
.text:000000000040325E ; __unwind { |
|
.text:000000000040325E push rbp |
|
.text:000000000040325F mov rbp, rsp |
|
.text:0000000000403262 mov [rbp+var_8], rdi |
|
.text:0000000000403266 mov [rbp+var_10], rsi |
|
.text:000000000040326A mov rax, [rbp+var_8] |
|
.text:000000000040326E movzx eax, byte ptr [rax+0F0h] |
|
.text:0000000000403275 mov edx, eax |
|
.text:0000000000403277 mov rax, [rbp+var_10] |
|
.text:000000000040327B movzx eax, byte ptr [rax+0F6h] |
|
.text:0000000000403282 add eax, edx |
|
.text:0000000000403284 cmp al, 0D0h |
|
.text:0000000000403286 jnz short loc_4032B2 |
|
.text:0000000000403288 mov rax, [rbp+var_8] |
|
.text:000000000040328C movzx eax, byte ptr [rax+0F0h] |
|
.text:0000000000403293 movsx eax, al |
|
.text:0000000000403296 mov rdx, [rbp+var_10] |
|
.text:000000000040329A movzx edx, byte ptr [rdx+0F6h] |
|
.text:00000000004032A1 movsx ecx, dl |
|
.text:00000000004032A4 cdq |
|
.text:00000000004032A5 idiv ecx |
|
.text:00000000004032A7 test al, al |
|
.text:00000000004032A9 jnz short loc_4032B2 |
|
.text:00000000004032AB mov eax, 1 |
|
.text:00000000004032B0 jmp short loc_4032B7 |
|
.text:00000000004032B2 ; --------------------------------------------------------------------------- |
|
.text:00000000004032B2 |
|
.text:00000000004032B2 loc_4032B2: ; CODE XREF: sub_40325E+28↑j |
|
.text:00000000004032B2 ; sub_40325E+4B↑j |
|
.text:00000000004032B2 mov eax, 0 |
|
.text:00000000004032B7 |
|
.text:00000000004032B7 loc_4032B7: ; CODE XREF: sub_40325E+52↑j |
|
.text:00000000004032B7 pop rbp |
|
.text:00000000004032B8 retn |
|
.text:00000000004032B8 ; } // starts at 40325E |
|
.text:00000000004032B8 sub_40325E endp |
|
.text:00000000004032B8 |
|
.text:00000000004032B9 |
|
.text:00000000004032B9 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004032B9 |
|
.text:00000000004032B9 ; Attributes: bp-based frame |
|
.text:00000000004032B9 |
|
.text:00000000004032B9 sub_4032B9 proc near ; CODE XREF: sub_4036FC+11BC↓p |
|
.text:00000000004032B9 |
|
.text:00000000004032B9 var_10 = qword ptr -10h |
|
.text:00000000004032B9 var_8 = qword ptr -8 |
|
.text:00000000004032B9 |
|
.text:00000000004032B9 ; __unwind { |
|
.text:00000000004032B9 push rbp |
|
.text:00000000004032BA mov rbp, rsp |
|
.text:00000000004032BD mov [rbp+var_8], rdi |
|
.text:00000000004032C1 mov [rbp+var_10], rsi |
|
.text:00000000004032C5 mov rax, [rbp+var_8] |
|
.text:00000000004032C9 movzx eax, byte ptr [rax+0F1h] |
|
.text:00000000004032D0 mov edx, eax |
|
.text:00000000004032D2 mov rax, [rbp+var_10] |
|
.text:00000000004032D6 movzx eax, byte ptr [rax+0F6h] |
|
.text:00000000004032DD add eax, edx |
|
.text:00000000004032DF cmp al, 0DDh |
|
.text:00000000004032E1 jnz short loc_40330D |
|
.text:00000000004032E3 mov rax, [rbp+var_8] |
|
.text:00000000004032E7 movzx eax, byte ptr [rax+0F1h] |
|
.text:00000000004032EE movsx eax, al |
|
.text:00000000004032F1 mov rdx, [rbp+var_10] |
|
.text:00000000004032F5 movzx edx, byte ptr [rdx+0F6h] |
|
.text:00000000004032FC movsx ecx, dl |
|
.text:00000000004032FF cdq |
|
.text:0000000000403300 idiv ecx |
|
.text:0000000000403302 test al, al |
|
.text:0000000000403304 jnz short loc_40330D |
|
.text:0000000000403306 mov eax, 1 |
|
.text:000000000040330B jmp short loc_403312 |
|
.text:000000000040330D ; --------------------------------------------------------------------------- |
|
.text:000000000040330D |
|
.text:000000000040330D loc_40330D: ; CODE XREF: sub_4032B9+28↑j |
|
.text:000000000040330D ; sub_4032B9+4B↑j |
|
.text:000000000040330D mov eax, 0 |
|
.text:0000000000403312 |
|
.text:0000000000403312 loc_403312: ; CODE XREF: sub_4032B9+52↑j |
|
.text:0000000000403312 pop rbp |
|
.text:0000000000403313 retn |
|
.text:0000000000403313 ; } // starts at 4032B9 |
|
.text:0000000000403313 sub_4032B9 endp |
|
.text:0000000000403313 |
|
.text:0000000000403314 |
|
.text:0000000000403314 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000403314 |
|
.text:0000000000403314 ; Attributes: bp-based frame |
|
.text:0000000000403314 |
|
.text:0000000000403314 sub_403314 proc near ; CODE XREF: sub_4036FC+11DB↓p |
|
.text:0000000000403314 |
|
.text:0000000000403314 var_10 = qword ptr -10h |
|
.text:0000000000403314 var_8 = qword ptr -8 |
|
.text:0000000000403314 |
|
.text:0000000000403314 ; __unwind { |
|
.text:0000000000403314 push rbp |
|
.text:0000000000403315 mov rbp, rsp |
|
.text:0000000000403318 mov [rbp+var_8], rdi |
|
.text:000000000040331C mov [rbp+var_10], rsi |
|
.text:0000000000403320 mov rax, [rbp+var_8] |
|
.text:0000000000403324 movzx eax, word ptr [rax+0E8h] |
|
.text:000000000040332B mov edx, eax |
|
.text:000000000040332D mov rax, [rbp+var_10] |
|
.text:0000000000403331 movzx eax, word ptr [rax+0F2h] |
|
.text:0000000000403338 add eax, edx |
|
.text:000000000040333A cmp ax, 99E0h |
|
.text:000000000040333E jnz short loc_403368 |
|
.text:0000000000403340 mov rax, [rbp+var_8] |
|
.text:0000000000403344 movzx eax, word ptr [rax+0E8h] |
|
.text:000000000040334B mov edx, eax |
|
.text:000000000040334D mov rax, [rbp+var_10] |
|
.text:0000000000403351 movzx eax, word ptr [rax+0F2h] |
|
.text:0000000000403358 imul eax, edx |
|
.text:000000000040335B cmp ax, 84F0h |
|
.text:000000000040335F jnz short loc_403368 |
|
.text:0000000000403361 mov eax, 1 |
|
.text:0000000000403366 jmp short loc_40336D |
|
.text:0000000000403368 ; --------------------------------------------------------------------------- |
|
.text:0000000000403368 |
|
.text:0000000000403368 loc_403368: ; CODE XREF: sub_403314+2A↑j |
|
.text:0000000000403368 ; sub_403314+4B↑j |
|
.text:0000000000403368 mov eax, 0 |
|
.text:000000000040336D |
|
.text:000000000040336D loc_40336D: ; CODE XREF: sub_403314+52↑j |
|
.text:000000000040336D pop rbp |
|
.text:000000000040336E retn |
|
.text:000000000040336E ; } // starts at 403314 |
|
.text:000000000040336E sub_403314 endp |
|
.text:000000000040336E |
|
.text:000000000040336F |
|
.text:000000000040336F ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040336F |
|
.text:000000000040336F ; Attributes: bp-based frame |
|
.text:000000000040336F |
|
.text:000000000040336F sub_40336F proc near ; CODE XREF: sub_4036FC+11FA↓p |
|
.text:000000000040336F |
|
.text:000000000040336F var_10 = qword ptr -10h |
|
.text:000000000040336F var_8 = qword ptr -8 |
|
.text:000000000040336F |
|
.text:000000000040336F ; __unwind { |
|
.text:000000000040336F push rbp |
|
.text:0000000000403370 mov rbp, rsp |
|
.text:0000000000403373 mov [rbp+var_8], rdi |
|
.text:0000000000403377 mov [rbp+var_10], rsi |
|
.text:000000000040337B mov rax, [rbp+var_8] |
|
.text:000000000040337F movzx eax, word ptr [rax+0E8h] |
|
.text:0000000000403386 mov edx, eax |
|
.text:0000000000403388 mov rax, [rbp+var_10] |
|
.text:000000000040338C movzx eax, word ptr [rax+0F8h] |
|
.text:0000000000403393 imul eax, edx |
|
.text:0000000000403396 cmp ax, 4580h |
|
.text:000000000040339A jnz short loc_4033C3 |
|
.text:000000000040339C mov rax, [rbp+var_8] |
|
.text:00000000004033A0 movzx eax, word ptr [rax+0E8h] |
|
.text:00000000004033A7 mov edx, eax |
|
.text:00000000004033A9 mov rax, [rbp+var_10] |
|
.text:00000000004033AD movzx eax, word ptr [rax+0F8h] |
|
.text:00000000004033B4 add eax, edx |
|
.text:00000000004033B6 cmp ax, 0EB8Ch |
|
.text:00000000004033BA jnz short loc_4033C3 |
|
.text:00000000004033BC mov eax, 1 |
|
.text:00000000004033C1 jmp short loc_4033C8 |
|
.text:00000000004033C3 ; --------------------------------------------------------------------------- |
|
.text:00000000004033C3 |
|
.text:00000000004033C3 loc_4033C3: ; CODE XREF: sub_40336F+2B↑j |
|
.text:00000000004033C3 ; sub_40336F+4B↑j |
|
.text:00000000004033C3 mov eax, 0 |
|
.text:00000000004033C8 |
|
.text:00000000004033C8 loc_4033C8: ; CODE XREF: sub_40336F+52↑j |
|
.text:00000000004033C8 pop rbp |
|
.text:00000000004033C9 retn |
|
.text:00000000004033C9 ; } // starts at 40336F |
|
.text:00000000004033C9 sub_40336F endp |
|
.text:00000000004033C9 |
|
.text:00000000004033CA |
|
.text:00000000004033CA ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004033CA |
|
.text:00000000004033CA ; Attributes: bp-based frame |
|
.text:00000000004033CA |
|
.text:00000000004033CA sub_4033CA proc near ; CODE XREF: sub_4036FC+1219↓p |
|
.text:00000000004033CA |
|
.text:00000000004033CA var_10 = qword ptr -10h |
|
.text:00000000004033CA var_8 = qword ptr -8 |
|
.text:00000000004033CA |
|
.text:00000000004033CA ; __unwind { |
|
.text:00000000004033CA push rbp |
|
.text:00000000004033CB mov rbp, rsp |
|
.text:00000000004033CE mov [rbp+var_8], rdi |
|
.text:00000000004033D2 mov [rbp+var_10], rsi |
|
.text:00000000004033D6 mov rax, [rbp+var_8] |
|
.text:00000000004033DA movzx eax, byte ptr [rax+0F2h] |
|
.text:00000000004033E1 mov edx, eax |
|
.text:00000000004033E3 mov rax, [rbp+var_10] |
|
.text:00000000004033E7 movzx eax, byte ptr [rax+0F3h] |
|
.text:00000000004033EE add eax, edx |
|
.text:00000000004033F0 cmp al, 94h |
|
.text:00000000004033F2 jnz short loc_40341B |
|
.text:00000000004033F4 mov rax, [rbp+var_8] |
|
.text:00000000004033F8 movzx eax, byte ptr [rax+0F2h] |
|
.text:00000000004033FF mov edx, eax |
|
.text:0000000000403401 mov rax, [rbp+var_10] |
|
.text:0000000000403405 movzx eax, byte ptr [rax+0F3h] |
|
.text:000000000040340C sub edx, eax |
|
.text:000000000040340E mov eax, edx |
|
.text:0000000000403410 cmp al, 54h |
|
.text:0000000000403412 jnz short loc_40341B |
|
.text:0000000000403414 mov eax, 1 |
|
.text:0000000000403419 jmp short loc_403420 |
|
.text:000000000040341B ; --------------------------------------------------------------------------- |
|
.text:000000000040341B |
|
.text:000000000040341B loc_40341B: ; CODE XREF: sub_4033CA+28↑j |
|
.text:000000000040341B ; sub_4033CA+48↑j |
|
.text:000000000040341B mov eax, 0 |
|
.text:0000000000403420 |
|
.text:0000000000403420 loc_403420: ; CODE XREF: sub_4033CA+4F↑j |
|
.text:0000000000403420 pop rbp |
|
.text:0000000000403421 retn |
|
.text:0000000000403421 ; } // starts at 4033CA |
|
.text:0000000000403421 sub_4033CA endp |
|
.text:0000000000403421 |
|
.text:0000000000403422 |
|
.text:0000000000403422 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000403422 |
|
.text:0000000000403422 ; Attributes: bp-based frame |
|
.text:0000000000403422 |
|
.text:0000000000403422 sub_403422 proc near ; CODE XREF: sub_4036FC+1238↓p |
|
.text:0000000000403422 |
|
.text:0000000000403422 var_10 = qword ptr -10h |
|
.text:0000000000403422 var_8 = qword ptr -8 |
|
.text:0000000000403422 |
|
.text:0000000000403422 ; __unwind { |
|
.text:0000000000403422 push rbp |
|
.text:0000000000403423 mov rbp, rsp |
|
.text:0000000000403426 mov [rbp+var_8], rdi |
|
.text:000000000040342A mov [rbp+var_10], rsi |
|
.text:000000000040342E mov rax, [rbp+var_8] |
|
.text:0000000000403432 mov edx, [rax+0FCh] |
|
.text:0000000000403438 mov rax, [rbp+var_10] |
|
.text:000000000040343C mov eax, [rax+0F8h] |
|
.text:0000000000403442 add eax, edx |
|
.text:0000000000403444 cmp eax, 0D589E688h |
|
.text:0000000000403449 jnz short loc_403470 |
|
.text:000000000040344B mov rax, [rbp+var_8] |
|
.text:000000000040344F mov edx, [rax+0FCh] |
|
.text:0000000000403455 mov rax, [rbp+var_10] |
|
.text:0000000000403459 mov eax, [rax+0F8h] |
|
.text:000000000040345F imul eax, edx |
|
.text:0000000000403462 cmp eax, 0CE8CDD00h |
|
.text:0000000000403467 jnz short loc_403470 |
|
.text:0000000000403469 mov eax, 1 |
|
.text:000000000040346E jmp short loc_403475 |
|
.text:0000000000403470 ; --------------------------------------------------------------------------- |
|
.text:0000000000403470 |
|
.text:0000000000403470 loc_403470: ; CODE XREF: sub_403422+27↑j |
|
.text:0000000000403470 ; sub_403422+45↑j |
|
.text:0000000000403470 mov eax, 0 |
|
.text:0000000000403475 |
|
.text:0000000000403475 loc_403475: ; CODE XREF: sub_403422+4C↑j |
|
.text:0000000000403475 pop rbp |
|
.text:0000000000403476 retn |
|
.text:0000000000403476 ; } // starts at 403422 |
|
.text:0000000000403476 sub_403422 endp |
|
.text:0000000000403476 |
|
.text:0000000000403477 |
|
.text:0000000000403477 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000403477 |
|
.text:0000000000403477 ; Attributes: bp-based frame |
|
.text:0000000000403477 |
|
.text:0000000000403477 sub_403477 proc near ; CODE XREF: sub_4036FC+1257↓p |
|
.text:0000000000403477 |
|
.text:0000000000403477 var_10 = qword ptr -10h |
|
.text:0000000000403477 var_8 = qword ptr -8 |
|
.text:0000000000403477 |
|
.text:0000000000403477 ; __unwind { |
|
.text:0000000000403477 push rbp |
|
.text:0000000000403478 mov rbp, rsp |
|
.text:000000000040347B mov [rbp+var_8], rdi |
|
.text:000000000040347F mov [rbp+var_10], rsi |
|
.text:0000000000403483 mov rax, [rbp+var_8] |
|
.text:0000000000403487 movzx eax, word ptr [rax+0ECh] |
|
.text:000000000040348E mov edx, eax |
|
.text:0000000000403490 mov rax, [rbp+var_10] |
|
.text:0000000000403494 movzx eax, word ptr [rax+0F4h] |
|
.text:000000000040349B imul eax, edx |
|
.text:000000000040349E cmp ax, 7F70h |
|
.text:00000000004034A2 jnz short loc_4034CD |
|
.text:00000000004034A4 mov rax, [rbp+var_8] |
|
.text:00000000004034A8 movzx eax, word ptr [rax+0ECh] |
|
.text:00000000004034AF cwde |
|
.text:00000000004034B0 mov rdx, [rbp+var_10] |
|
.text:00000000004034B4 movzx edx, word ptr [rdx+0F4h] |
|
.text:00000000004034BB movsx ecx, dx |
|
.text:00000000004034BE cdq |
|
.text:00000000004034BF idiv ecx |
|
.text:00000000004034C1 test ax, ax |
|
.text:00000000004034C4 jnz short loc_4034CD |
|
.text:00000000004034C6 mov eax, 1 |
|
.text:00000000004034CB jmp short loc_4034D2 |
|
.text:00000000004034CD ; --------------------------------------------------------------------------- |
|
.text:00000000004034CD |
|
.text:00000000004034CD loc_4034CD: ; CODE XREF: sub_403477+2B↑j |
|
.text:00000000004034CD ; sub_403477+4D↑j |
|
.text:00000000004034CD mov eax, 0 |
|
.text:00000000004034D2 |
|
.text:00000000004034D2 loc_4034D2: ; CODE XREF: sub_403477+54↑j |
|
.text:00000000004034D2 pop rbp |
|
.text:00000000004034D3 retn |
|
.text:00000000004034D3 ; } // starts at 403477 |
|
.text:00000000004034D3 sub_403477 endp |
|
.text:00000000004034D3 |
|
.text:00000000004034D4 |
|
.text:00000000004034D4 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004034D4 |
|
.text:00000000004034D4 ; Attributes: bp-based frame |
|
.text:00000000004034D4 |
|
.text:00000000004034D4 sub_4034D4 proc near ; CODE XREF: sub_4036FC+1276↓p |
|
.text:00000000004034D4 |
|
.text:00000000004034D4 var_10 = qword ptr -10h |
|
.text:00000000004034D4 var_8 = qword ptr -8 |
|
.text:00000000004034D4 |
|
.text:00000000004034D4 ; __unwind { |
|
.text:00000000004034D4 push rbp |
|
.text:00000000004034D5 mov rbp, rsp |
|
.text:00000000004034D8 mov [rbp+var_8], rdi |
|
.text:00000000004034DC mov [rbp+var_10], rsi |
|
.text:00000000004034E0 mov rax, [rbp+var_8] |
|
.text:00000000004034E4 movzx eax, word ptr [rax+0F4h] |
|
.text:00000000004034EB mov edx, eax |
|
.text:00000000004034ED mov rax, [rbp+var_10] |
|
.text:00000000004034F1 movzx eax, word ptr [rax+0FAh] |
|
.text:00000000004034F8 add eax, edx |
|
.text:00000000004034FA cmp ax, 0D6CFh |
|
.text:00000000004034FE jnz short loc_403529 |
|
.text:0000000000403500 mov rax, [rbp+var_8] |
|
.text:0000000000403504 movzx eax, word ptr [rax+0F4h] |
|
.text:000000000040350B mov edx, eax |
|
.text:000000000040350D mov rax, [rbp+var_10] |
|
.text:0000000000403511 movzx eax, word ptr [rax+0FAh] |
|
.text:0000000000403518 sub edx, eax |
|
.text:000000000040351A mov eax, edx |
|
.text:000000000040351C cmp ax, 7FDh |
|
.text:0000000000403520 jnz short loc_403529 |
|
.text:0000000000403522 mov eax, 1 |
|
.text:0000000000403527 jmp short loc_40352E |
|
.text:0000000000403529 ; --------------------------------------------------------------------------- |
|
.text:0000000000403529 |
|
.text:0000000000403529 loc_403529: ; CODE XREF: sub_4034D4+2A↑j |
|
.text:0000000000403529 ; sub_4034D4+4C↑j |
|
.text:0000000000403529 mov eax, 0 |
|
.text:000000000040352E |
|
.text:000000000040352E loc_40352E: ; CODE XREF: sub_4034D4+53↑j |
|
.text:000000000040352E pop rbp |
|
.text:000000000040352F retn |
|
.text:000000000040352F ; } // starts at 4034D4 |
|
.text:000000000040352F sub_4034D4 endp |
|
.text:000000000040352F |
|
.text:0000000000403530 |
|
.text:0000000000403530 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000403530 |
|
.text:0000000000403530 ; Attributes: bp-based frame |
|
.text:0000000000403530 |
|
.text:0000000000403530 sub_403530 proc near ; CODE XREF: sub_4036FC+1295↓p |
|
.text:0000000000403530 |
|
.text:0000000000403530 var_10 = qword ptr -10h |
|
.text:0000000000403530 var_8 = qword ptr -8 |
|
.text:0000000000403530 |
|
.text:0000000000403530 ; __unwind { |
|
.text:0000000000403530 push rbp |
|
.text:0000000000403531 mov rbp, rsp |
|
.text:0000000000403534 mov [rbp+var_8], rdi |
|
.text:0000000000403538 mov [rbp+var_10], rsi |
|
.text:000000000040353C mov rax, [rbp+var_8] |
|
.text:0000000000403540 movzx eax, word ptr [rax+0FCh] |
|
.text:0000000000403547 mov edx, eax |
|
.text:0000000000403549 mov rax, [rbp+var_10] |
|
.text:000000000040354D movzx eax, word ptr [rax+0FEh] |
|
.text:0000000000403554 imul eax, edx |
|
.text:0000000000403557 cmp ax, 3D00h |
|
.text:000000000040355B jnz short loc_403584 |
|
.text:000000000040355D mov rax, [rbp+var_8] |
|
.text:0000000000403561 movzx eax, word ptr [rax+0FCh] |
|
.text:0000000000403568 mov edx, eax |
|
.text:000000000040356A mov rax, [rbp+var_10] |
|
.text:000000000040356E movzx eax, word ptr [rax+0FEh] |
|
.text:0000000000403575 add eax, edx |
|
.text:0000000000403577 cmp ax, 0E288h |
|
.text:000000000040357B jnz short loc_403584 |
|
.text:000000000040357D mov eax, 1 |
|
.text:0000000000403582 jmp short loc_403589 |
|
.text:0000000000403584 ; --------------------------------------------------------------------------- |
|
.text:0000000000403584 |
|
.text:0000000000403584 loc_403584: ; CODE XREF: sub_403530+2B↑j |
|
.text:0000000000403584 ; sub_403530+4B↑j |
|
.text:0000000000403584 mov eax, 0 |
|
.text:0000000000403589 |
|
.text:0000000000403589 loc_403589: ; CODE XREF: sub_403530+52↑j |
|
.text:0000000000403589 pop rbp |
|
.text:000000000040358A retn |
|
.text:000000000040358A ; } // starts at 403530 |
|
.text:000000000040358A sub_403530 endp |
|
.text:000000000040358A |
|
.text:000000000040358B |
|
.text:000000000040358B ; =============== S U B R O U T I N E ======================================= |
|
.text:000000000040358B |
|
.text:000000000040358B ; Attributes: bp-based frame |
|
.text:000000000040358B |
|
.text:000000000040358B sub_40358B proc near ; CODE XREF: sub_4036FC+12B4↓p |
|
.text:000000000040358B |
|
.text:000000000040358B var_10 = qword ptr -10h |
|
.text:000000000040358B var_8 = qword ptr -8 |
|
.text:000000000040358B |
|
.text:000000000040358B ; __unwind { |
|
.text:000000000040358B push rbp |
|
.text:000000000040358C mov rbp, rsp |
|
.text:000000000040358F mov [rbp+var_8], rdi |
|
.text:0000000000403593 mov [rbp+var_10], rsi |
|
.text:0000000000403597 mov rax, [rbp+var_8] |
|
.text:000000000040359B movzx eax, word ptr [rax+100h] |
|
.text:00000000004035A2 mov edx, eax |
|
.text:00000000004035A4 mov rax, [rbp+var_10] |
|
.text:00000000004035A8 movzx eax, word ptr [rax+102h] |
|
.text:00000000004035AF add eax, edx |
|
.text:00000000004035B1 cmp ax, 79DCh |
|
.text:00000000004035B5 jnz short loc_4035E0 |
|
.text:00000000004035B7 mov rax, [rbp+var_8] |
|
.text:00000000004035BB movzx eax, word ptr [rax+100h] |
|
.text:00000000004035C2 mov edx, eax |
|
.text:00000000004035C4 mov rax, [rbp+var_10] |
|
.text:00000000004035C8 movzx eax, word ptr [rax+102h] |
|
.text:00000000004035CF sub edx, eax |
|
.text:00000000004035D1 mov eax, edx |
|
.text:00000000004035D3 cmp ax, 64EEh |
|
.text:00000000004035D7 jnz short loc_4035E0 |
|
.text:00000000004035D9 mov eax, 1 |
|
.text:00000000004035DE jmp short loc_4035E5 |
|
.text:00000000004035E0 ; --------------------------------------------------------------------------- |
|
.text:00000000004035E0 |
|
.text:00000000004035E0 loc_4035E0: ; CODE XREF: sub_40358B+2A↑j |
|
.text:00000000004035E0 ; sub_40358B+4C↑j |
|
.text:00000000004035E0 mov eax, 0 |
|
.text:00000000004035E5 |
|
.text:00000000004035E5 loc_4035E5: ; CODE XREF: sub_40358B+53↑j |
|
.text:00000000004035E5 pop rbp |
|
.text:00000000004035E6 retn |
|
.text:00000000004035E6 ; } // starts at 40358B |
|
.text:00000000004035E6 sub_40358B endp |
|
.text:00000000004035E6 |
|
.text:00000000004035E7 |
|
.text:00000000004035E7 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004035E7 |
|
.text:00000000004035E7 ; Attributes: bp-based frame |
|
.text:00000000004035E7 |
|
.text:00000000004035E7 sub_4035E7 proc near ; CODE XREF: sub_4036FC+12D3↓p |
|
.text:00000000004035E7 |
|
.text:00000000004035E7 var_10 = qword ptr -10h |
|
.text:00000000004035E7 var_8 = qword ptr -8 |
|
.text:00000000004035E7 |
|
.text:00000000004035E7 ; __unwind { |
|
.text:00000000004035E7 push rbp |
|
.text:00000000004035E8 mov rbp, rsp |
|
.text:00000000004035EB mov [rbp+var_8], rdi |
|
.text:00000000004035EF mov [rbp+var_10], rsi |
|
.text:00000000004035F3 mov rax, [rbp+var_8] |
|
.text:00000000004035F7 movzx eax, byte ptr [rax+0F7h] |
|
.text:00000000004035FE movsx eax, al |
|
.text:0000000000403601 mov rdx, [rbp+var_10] |
|
.text:0000000000403605 movzx edx, byte ptr [rdx+102h] |
|
.text:000000000040360C movsx ecx, dl |
|
.text:000000000040360F cdq |
|
.text:0000000000403610 idiv ecx |
|
.text:0000000000403612 test al, al |
|
.text:0000000000403614 jnz short loc_40363D |
|
.text:0000000000403616 mov rax, [rbp+var_8] |
|
.text:000000000040361A movzx eax, byte ptr [rax+0F7h] |
|
.text:0000000000403621 mov edx, eax |
|
.text:0000000000403623 mov rax, [rbp+var_10] |
|
.text:0000000000403627 movzx eax, byte ptr [rax+102h] |
|
.text:000000000040362E sub edx, eax |
|
.text:0000000000403630 mov eax, edx |
|
.text:0000000000403632 cmp al, 0EDh |
|
.text:0000000000403634 jnz short loc_40363D |
|
.text:0000000000403636 mov eax, 1 |
|
.text:000000000040363B jmp short loc_403642 |
|
.text:000000000040363D ; --------------------------------------------------------------------------- |
|
.text:000000000040363D |
|
.text:000000000040363D loc_40363D: ; CODE XREF: sub_4035E7+2D↑j |
|
.text:000000000040363D ; sub_4035E7+4D↑j |
|
.text:000000000040363D mov eax, 0 |
|
.text:0000000000403642 |
|
.text:0000000000403642 loc_403642: ; CODE XREF: sub_4035E7+54↑j |
|
.text:0000000000403642 pop rbp |
|
.text:0000000000403643 retn |
|
.text:0000000000403643 ; } // starts at 4035E7 |
|
.text:0000000000403643 sub_4035E7 endp |
|
.text:0000000000403643 |
|
.text:0000000000403644 |
|
.text:0000000000403644 ; =============== S U B R O U T I N E ======================================= |
|
.text:0000000000403644 |
|
.text:0000000000403644 ; Attributes: bp-based frame |
|
.text:0000000000403644 |
|
.text:0000000000403644 sub_403644 proc near ; CODE XREF: sub_4036FC+12F2↓p |
|
.text:0000000000403644 |
|
.text:0000000000403644 var_10 = qword ptr -10h |
|
.text:0000000000403644 var_8 = qword ptr -8 |
|
.text:0000000000403644 |
|
.text:0000000000403644 ; __unwind { |
|
.text:0000000000403644 push rbp |
|
.text:0000000000403645 mov rbp, rsp |
|
.text:0000000000403648 mov [rbp+var_8], rdi |
|
.text:000000000040364C mov [rbp+var_10], rsi |
|
.text:0000000000403650 mov rax, [rbp+var_8] |
|
.text:0000000000403654 movzx eax, byte ptr [rax+0F7h] |
|
.text:000000000040365B movsx eax, al |
|
.text:000000000040365E mov rdx, [rbp+var_10] |
|
.text:0000000000403662 movzx edx, byte ptr [rdx+103h] |
|
.text:0000000000403669 movsx esi, dl |
|
.text:000000000040366C cdq |
|
.text:000000000040366D idiv esi |
|
.text:000000000040366F cmp al, 0Ah |
|
.text:0000000000403671 jnz short loc_40369D |
|
.text:0000000000403673 mov rax, [rbp+var_8] |
|
.text:0000000000403677 movzx eax, byte ptr [rax+0F7h] |
|
.text:000000000040367E mov ecx, eax |
|
.text:0000000000403680 mov rax, [rbp+var_10] |
|
.text:0000000000403684 movzx eax, byte ptr [rax+103h] |
|
.text:000000000040368B mov edx, eax |
|
.text:000000000040368D mov eax, ecx |
|
.text:000000000040368F imul eax, edx |
|
.text:0000000000403692 cmp al, 0E8h |
|
.text:0000000000403694 jnz short loc_40369D |
|
.text:0000000000403696 mov eax, 1 |
|
.text:000000000040369B jmp short loc_4036A2 |
|
.text:000000000040369D ; --------------------------------------------------------------------------- |
|
.text:000000000040369D |
|
.text:000000000040369D loc_40369D: ; CODE XREF: sub_403644+2D↑j |
|
.text:000000000040369D ; sub_403644+50↑j |
|
.text:000000000040369D mov eax, 0 |
|
.text:00000000004036A2 |
|
.text:00000000004036A2 loc_4036A2: ; CODE XREF: sub_403644+57↑j |
|
.text:00000000004036A2 pop rbp |
|
.text:00000000004036A3 retn |
|
.text:00000000004036A3 ; } // starts at 403644 |
|
.text:00000000004036A3 sub_403644 endp |
|
.text:00000000004036A3 |
|
.text:00000000004036A4 |
|
.text:00000000004036A4 ; =============== S U B R O U T I N E ======================================= |
|
.text:00000000004036A4 |
|
.text:00000000004036A4 ; Attributes: bp-based frame |
|
.text:00000000004036A4 |
|
.text:00000000004036A4 sub_4036A4 proc near ; CODE XREF: sub_4036FC+1311↓p |
|
.text:00000000004036A4 |
|
.text:00000000004036A4 var_10 = qword ptr -10h |
|
.text:00000000004036A4 var_8 = qword ptr -8 |
|
.text:00000000004036A4 |
|
.text:00000000004036A4 ; __unwind { |
|
.text:00000000004036A4 push rbp |
|
.text:00000000004036A5 mov rbp, rsp |
|
.text:00000000004036A8 mov [rbp+var_8], rdi |
|
.text:00000000004036AC mov [rbp+var_10], rsi |
|
.text:00000000004036B0 mov rax, [rbp+var_8] |
|
.text:00000000004036B4 movzx eax, byte ptr [rax+101h] |
|
.text:00000000004036BB mov edx, eax |
|
.text:00000000004036BD mov rax, [rbp+var_10] |
|
.text:00000000004036C1 movzx eax, byte ptr [rax+0DDh] |
|
.text:00000000004036C8 sub edx, eax |
|
.text:00000000004036CA mov eax, edx |
|
.text:00000000004036CC cmp al, 0FBh |
|
.text:00000000004036CE jnz short loc_4036F5 |
|
.text:00000000004036D0 mov rax, [rbp+var_8] |
|
.text:00000000004036D4 movzx eax, byte ptr [rax+101h] |
|
.text:00000000004036DB mov edx, eax |
|
.text:00000000004036DD mov rax, [rbp+var_10] |
|
.text:00000000004036E1 movzx eax, byte ptr [rax+0DDh] |
|
.text:00000000004036E8 add eax, edx |
|
.text:00000000004036EA cmp al, 0E3h |
|
.text:00000000004036EC jnz short loc_4036F5 |
|
.text:00000000004036EE mov eax, 1 |
|
.text:00000000004036F3 jmp short loc_4036FA |
|
.text:00000000004036F5 ; --------------------------------------------------------------------------- |
|
.text:00000000004036F5 |
|
.text:00000000004036F5 loc_4036F5: ; CODE XREF: sub_4036A4+2A↑j |
|
.text:00000000004036F5 ; sub_4036A4+48↑j |
|
.text:00000000004036F5 mov eax, 0 |
|
.text:00000000004036FA |
|
.text:00000000004036FA loc_4036FA: ; CODE XREF: sub_4036A4+4F↑j |
|
.text:00000000004036FA pop rbp |
|
.text:00000000004036FB retn |
|
.text:00000000004036FB ; } // starts at 4036A4 |
|
.text:00000000004036FB sub_4036A4 endp |
|
.text:00000000004036FB |