Function at 0x49660b
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xb4
mov eax, dword [0x4d4770]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0xa8], edi
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov ebx, 0x4d7250
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0x10]
xor ecx, ecx
push ecx
push ebx
push ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x94], ecx
push ecx
mov ecx, dword [0x4d6258]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0xbc]
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0x90], eax
call fcn.004ca426
push 0x104
mov edx, 0x4d7040
mov ecx, ebx
call fcn.0048be18
mov ecx, esi
call fcn.004cbf9f
mov ebx, dword [ebp + 0x1c]
test bl, 1
jne 0x4966b5
push 0x42dd08
mov ecx, esi
call fcn.004cbb8f
and ebx, 2
jne 0x4966c6
push 0x4d7040
mov ecx, esi
call fcn.004cbb8f
push dword [ebp - 0x78]
mov ecx, esi
call fcn.004cbb8f
push 0x20
mov ecx, esi
call fcn.00463bf0
test ebx, ebx
jne 0x4966e9
push 0x4d7040
mov ecx, esi
call fcn.004cbb8f
push dword [ebp - 0x7c]
mov ecx, esi
call fcn.004cbb8f
push 0x42dd18
mov ecx, esi
call fcn.004cbb8f
mov ax, word [esi + 0x22]
mov ecx, esi
add word [esi + 0x20], ax
call fcn.004cbf9f
push 0x7b
mov ecx, esi
call fcn.00463bf0
mov ax, word [esi + 0x22]
mov ecx, esi
add word [esi + 0x20], ax
call fcn.004cbf9f
push 0x42d6a0
mov ecx, esi
call fcn.004cbb8f
mov ecx, esi
call fcn.004cbf9f
push 0x7b
mov ecx, esi
call fcn.00463bf0
mov ax, word [esi + 0x22]
add word [esi + 0x20], ax
mov ebx, dword [ebp - 0x8c]
test ebx, ebx
je 0x496776
and dword [ebp - 0x80], 0
mov ecx, ebx
push 0
call fcn.004601d8
test eax, eax
jne 0x496776
mov eax, dword [ebx + 4]
test eax, eax
je 0x496771
mov eax, dword [eax + 8]
jmp 0x496773
xor eax, eax
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x90]
test ebx, ebx
je 0x4967a8
and dword [ebp - 0x84], 0
mov ecx, ebx
push 0
call fcn.004601d8
test eax, eax
jne 0x4967a8
mov eax, dword [ebx + 4]
test eax, eax
je 0x4967a0
mov eax, dword [eax + 8]
jmp 0x4967a2
xor eax, eax
mov dword [ebp - 0x84], eax
mov ecx, esi
call fcn.00463c3f
call fcn.00463c3f
call fcn.00463c3f
mov eax, dword [0x4d6258]
movzx eax, word [eax + 0x1a]
test al, 0x40
je 0x4967cf
mov dword [ebp - 0x7c], 0x431e98
jmp 0x496808
test al, 4
je 0x4967dc
mov dword [ebp - 0x7c], 0x431ea8
jmp 0x496808
test al, 0x10
je 0x4967e9
mov dword [ebp - 0x7c], 0x431e9c
jmp 0x496808
test al, al
jns 0x4967f6
mov dword [ebp - 0x7c], 0x431ea0
jmp 0x496808
mov dword [ebp - 0x7c], 0x431e90
test al, 0x20
jne 0x496808
mov dword [ebp - 0x7c], 0x4200db
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 8]
ja 0x497501
xor ebx, ebx
mov dword [ebp - 0x74], ebx
test eax, eax
jle 0x49738d
lea eax, [edi + 0x80]
mov dword [ebp - 0xa0], eax
mov ecx, esi
call fcn.004cbf9f
xor eax, eax
lea edi, [ebp - 0xb4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xb4]
mov edi, dword [ebp - 0xa0]
mov ecx, edi
push eax
mov dword [ebp - 0xb0], ebx
call fcn.00460197
test eax, eax
jne 0x4968d3
mov edi, dword [edi + 0xc]
mov edx, edi
test edi, edi
jmp 0x496888
mov ecx, dword [edx + 8]
lea eax, [ecx + 1]
mov dword [ebp - 0x98], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x496872
sub ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x78]
mov edx, dword [edx]
add eax, ecx
test edx, edx
mov dword [ebp - 0x78], eax
jne 0x496866
inc eax
mov ecx, eax
mov dword [ebp - 0x98], eax
call fcn.00442720
mov dword [ebp - 0x78], eax
mov byte [eax], 0
test edi, edi
je 0x4968cb
mov ebx, dword [ebp - 0x98]
mov esi, eax
push dword [edi + 8]
mov edx, ebx
mov ecx, esi
call fcn.00442797
mov edi, dword [edi]
test edi, edi
jne 0x4968ad
mov esi, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
push eax
mov ecx, esi
call fcn.004cbb8f
test bl, 1
jne 0x4968ff
cmp ebx, dword [ebp - 0x9c]
je 0x4968ff
push ebx
push 0x431f1c
lea eax, [ebp - 0x70]
push 0x66
push eax
call fcn.00442802
add esp, 0x10
mov dword [ebp - 0x9c], ebx
lea eax, [ebp - 0x70]
jmp 0x496904
mov eax, 0x431f28
push eax
mov ecx, esi
call fcn.004cbb8f
mov edi, dword [ebp - 0xa8]
mov eax, dword [edi + 4]
movzx eax, byte [ebx + eax]
cmp eax, 0x16
ja case.default.0x496922
jmp dword [eax*4 + 0x497533]
mov ecx, dword [edi]
mov al, byte [ecx + ebx]
cmp al, 0x48
ja 0x496989
cmp al, 0x46
jae 0x4969b4
cmp al, 0x26
ja 0x49697b
cmp al, 0x24
jae 0x4969b4
cmp al, 0x11
jb 0x4969c7
cmp al, 0x14
jbe 0x496950
cmp al, 0x22
jbe 0x4969b4
jmp 0x4969c7
cmp dword [ebp - 0x88], 0
jne 0x4969c7
test ebx, ebx
je 0x4969c7
mov al, byte [ecx + ebx - 1]
cmp al, 0x4d
je 0x4969c7
cmp al, 0x50
je 0x4969c7
cmp al, 0x5e
je 0x4969c7
cmp al, 0x51
je 0x4969c7
cmp al, 0x4f
je 0x4969c7
cmp al, 0x52
je 0x4969c7
jmp 0x4969b4
cmp al, 0x28
jb 0x4969c7
cmp al, 0x2b
jbe 0x4969b4
cmp al, 0x2f
je 0x4969b4
jmp 0x4969c7
cmp al, 0x4b
je 0x4969aa
cmp al, 0x4d
je 0x4969b4
cmp al, 0x4f
jbe 0x4969c7
cmp al, 0x52
jbe 0x4969b4
cmp al, 0x5b
je 0x4969a1
cmp al, 0x5e
jmp 0x496985
cmp dword [ebp - 0x88], 0
jmp 0x496977
mov dword [ebp - 0x88], 1
mov ecx, esi
call fcn.004cbf9f
push 0x431f28
mov ecx, esi
call fcn.004cbb8f
push 0x42dcfc
mov ecx, esi
call fcn.004cbb8f
push 0x10
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431e78
mov ecx, esi
call fcn.004cbb8f
mov eax, dword [edi]
mov ecx, esi
movzx eax, byte [eax + ebx]
push dword [eax*4 + 0x412180]
call fcn.004cbb8f
push 0x42bae8
mov ecx, esi
call fcn.004cbb8f
mov eax, dword [edi]
cmp byte [ebx + eax], 0x5b
jne 0x497380
cmp dword [ebp - 0x88], 0
je 0x497380
mov ecx, esi
call fcn.004cbf9f
and dword [ebp - 0x88], 0
jmp 0x497380
cmp dword [ebp - 0x88], 0
jne 0x496a87
test ebx, ebx
je 0x496a87
mov eax, dword [edi]
mov al, byte [eax + ebx - 1]
cmp al, 0x4d
je 0x496a87
cmp al, 0x50
je 0x496a87
cmp al, 0x5e
je 0x496a87
cmp al, 0x51
je 0x496a87
cmp al, 0x52
je 0x496a87
mov ecx, esi
call fcn.004cbf9f
push 0x431f28
mov ecx, esi
call fcn.004cbb8f
push 0x42dcfc
mov ecx, esi
call fcn.004cbb8f
push 0x10
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431f2c
mov ecx, esi
call fcn.004cbb8f
lea eax, [ebx + 1]
cmp eax, dword [edi + 8]
jae 0x49751e
push 0x10
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
movzx eax, byte [eax + ebx + 1]
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431f4c
mov ecx, esi
call fcn.004cbb8f
mov eax, dword [edi]
mov ecx, esi
movzx eax, byte [eax + ebx]
push dword [eax*4 + 0x412180]
call fcn.004cbb8f
mov edx, dword [edi]
mov ecx, esi
inc edx
add edx, ebx
call fcn.00495fcb
push 0x42bae8
mov ecx, esi
call fcn.004cbb8f
add ebx, 2
jmp 0x497381
push 0x42dcfc
mov ecx, esi
call fcn.004cbb8f
push 0x10
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431e78
mov ecx, esi
call fcn.004cbb8f
push 0xa
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
push eax
jmp 0x49736d
push 0x42dcfc
mov ecx, esi
call fcn.004cbb8f
push 0x10
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431f54
mov ecx, esi
call fcn.004cbb8f
mov edx, dword [edi]
mov ecx, esi
add edx, ebx
call fcn.00496040
jmp 0x497374
push 0x42dcfc
mov ecx, esi
call fcn.004cbb8f
push 0x10
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431f68
mov ecx, esi
call fcn.004cbb8f
mov edx, dword [edi]
mov ecx, esi
add edx, ebx
call fcn.0049609b
jmp 0x497374
push 0x42dcfc
mov ecx, esi
call fcn.004cbb8f
push 0x10
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431f7c
mov ecx, esi
call fcn.004cbb8f
mov edx, dword [edi]
mov ecx, esi
add edx, ebx
call fcn.00496122
jmp 0x497374
push 0x42dcfc
mov ecx, esi
call fcn.004cbb8f
push 0x10
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431f90
mov ecx, esi
call fcn.004cbb8f
mov edx, dword [edi]
mov ecx, esi
add edx, ebx
call fcn.00496337
jmp 0x497374
push 0x42dcfc
mov ecx, esi
call fcn.004cbb8f
push 0x10
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431fa4
mov ecx, esi
call fcn.004cbb8f
mov edx, dword [edi]
mov ecx, esi
add edx, ebx
call fcn.0049643b
jmp 0x497374
push 0x431eac
mov ecx, esi
call fcn.004cbb8f
lea eax, [ebx + 1]
cmp eax, dword [edi + 8]
jae 0x49743b
mov eax, dword [edi]
movzx eax, word [eax + ebx]
push eax
push 0x431fb8
lea eax, [ebp - 0x70]
push 0x66
push eax
call fcn.00442802
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431ebc
mov ecx, esi
call fcn.004cbb8f
push 0xa
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
movsx eax, word [eax + ebx]
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
push eax
mov ecx, esi
call fcn.004cbb8f
jmp 0x496b1c
push 0x431eac
mov ecx, esi
call fcn.004cbb8f
lea eax, [ebx + 1]
cmp eax, dword [edi + 8]
jae 0x49744a
mov eax, dword [edi]
movzx eax, word [eax + ebx]
push eax
push 0x431fb8
lea eax, [ebp - 0x70]
push 0x66
push eax
call fcn.00442802
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431fbc
mov ecx, esi
call fcn.004cbb8f
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
mov eax, dword [eax*4 + 0x412180]
test eax, eax
jne 0x496d5f
mov eax, 0x4200db
jmp 0x496d5f
push 0x431eac
mov ecx, esi
call fcn.004cbb8f
lea eax, [ebx + 1]
cmp eax, dword [edi + 8]
jae 0x497459
mov eax, dword [edi]
movzx eax, word [eax + ebx]
push eax
push 0x431fb8
lea eax, [ebp - 0x70]
push 0x66
push eax
call fcn.00442802
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431fd8
mov ecx, esi
call fcn.004cbb8f
mov edx, dword [edi]
mov ecx, esi
add edx, ebx
call fcn.004961bb
jmp 0x496b1c
push 0x431eac
mov ecx, esi
call fcn.004cbb8f
lea eax, [ebx + 1]
cmp eax, dword [edi + 8]
jae 0x497468
mov eax, dword [edi]
movzx eax, word [eax + ebx]
push eax
push 0x431fb8
lea eax, [ebp - 0x70]
push 0x66
push eax
call fcn.00442802
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431fe8
mov ecx, esi
call fcn.004cbb8f
mov edx, dword [edi]
mov ecx, esi
add edx, ebx
call fcn.004963ea
jmp 0x496b1c
push 0x42dcfc
mov ecx, esi
call fcn.004cbb8f
push 0x10
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431ffc
mov ecx, esi
call fcn.004cbb8f
mov eax, dword [edi]
mov al, byte [ebx + eax]
cmp al, 1
jne 0x496ecc
push 0x431dec
jmp 0x497379
cmp al, 2
jne 0x497380
push 0x431e04
jmp 0x497379
lea eax, [ebx + 1]
cmp eax, dword [edi + 8]
jae 0x497477
mov eax, dword [edi]
lea ecx, [edi + 0x38]
push ebx
movsx eax, word [eax + ebx]
mov dword [ebp - 0x78], eax
call fcn.004976f3
mov dword [ebp - 0x74], eax
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x78]
jne 0x496f0f
cmp ecx, 0xffff8100
jge 0x496f44
push 0x432000
mov ecx, esi
call fcn.004cbb8f
mov ecx, esi
call fcn.004cbf9f
push 0x4200db
push 0x94b
xor edx, edx
xor ecx, ecx
call fcn.004cb5e7
mov ecx, dword [ebp - 0x74]
xor eax, eax
inc eax
mov dword [ebp - 0x94], eax
mov ecx, dword [ecx + 4]
lea eax, [ecx + ebx]
test eax, eax
je 0x496f50
cmp eax, 0xffffffff
jne 0x496f7b
push ebx
push 0x432024
push 1
call fcn.004ce839
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0xc
xor edx, edx
xor ecx, ecx
push 0x4200db
push 0x96a
call fcn.004cb5e7
push 0x431eac
mov ecx, esi
call fcn.004cbb8f
push dword [ebp - 0x78]
lea eax, [ebp - 0x70]
push 0x431fb8
push 0x66
push eax
call fcn.00442802
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x432048
mov ecx, esi
call fcn.004cbb8f
push 0xa
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x74]
push dword [eax + 4]
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x432058
mov ecx, esi
call fcn.004cbb8f
push 0xa
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 4]
add eax, ebx
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x43205c
jmp 0x496b21
lea eax, [ebx + 1]
cmp eax, dword [edi + 8]
jae 0x497486
mov eax, dword [edi]
lea ecx, [edi + 0x38]
push ebx
movzx eax, word [eax + ebx]
mov dword [ebp - 0x78], eax
call fcn.004976f3
mov dword [ebp - 0x74], eax
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x78]
je 0x49706d
push 0x432064
mov ecx, esi
call fcn.004cbb8f
mov ecx, esi
call fcn.004cbf9f
push 0x4200db
push 0x94b
xor edx, edx
xor ecx, ecx
call fcn.004cb5e7
mov ecx, dword [ebp - 0x74]
xor eax, eax
inc eax
mov dword [ebp - 0x94], eax
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x497076
cmp ecx, 0xffffffff
jne 0x4970a1
push ebx
push 0x432080
push 1
call fcn.004ce839
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0xc
xor edx, edx
xor ecx, ecx
push 0x4200db
push 0x96b
call fcn.004cb5e7
push 0x431eac
mov ecx, esi
call fcn.004cbb8f
push dword [ebp - 0x78]
lea eax, [ebp - 0x70]
push 0x431fb8
push 0x66
push eax
call fcn.00442802
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x4320ac
mov ecx, esi
call fcn.004cbb8f
push 0xa
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x74]
push dword [eax + 4]
jmp 0x496d54
push dword [ebp - 0x7c]
lea ecx, [edi + 0x14]
push ebx
call fcn.004976b5
mov edx, eax
mov ecx, esi
call fcn.0049656f
jmp 0x496b28
mov eax, dword [edi]
mov ecx, esi
push dword [ebp - 0x7c]
movzx edx, byte [eax + ebx]
call fcn.004964d4
jmp 0x497380
push 0x4320c0
mov ecx, esi
call fcn.004cbb8f
lea eax, [ebx + 3]
cmp eax, dword [edi + 8]
jae 0x497495
push 0x10
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
push dword [eax + ebx]
call dword [sym.imp.msvcrt.dll__ltoa]
add esp, 0xc
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431ebc
mov ecx, esi
call fcn.004cbb8f
push 0xa
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
push dword [eax + ebx]
call dword [sym.imp.msvcrt.dll__ltoa]
add esp, 0xc
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x42bae8
mov ecx, esi
call fcn.004cbb8f
add ebx, 4
jmp 0x497381
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x4974b0
cmp ebx, dword [eax]
jne 0x4974a4
mov ecx, dword [ebp - 0x8c]
push esi
call fcn.004b8820
mov ecx, dword [ebp - 0x8c]
and dword [ebp - 0x80], 0
mov eax, dword [ecx + 4]
test eax, eax
je 0x4971c1
mov eax, dword [eax + 8]
jmp 0x4971c3
xor eax, eax
test eax, eax
je 0x497380
push eax
call fcn.004601d8
test eax, eax
jne 0x497380
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 4]
test eax, eax
je 0x4971f1
mov eax, dword [eax + 8]
mov dword [ebp - 0x80], eax
jmp 0x497380
and dword [ebp - 0x80], 0
jmp 0x497380
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x4974d4
cmp ebx, dword [eax]
jne 0x4974c8
mov ecx, dword [ebp - 0x90]
push esi
call fcn.004b892d
mov ecx, dword [ebp - 0x90]
and dword [ebp - 0x84], 0
mov eax, dword [ecx + 4]
test eax, eax
je 0x497235
mov eax, dword [eax + 8]
jmp 0x497237
xor eax, eax
test eax, eax
je 0x496b28
push eax
call fcn.004601d8
test eax, eax
jne 0x496b28
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 4]
test eax, eax
je 0x497268
mov eax, dword [eax + 8]
mov dword [ebp - 0x84], eax
jmp 0x496b28
and dword [ebp - 0x84], 0
jmp 0x496b28
lea eax, [ebp - 0x70]
lea ecx, [edi + 0x5c]
mov dword [ebp - 0x74], eax
push ebx
call fcn.00497674
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x497286
sub eax, edx
cmp eax, 0x19
jle 0x4972a6
add eax, 0x4b
mov ecx, eax
mov dword [ebp - 0x78], eax
call fcn.00442720
mov dword [ebp - 0x74], eax
jmp 0x4972ac
add eax, 0x4b
mov dword [ebp - 0x78], eax
mov eax, 0x43219c
lea ecx, [edi + 0x5c]
push eax
push eax
push ebx
call fcn.00497674
push eax
push 0x42e13c
push 0x4321ac
push dword [ebp - 0x78]
push dword [ebp - 0x74]
call fcn.00442802
add esp, 0x1c
push dword [ebp - 0x74]
jmp 0x497379
push 0x42dcfc
mov ecx, esi
call fcn.004cbb8f
push 0x10
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431e78
mov ecx, esi
call fcn.004cbb8f
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
push dword [eax*4 + 0x4120c0]
jmp 0x49736d
push 0x42dcfc
mov ecx, esi
call fcn.004cbb8f
push 0x10
push 0x66
lea eax, [ebp - 0x70]
push eax
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
push eax
call fcn.004ccab0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call fcn.004cbb8f
push 0x431e78
mov ecx, esi
call fcn.004cbb8f
mov eax, dword [edi]
movzx eax, byte [eax + ebx]
push dword [eax*4 + 0x4124e0]
mov ecx, esi
call fcn.004cbb8f
push 0x42bae8
mov ecx, esi
call fcn.004cbb8f
inc ebx
mov dword [ebp - 0x74], ebx
cmp ebx, dword [edi + 0x10]
jl 0x49682d
push 2
mov ecx, esi
call fcn.004cbfea
push 0x4321d0
mov ecx, esi
call fcn.004cbb8f
movsx eax, word [esi + 0x22]
mov ecx, esi
imul eax, eax, 3
add word [esi + 0x20], ax
call fcn.00463c3f
call fcn.004cbf9f
push 0x7d
mov ecx, esi
call fcn.00463bf0
mov ecx, esi
call fcn.00463c3f
call fcn.004cbf9f
push 0x42bd04
mov ecx, esi
call fcn.004cbb8f
mov ecx, esi
call fcn.00463c3f
call fcn.004cbf9f
cmp dword [edi + 0x10], 0xffff
jbe 0x4974ec
push 0x4321d8
mov ecx, esi
call fcn.004cbb8f
mov ecx, esi
call fcn.004cbf9f
push dword [edi + 0x10]
push 0x432200
push 1
call fcn.004ce839
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0xc
xor edx, edx
xor ecx, ecx
push 0x4200db
push 0x94b
call fcn.004cb5e7
xor eax, eax
inc eax
jmp 0x4974f2
push 0x431f34
mov edx, 0x527
jmp 0x497528
push 0x431f34
mov edx, 0x534
jmp 0x497528
push 0x431f34
mov edx, 0x542
jmp 0x497528
push 0x431f34
mov edx, 0x54e
jmp 0x497528
push 0x431f34
mov edx, 0x568
jmp 0x497528
push 0x431f34
mov edx, 0x593
jmp 0x497528
push 0x4320d0
mov edx, 0x5c8
jmp 0x497528
push 0x4320e8
mov edx, 0x5d7
jmp 0x497528
push 0x432110
mov ecx, esi
call fcn.004cbb8f
push 0x432124
mov edx, 0x5df
jmp 0x497528
push 0x432140
mov edx, 0x5e9
jmp 0x497528
push 0x432168
mov ecx, esi
call fcn.004cbb8f
push 0x432180
mov edx, 0x5f1
jmp 0x497528
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x49750d
push 0x94b
call dword [sym.imp.msvcrt.dll_exit]
push 0x431edc
mov edx, 0x44a
jmp 0x497528
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004cc790
leave
ret 0x18
push 0x431f34
mov edx, 0x4d8
mov ecx, 0x431ef8
call fcn.004ca0da
nop
sub dword [ecx + 0x49], ebp
add byte [ebp + 106], cl
dec ecx
add byte [eax], dh
imul ecx, dword [ecx], 0xfffffffc
insb byte es:[edi], dx
dec ecx
add byte [ecx + esi*2], bl
dec ecx
add dh, bl
outsb dx, byte [esi]
dec ecx
add byte [edi], cl
jo 0x497597
add ch, ch
jo 0x49759b
add byte [edi], al
jno 0x49759f
add byte [ecx + esi*2 + 0x71fa0049], cl
dec ecx
add byte [edx + esi*2 + 0x49], dh
add byte [edx - 0x2bffb695], cl
imul ecx, dword [ecx], 0x1e
insb byte es:[edi], dx
dec ecx
add ch, cl
insd dword es:[edi], dx
dec ecx
add byte [ebp + ebp*2 + 0x49], ch
add byte [eax + 0x6c], ch
dec ecx
add byte [esi], ah
outsb dx, byte [esi]
dec ecx
add byte [edx + 0x7f00496c], dh
outsb dx, byte [esi]
dec ecx
add byte [esi], ah
jae 0x4975d3
add ch, bl
jb 0x4975d7
add byte [ebx - 0x1374aa01], cl
sub esp, 0x14
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
jge 0x4975a5
mov ebx, ecx
mov eax, dword [edi]
mov esi, dword [eax + 0xe0]
add byte [eax], al
mov ecx, esi
call dword [0x4d8248]
mov ecx, edi
call esi
mov ecx, dword [ebp + 8]
mov edi, eax
mov ecx, dword [ecx]
mov esi, dword [ecx + 0xe8]
mov ecx, esi
call dword [0x4d8248]
mov ecx, dword [ebp + 8]
call esi
mov ecx, dword [0x4d6258]
mov esi, eax
push 0x45
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], 1
call fcn.00444b6d
test eax, eax
je 0x4975f6
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret 4
cmp esi, dword [ebx + 0x10]
jg 0x49765f
mov ecx, dword [ebx + 0xa4]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 4]
push eax
call fcn.004c1c4e
test eax, eax
je 0x4975ed
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
mov dword [ebp - 8], ecx
cmp dword [ebx + 0xc], esi
jne 0x4975ed
cmp ecx, edi
je 0x4975ed
mov dword [ebx + 0x10], edi
mov dword [ebx + 0xc], edi
mov ebx, dword [ebp + 8]
push ecx
mov eax, dword [ebx]
mov esi, dword [eax + 0xdc]
mov ecx, esi
call dword [0x4d8248]
mov ecx, ebx
call esi
mov edx, dword [ebx]
mov eax, dword [ebp - 4]
mov esi, dword [edx + 0xe4]
mov ecx, esi
push dword [eax]
call dword [0x4d8248]
mov ecx, ebx
call esi
mov eax, dword [ebp - 8]
jmp 0x4975ef
push 0x432220
mov edx, 0x677
mov ecx, 0x431ef8
call fcn.004ca0da
int3