Function at 0x4a66e0
Capabilities:
Enumerate pe sections
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4c4a26
mov eax, dword fs:[0]
push eax
mov eax, 0x2d20
call fcn.004af740
mov eax, dword [0x4d88f0]
xor eax, esp
mov dword [esp + 0x2d1c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d88f0]
xor eax, esp
push eax
lea eax, [esp + 0x2d34]
mov dword fs:[0], eax
mov ecx, 0x507878
call fcn.00444350
xor ebx, ebx
mov dword [0x507768], ebx
mov esi, 0x4c8fc8
mov eax, 0x527c61
jmp 0x4a6740
mov cl, byte [eax]
or ebp, 0xffffffff
cmp cl, byte [esi]
jne 0x4a6763
cmp cl, bl
je 0x4a675f
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x4a6763
add eax, 2
add esi, 2
cmp cl, bl
jne 0x4a6740
xor eax, eax
jmp 0x4a6767
sbb eax, eax
sbb eax, ebp
cmp eax, ebx
jne 0x4a6775
mov dword [0x507768], 2
xor eax, eax
cmp byte [0x5262df], bl
mov edi, 1
setne al
cmp byte [0x527c61], 0x52
mov dword [0x5077dc], ebx
mov dword [0x5496b0], ebx
mov dword [0x5496b4], ebx
mov dword [0x5496b8], ebx
mov dword [0x5496bc], ebx
mov dword [0x50776c], eax
mov dword [0x506330], ebx
mov dword [0x50775c], ebx
mov dword [0x507760], ebx
mov dword [0x4d6f3c], edi
mov dword [0x507764], ebx
mov dword [0x507770], ebx
jne 0x4a67e3
cmp byte [0x527c62], 0x4e
mov byte [esp + 0x16], 1
je 0x4a67e7
mov byte [esp + 0x16], bl
mov ecx, dword [0x5261fc]
mov eax, dword [0x526228]
neg ecx
sbb ecx, ecx
mov dword [0x4d6f40], ecx
mov ecx, dword [0x52622c]
mov edx, eax
or edx, ecx
mov dword [0x507774], ebx
mov dword [0x5077bc], ebx
mov dword [0x507778], ebx
mov dword [0x507780], ebx
mov dword [0x507788], ebx
mov dword [0x50778c], ebx
mov dword [0x507790], ebx
mov dword [0x507798], ebx
mov dword [0x50779c], ebx
mov dword [0x5077a0], ebx
mov dword [0x5077a4], ebx
mov dword [0x4d6f44], edi
mov dword [0x507794], ebx
mov dword [0x4d6f48], edi
mov dword [0x4d6f4c], edi
mov dword [0x5077a8], ebx
mov dword [0x4d6f50], edi
mov dword [0x4d6f54], ebp
mov dword [0x5077b4], ebx
mov dword [0x5077b8], ebx
mov dword [0x5077c0], ebx
mov dword [0x5077c4], ebx
mov dword [0x507874], ebx
mov dword [0x4d6f5c], 0x507874
mov dword [0x506344], ebx
mov dword [0x5077c8], ebx
mov dword [0x5077cc], ebx
mov dword [0x5077d0], ebx
mov dword [0x5077d8], ebx
mov dword [0x5077d4], ebx
mov dword [0x5077e4], ebx
mov dword [0x5077e8], ebx
mov dword [0x5077f0], ebx
mov dword [0x5077f4], ebx
mov dword [0x5077ec], ebx
mov dword [0x507818], ebx
mov dword [0x507820], ebx
mov dword [0x507824], ebx
mov dword [0x5077f8], ebx
mov dword [0x5077fc], ebx
mov dword [0x4d6f58], ebp
mov dword [0x507800], ebx
mov dword [0x507804], ebx
mov dword [0x507808], ebx
mov dword [0x50780c], ebx
mov dword [0x507810], ebx
mov dword [0x507814], ebx
mov dword [0x50781c], ebx
mov dword [0x507828], ebx
mov dword [0x507830], ebx
mov dword [0x507834], ebx
mov dword [0x507838], ebx
mov dword [0x50783c], ebx
mov dword [0x50782c], ebx
mov dword [0x507840], ebx
mov dword [0x507848], ebx
mov dword [0x50784c], ebx
je 0x4a69c3
cmp eax, 0x7fffffff
jne 0x4a697f
cmp ecx, eax
jne 0x4a697f
push 0x528892
call fcn.00434c60
mov dword [0x50784c], edx
jmp 0x4a6985
mov dword [0x50784c], ecx
mov dword [0x507848], eax
mov dword [0x507840], edi
cmp word [0x5230e0], bx
je 0x4a69c3
push 0x4c5e10
push 0x528c92
call fcn.00455b40
test al, al
je 0x4a69bb
push 0x4c5acc
push 0x528c92
call fcn.004576c0
xor eax, eax
mov word [0x5230e0], ax
mov dword [0x507850], ebx
mov dword [0x507854], ebx
mov dword [0x507858], ebx
mov dword [0x50785c], ebx
mov dword [0x507864], ebx
mov dword [0x50777c], ebx
call fcn.004b36a1
add eax, 0x20
mov dword [0x506360], eax
call fcn.004aed70
mov dword [0x5077c8], ebx
mov dword [0x5077cc], ebx
cmp dword [0x507840], ebx
je 0x4a6a5c
push 0x4c5acc
push 0x528c92
call fcn.00455b40
test al, al
jne 0x4a6a5c
mov eax, 0x528c92
lea edx, [eax + 2]
jmp 0x4a6a30
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4a6a30
sub eax, edx
sar eax, 1
cmp eax, 0x3fa
jbe 0x4a6a4d
push 5
call fcn.004a6030
push 0x4c5acc
push 0x528c92
call fcn.004576c0
push 0x528c92
call fcn.004b0ef4
add esp, 4
mov dword [0x506344], eax
cmp eax, ebx
jne 0x4a6a79
push 4
call fcn.004a6030
cmp dword [0x507768], ebx
je 0x4a6ad7
push eax
call fcn.00455ad0
mov esi, eax
cmp esi, ebx
je 0x4a6ad2
cmp word [esi], 0x2e
jne 0x4a6ad2
movzx ecx, word [esi + 2]
push ecx
call fcn.004b0c11
add esp, 4
cmp eax, 0x5a
jne 0x4a6ad2
movzx edx, word [esi + 4]
push edx
call fcn.0046f190
test al, al
je 0x4a6ad2
movzx eax, word [esi + 6]
push eax
call fcn.0046f190
test al, al
je 0x4a6ad2
mov ecx, dword [0x506344]
push 0x4c5acc
push ecx
call fcn.004576c0
mov eax, dword [0x506344]
cmp dword [0x5077d4], ebx
jne 0x4a6afd
push eax
call fcn.004b0ef4
add esp, 4
mov dword [0x5077d4], eax
cmp eax, ebx
jne 0x4a6af8
push 4
call fcn.004a6030
mov eax, dword [0x506344]
push eax
call fcn.004b0ef4
add esp, 4
mov dword [0x5077dc], eax
cmp eax, ebx
jne 0x4a6b16
push 4
call fcn.004a6030
mov dl, byte [0x527c61]
cmp dl, 0x44
jne 0x4a6b73
cmp dword [0x4d6f40], ebp
jne 0x4a6b53
cmp dword [0x507760], ebx
jne 0x4a6b53
cmp dword [0x50775c], ebx
jne 0x4a6b53
cmp word [0x525cec], bx
jne 0x4a6b53
cmp dword [0x5496b0], ebx
jne 0x4a6b53
cmp word [0x5248e2], bx
je 0x4a6b73
xor eax, eax
mov dword [0x4d6f40], ebp
mov dword [0x507760], ebx
mov dword [0x50775c], ebx
mov dword [0x5496b0], ebx
mov word [0x5248e2], ax
mov eax, dword [0x507768]
mov ecx, dword [0x507770]
cmp eax, edi
je 0x4a6b87
cmp eax, 2
jne 0x4a6b92
cmp ecx, ebx
je 0x4a6b92
xor eax, eax
mov dword [0x507768], eax
cmp dword [0x507840], ebx
je 0x4a6ba9
cmp eax, ebx
jne 0x4a6ba2
cmp ecx, ebx
je 0x4a6ba9
push 0x10
call fcn.004a6030
cmp dl, 0x41
je 0x4a6bbd
cmp dword [0x50776c], ebx
je 0x4a6bbd
push 0x10
call fcn.004a6030
lea ecx, [esp + 0x68]
call fcn.00401190
push 0x14a0
lea ecx, [esp + 0x6c]
push ebx
push ecx
call fcn.004afbb0
mov eax, dword [0x506344]
add esp, 0xc
push ebx
lea edx, [esp + 0x6c]
push edx
push eax
push ebx
call fcn.0043a670
cmp dword [0x507768], 2
jne 0x4a6e4f
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [eax + 0x4c8fd8]
mov word [esp + eax + 0x1508], cx
add eax, 2
cmp cx, bx
jne 0x4a6c00
mov ecx, dword [0x506344]
push ecx
call fcn.00455740
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4a6c25
lea edi, [esp + 0x1508]
sub eax, edx
add edi, 0xfffffffe
lea esp, [esp]
mov cx, word [edi + 2]
add edi, 2
cmp cx, bx
jne 0x4a6c40
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x1508]
mov ecx, eax
push edx
and ecx, 3
push 0x267
rep movsb byte es:[edi], byte [esi]
call fcn.00465ff0
push eax
lea eax, [esp + 0x1d38]
push eax
mov edx, 0x4c8
call fcn.00407140
add esp, 0xc
lea ecx, [esp + 0x1d30]
push ecx
call fcn.0048bca0
lea edx, [esp + 0x1508]
push edx
call fcn.00434f10
test al, al
je 0x4a6cdf
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea eax, [esp + 0x1518]
push eax
push ebx
call fcn.0040b300
cmp al, 0x4e
je 0x4a6d0b
cmp al, 0x43
je 0x4a6d0b
lea ecx, [esp + 0x1508]
push ecx
push ebx
call fcn.00435d10
lea edx, [esp + 0x1508]
push edx
call fcn.00435200
lea ecx, [esp + 0x1508]
push ecx
mov dword [0x506348], ebx
mov dword [0x50634c], ebx
call fcn.004b0ef4
add esp, 4
mov dword [0x5077c8], eax
cmp eax, ebx
jne 0x4a6d16
push 4
call fcn.004a6030
lea eax, [esp + 0x68]
push eax
push ebx
jmp 0x4a8235
push 0x4c7108
push eax
call fcn.004b25f0
add esp, 8
mov dword [0x5077cc], eax
cmp eax, ebx
jne 0x4a6d46
mov edx, dword [0x5077c8]
push edx
push ebx
mov ecx, 0x5062f4
call fcn.0042cb40
push 0xa
call fcn.004a6030
call fcn.004ae010
cmp eax, ebx
je 0x4a6d55
push eax
call fcn.004a6030
mov esi, dword [0x507868]
mov ecx, dword [0x506348]
mov eax, dword [0x50634c]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp esi, ebx
je 0x4a6db9
push esi
call fcn.004ab6f0
cmp eax, ebx
jne 0x4a6d4f
movzx ecx, word [esi + 0x24]
movzx eax, word [esi + 0x26]
movzx edx, word [esi + 0x20]
add eax, ecx
mov ecx, dword [0x506348]
lea eax, [eax + edx + 0x2e]
cdq
add ecx, eax
mov eax, dword [0x50634c]
adc eax, edx
add edi, 1
mov dword [0x506348], ecx
mov dword [0x50634c], eax
mov esi, dword [esi + 0x78]
adc ebp, ebx
cmp esi, ebx
jne 0x4a6d76
mov esi, dword [0x507870]
mov edx, dword [esp + 0x18]
push esi
movzx esi, word [0x50633c]
push esi
mov esi, dword [esp + 0x24]
push esi
sub ecx, edx
sbb eax, dword [esp + 0x28]
push edx
push eax
push ecx
push ebp
push edi
call fcn.004abae0
cmp eax, ebx
je 0x4a6deb
push eax
call fcn.004a6030
mov eax, dword [0x5077cc]
push eax
call fcn.004b24ae
add esp, 4
test eax, eax
je 0x4a6e17
mov eax, dword [0x5077c8]
push eax
push ebx
push eax
push ebx
mov ecx, 0x5062f4
call fcn.0042c9d0
push 0xa
call fcn.004a6030
mov eax, dword [0x5077d0]
cmp eax, ebx
je 0x4a6e2f
push eax
call fcn.004b24ae
add esp, 4
mov dword [0x5077d0], ebx
mov ecx, dword [0x5077c8]
push ecx
call fcn.004af901
add esp, 4
lea edx, [esp + 0x68]
push edx
mov dword [0x5077c8], ebx
push ebx
jmp 0x4a8235
call fcn.004ae010
cmp eax, ebx
je 0x4a6e5e
push eax
call fcn.004a6030
mov eax, dword [0x507840]
cmp eax, ebp
jne 0x4a6e6f
mov dword [0x507840], ebx
jmp 0x4a6ee5
cmp dword [0x507768], ebx
jne 0x4a6ee5
cmp eax, ebx
jne 0x4a6ee5
cmp dword [0x5077e4], edi
jbe 0x4a6ee5
mov eax, dword [0x5077d4]
push ebx
push eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.004379b0
push ebx
lea ecx, [esp + 0x1c]
push ecx
push ebx
push eax
mov dword [0x5077d8], eax
call fcn.004815c0
test eax, eax
jne 0x4a6eb7
mov eax, 0x12
jmp 0x4a823a
mov ecx, dword [0x5077d8]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ecx
mov dword [0x507840], edi
mov dword [0x507848], edx
mov dword [0x50784c], eax
call fcn.004af901
add esp, 4
mov dword [0x5077d8], ebx
mov dword [0x5077e8], ebx
cmp byte [0x52625b], bl
je 0x4a6f48
mov edx, dword [0x506344]
push edx
call fcn.00455520
test al, al
je 0x4a6f48
movsx eax, byte [0x527c61]
push eax
push 0x4c60dc
call fcn.004af100
add esp, 8
test eax, eax
je 0x4a6f48
mov ecx, dword [0x506344]
movzx edx, word [ecx]
push edx
lea eax, [esp + 0x150c]
push 0x4c7094
push eax
call fcn.004af76b
add esp, 0xc
lea ecx, [esp + 0x1508]
push ecx
call fcn.004364e0
cmp byte [0x527c61], 0x44
jne 0x4a6f64
call fcn.00481dc0
cmp eax, ebx
je 0x4a6f64
cmp eax, ebp
je 0x4a6f64
push eax
call fcn.004a6030
cmp byte [0x527c61], 0x41
jne 0x4a6f72
call fcn.00481ae0
call fcn.00436a80
cmp dword [0x506340], ebx
je 0x4a6f8e
mov edx, dword [0x506338]
push edx
call fcn.004af901
add esp, 4
mov esi, dword [0x507868]
xor ebp, ebp
mov dword [0x5496a0], ebx
mov dword [0x5496a4], ebx
mov dword [0x5496a8], ebx
mov dword [0x5496ac], ebx
mov dword [esp + 0x1c], ebx
cmp esi, ebx
je 0x4a7215
lea ebx, [ebx]
cmp dword [0x50776c], ebx
je 0x4a6fdc
cmp dword [esi + 0x6c], ebx
setne al
mov byte [esi + 0x74], al
cmp al, bl
jne 0x4a6fdc
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp dword [esi + 0x6c], ebx
je 0x4a7204
mov eax, dword [esi + 0x18]
add dword [0x5496a8], eax
mov ecx, dword [esi + 0x1c]
adc dword [0x5496ac], ecx
mov edx, dword [esi + 0x18]
mov dword [esp + 0x30], edx
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x34], eax
mov al, byte [0x527c61]
cmp al, 0x44
je 0x4a7126
cmp al, 0x41
jne 0x4a702a
cmp byte [0x526219], bl
jne 0x4a702a
cmp byte [0x526218], bl
je 0x4a7126
cmp dword [esi + 0x60], ebx
jne 0x4a704a
mov eax, dword [esi + 0x58]
cmp eax, ebx
je 0x4a703e
push eax
call fcn.00481200
jmp 0x4a7047
mov ecx, dword [esi + 0x3c]
push ecx
call fcn.00481190
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x34]
push eax
push ebx
push ecx
call fcn.004815c0
mov edi, eax
cmp edi, ebx
sete al
cmp al, bl
jne 0x4a70aa
cmp byte [0x526219], bl
jne 0x4a7079
cmp byte [0x526218], bl
je 0x4a70e3
lea edx, [esp + 0x38]
push edx
push esi
call fcn.00481a30
test al, al
je 0x4a70a0
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x64]
push ecx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 1
setne al
jmp 0x4a70a6
cmp edi, dword [esi + 8]
setbe al
cmp al, bl
je 0x4a70e3
mov edx, dword [0x5496b0]
neg edx
sbb edx, edx
xor eax, eax
and edx, 2
cmp edi, ebx
setne al
mov dword [esi + 0x6c], edx
mov dword [esi + 0x70], eax
cmp eax, ebx
je 0x4a7204
mov eax, dword [esi + 0x18]
sub dword [0x5496a8], eax
mov ecx, dword [esi + 0x1c]
sbb dword [0x5496ac], ecx
jmp 0x4a7204
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x4a7114
cmp eax, 0xfffffffe
jne 0x4a70fe
cmp ecx, 0xffffffff
je 0x4a7114
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x34]
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x1c], eax
jmp 0x4a7204
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
jmp 0x4a7204
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp al, 0x44
je 0x4a7204
mov eax, dword [0x5261f8]
cmp eax, ebx
je 0x4a7204
cmp eax, 2
sete byte [esp + 0x17]
cmp eax, 4
jne case.default.0x4a71cd
mov edx, dword [esi + 0x60]
push 0x400
lea ecx, [esp + 0x150c]
push ecx
push edx
call fcn.00455230
lea eax, [esp + 0x1508]
push eax
mov edi, 2
call fcn.00455010
movzx ecx, word [eax]
push ecx
call fcn.00455090
test al, al
jne 0x4a71c5
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
push 7
push edx
push eax
push ecx
lea edx, [esp + 0x1518]
push edx
push ebx
call fcn.0040b300
mov edx, dword [str.YNANC]
cbw
movzx eax, ax
movzx ecx, ax
push ecx
push edx
call fcn.004af100
sub eax, dword [str.YNANC]
add esp, 8
inc eax
mov edi, eax
add edi, 0xfffffffe
cmp edi, 3
ja case.default.0x4a71cd
jmp dword [edi*4 + 0x4a8264]
mov dword [0x5261f8], 1
jmp case.default.0x4a71cd
mov dword [0x5261f8], 2
jmp case.0x4a71cd.2
push 0xff
mov ecx, 0x5062f4
call fcn.0042ca70
cmp byte [esp + 0x17], bl
je 0x4a7204
mov dword [esi + 0x6c], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4a6fc0
mov esi, dword [0x507868]
mov edi, dword [0x507874]
cmp edi, ebx
je 0x4a727c
mov eax, dword [edi + 0x20]
add dword [0x5496a8], eax
mov ecx, dword [edi + 0x24]
adc dword [0x5496ac], ecx
xor eax, eax
cmp byte [0x527c61], 0x44
je 0x4a726a
cmp byte [0x526218], bl
jne 0x4a7250
mov edx, dword [edi + 0x14]
push ebx
push ebx
push ebx
push edx
call fcn.004815c0
cmp byte [0x527c61], 0x44
je 0x4a726a
cmp byte [0x526218], bl
jne 0x4a726a
cmp eax, ebx
je 0x4a726a
mov edi, dword [edi + 0x2c]
jmp 0x4a7272
push edi
call fcn.00436960
mov edi, eax
cmp edi, ebx
jne 0x4a721f
mov esi, dword [0x507868]
or ebp, dword [esp + 0x1c]
mov edx, dword [0x5496bc]
jne 0x4a72d8
cmp dword [0x507874], ebx
jne 0x4a72d8
cmp byte [esp + 0x16], bl
jne 0x4a72d8
mov edi, dword [0x507768]
mov eax, dword [0x526244]
mov ebp, dword [0x507770]
cmp esi, ebx
je 0x4a731d
cmp eax, 2
je 0x4a72d8
mov cl, byte [0x527c61]
cmp cl, 0x53
je 0x4a72d8
cmp edi, ebx
jne 0x4a72d8
cmp ebp, ebx
jne 0x4a72d8
cmp edx, ebx
jne 0x4a72d8
cmp dword [0x5496b0], ebx
jne 0x4a72d8
cmp word [0x5248e2], bx
je 0x4a7323
mov ebp, 1
cmp esi, ebx
je 0x4a7399
cmp dword [0x5077e4], ebp
je 0x4a7399
mov eax, dword [0x506358]
cmp eax, 4
jne 0x4a739e
cmp dword [0x50635c], ebx
jne 0x4a739e
xor eax, eax
mov dword [0x506358], eax
mov dword [0x50635c], ebx
jmp 0x4a739e
mov cl, byte [0x527c61]
cmp byte [0x526219], bl
jne 0x4a738d
cmp byte [0x526218], bl
jne 0x4a738d
cmp esi, ebx
jne 0x4a734f
cmp eax, 2
je 0x4a7348
cmp edi, ebx
jne 0x4a7348
cmp ebp, ebx
jne 0x4a7348
cmp edx, ebx
je 0x4a734f
push 0xd
call fcn.004a6030
cmp cl, 0x41
jne 0x4a7367
push 0x340
call fcn.00465ff0
push eax
mov eax, dword [0x506344]
push eax
jmp 0x4a737e
cmp cl, 0x44
jne 0x4a7386
push 0x346
call fcn.00465ff0
mov ecx, dword [0x506344]
push eax
push ecx
call fcn.00499570
add esp, 8
push 0xc
call fcn.004a6030
lea edx, [esp + 0x68]
push edx
push 0xc
jmp 0x4a8235
mov eax, dword [0x506358]
cmp dword [0x5496b8], ebx
je 0x4a73bc
cmp esi, ebx
jne 0x4a73bc
mov ecx, eax
or ecx, dword [0x50635c]
jne 0x4a73bc
mov dword [0x5077e0], ebx
jmp 0x4a7401
mov edx, dword [0x506344]
push edx
push ebx
call fcn.00434fa0
mov dword [0x5077e0], eax
cmp eax, 0xffffffff
jne 0x4a73d9
mov dword [0x5077e0], ebx
mov eax, dword [0x506358]
cmp dword [0x507868], ebx
jne 0x4a7401
mov ecx, eax
or ecx, dword [0x50635c]
jne 0x4a7401
mov edx, dword [0x506344]
push edx
call fcn.00435200
mov eax, dword [0x506358]
cmp dword [0x5496bc], ebx
je 0x4a7416
xor eax, eax
mov dword [0x506358], eax
mov dword [0x50635c], ebx
or eax, dword [0x50635c]
mov dword [0x506348], ebx
mov dword [0x50634c], ebx
je 0x4a7494
mov eax, dword [0x5077d4]
push ebx
push eax
call fcn.004379b0
push 0x4c7110
push eax
mov dword [0x5077d8], eax
call fcn.004b25f0
add esp, 8
mov dword [0x5077d0], eax
cmp eax, ebx
jne 0x4a7494
push ebx
call fcn.00438320
test eax, eax
jne 0x4a74b2
mov ecx, dword [0x5077d8]
push ecx
call fcn.004af901
mov edx, dword [0x5077d4]
add esp, 4
push ebp
push edx
call fcn.004379b0
push 0x4c7110
push eax
mov dword [0x5077d8], eax
call fcn.004b25f0
add esp, 8
mov dword [0x5077d0], eax
cmp eax, ebx
je 0x4a7452
mov ecx, dword [0x506344]
push ecx
call fcn.00434f10
cmp al, bl
je 0x4a74ca
mov edx, dword [0x506344]
push edx
call fcn.00436be0
jmp 0x4a74d8
mov eax, dword [0x5077d8]
push eax
push ebx
mov ecx, 0x5062f4
call fcn.0042cb20
push 9
call fcn.004a6030
mov eax, dword [0x506344]
push eax
call fcn.004b0ef4
add esp, 4
mov dword [0x5077c8], eax
cmp eax, ebx
jne 0x4a74e8
push 4
call fcn.004a6030
push 0x4c7108
push eax
call fcn.004b25f0
add esp, 8
mov dword [0x5077cc], eax
cmp eax, ebx
je 0x4a6dfd
push 0x4000
call fcn.004af837
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
jne 0x4a751f
push 4
jmp 0x4a6e12
mov ecx, dword [0x5077cc]
push 0x4000
push ebx
push eax
push ecx
call fcn.004b3d8f
mov edx, dword [0x5077cc]
add esp, 0x10
push edx
mov dword [0x4d6f50], ebp
call fcn.004ae1d0
test eax, eax
jne 0x4a7557
mov dword [0x4d6f50], ebx
mov dword [0x5077a8], ebp
cmp word [0x5230e0], bx
je 0x4a7742
push 0x5230e0
mov esi, 0x4c5e38
call fcn.00455740
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4a7599
cmp cx, bx
je 0x4a7595
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4a7599
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4a7573
xor eax, eax
jmp 0x4a759e
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4a762e
push ebx
push 0x4c7358
push 0x5230e0
call fcn.004356c0
mov edi, eax
cmp edi, ebx
jne 0x4a75d3
push 0x528c92
push ebx
mov ecx, 0x5062f4
call fcn.0042cb20
push 0x12
jmp 0x4a6e12
push edi
push 0x1000
lea eax, [esp + 0x1d38]
push ebp
push eax
call fcn.004b241a
mov esi, eax
add esp, 0x10
cmp esi, ebx
jbe 0x4a7625
push ebx
push esi
push ebp
lea ecx, [esp + 0x1d3c]
push ecx
call fcn.00437c70
cmp eax, esi
jne 0x4a771f
push edi
push 0x1000
lea edx, [esp + 0x1d38]
push ebp
push edx
call fcn.004b241a
mov esi, eax
add esp, 0x10
cmp esi, ebx
ja 0x4a75f0
push edi
call fcn.004b24ae
add esp, 4
mov eax, dword [0x5077d0]
cmp eax, ebx
je 0x4a7651
push eax
call fcn.004b24ae
mov eax, dword [0x5077d8]
push eax
mov dword [0x5077d0], ebx
call fcn.004af901
add esp, 8
mov ecx, dword [0x506358]
mov edx, dword [0x50635c]
mov dword [0x506348], ecx
mov dword [0x50634c], edx
cmp dword [0x507840], ebx
je 0x4a76a8
push ebx
push 4
push ebp
push 0x506368
mov byte [0x506368], 0x50
mov byte [0x506369], 0x4b
mov byte [0x50636a], 7
mov byte [0x50636b], 8
call fcn.00437c70
add dword [0x506348], 4
adc dword [0x50634c], ebx
cmp byte [0x527c61], 0x41
mov dword [esp + 0x2c], ebx
jne 0x4a76d0
cmp dword [0x507868], ebx
mov edx, dword [0x506344]
setne al
movzx ecx, al
push ecx
push edx
push ebx
push ebp
call fcn.0040a030
mov esi, dword [0x507868]
mov edi, 0x507868
mov dword [esp + 0x24], edi
cmp esi, ebx
je 0x4a7af5
cmp dword [esi + 0x6c], ebp
jne 0x4a78e3
cmp byte [0x527c61], 0x44
je 0x4a7841
push esi
lea eax, [esp + 0x24]
push eax
call fcn.004acf00
test eax, eax
je 0x4a7778
mov cx, word [esi + 4]
xor edx, edx
mov word [esi + 0x2e], cx
mov word [esi + 0x22], dx
jmp 0x4a77dc
mov eax, dword [0x5077c8]
push eax
push ebx
push eax
push ebx
mov ecx, 0x5062f4
call fcn.0042c9d0
push edi
call fcn.004b24ae
add esp, 4
push 0xe
jmp 0x4a6e12
cmp dword [0x5077d0], ebx
je 0x4a7651
mov ecx, dword [0x506358]
mov eax, dword [0x50635c]
mov edx, ecx
or edx, eax
je 0x4a762e
push eax
push ecx
call fcn.00438410
cmp eax, ebx
je 0x4a762e
push eax
jmp 0x4a6e12
mov eax, dword [esp + 0x20]
mov cx, word [eax + 0x2e]
mov word [esi + 0x2e], cx
mov dx, word [eax + 0x22]
mov word [esi + 0x22], dx
mov ecx, dword [eax + 0x40]
mov dword [esi + 0x40], ecx
cmp word [eax + 0x20], bx
je 0x4a77be
mov edx, dword [eax + 0x4c]
push edx
call fcn.004af901
mov eax, dword [esp + 0x24]
add esp, 4
cmp word [eax + 0x20], bx
je 0x4a77be
mov eax, dword [eax + 0x3c]
push eax
call fcn.004af901
mov eax, dword [esp + 0x24]
add esp, 4
cmp dword [eax + 0x58], ebx
je 0x4a77d3
mov ecx, dword [eax + 0x58]
push ecx
call fcn.004af901
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.004af901
add esp, 4
mov edx, dword [esi + 0x60]
push ebx
push ebx
push ebp
push edx
push ebx
push ebp
call fcn.0040a070
push esi
call fcn.004ae3a0
cmp eax, ebx
je 0x4a7802
cmp eax, 0x12
je 0x4a7810
cmp eax, 0xffffffff
jne 0x4a7b57
cmp eax, 0x12
je 0x4a7810
cmp eax, 0xffffffff
jne 0x4a7ae4
mov eax, dword [esi + 0x60]
mov ecx, dword [0x506344]
push eax
push ebx
push ecx
push ebx
mov ecx, 0x5062f4
mov dword [esp + 0x3c], ebp
call fcn.0042c7e0
push esi
call fcn.004abee0
cmp eax, ebx
jne 0x4a6d4f
mov dword [esi + 0x6c], ebx
jmp 0x4a7ae4
cmp byte [0x51a848], bl
jne 0x4a7af5
mov edx, dword [esi + 0x54]
push ebx
push ebx
push edx
call fcn.0040aeb0
mov eax, dword [esi + 0x4c]
mov ebp, dword [esi + 0x78]
push eax
call fcn.004af901
mov ecx, dword [esi + 0x50]
push ecx
call fcn.004af901
mov edx, dword [esi + 0x54]
push edx
call fcn.004af901
mov eax, dword [esi + 0x58]
add esp, 0xc
cmp eax, ebx
je 0x4a7889
push eax
call fcn.004af901
add esp, 4
cmp word [esi + 0x22], bx
je 0x4a789f
mov eax, dword [esi + 0x40]
cmp eax, ebx
je 0x4a789f
push eax
call fcn.004af901
add esp, 4
cmp word [esi + 0x24], bx
je 0x4a78b6
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x40]
je 0x4a78b6
push eax
call fcn.004af901
add esp, 4
cmp word [esi + 0x26], bx
je 0x4a78c8
mov eax, dword [esi + 0x48]
push eax
call fcn.004af901
add esp, 4
push esi
call fcn.004af901
mov dword [edi], ebp
add esp, 4
dec dword [0x506340]
mov ebp, 1
jmp 0x4a7aeb
cmp dword [0x50776c], ebx
je 0x4a78f4
cmp byte [esi + 0x74], bl
je 0x4a7ae4
cmp byte [0x527c61], 0x44
jne 0x4a7908
mov ecx, dword [esi + 0x54]
push ebp
push ebx
push ecx
call fcn.0040aeb0
mov edi, dword [0x507768]
cmp byte [esp + 0x16], bl
je 0x4a7ad0
lea ecx, [esp + 0x1d30]
call fcn.00402680
mov dword [esp + 0x2d3c], ebx
push 0xce8
lea edx, [esp + 0x1d34]
push ebx
push edx
call fcn.004afbb0
mov eax, dword [esi + 0x4c]
add esp, 0xc
push eax
call fcn.004557a0
movsx ecx, byte [eax]
push ecx
call fcn.00455090
push 0x3ff
lea edx, [esp + 0x1d64]
mov byte [esp + 0x1b], al
mov eax, dword [esi + 0x4c]
push edx
push eax
call fcn.00456870
mov ecx, dword [esp + 0x1d38]
mov edx, dword [esi + 8]
or ecx, 0x200
mov word [esp + 0x1d38], cx
push edx
lea ecx, [esp + 0x2978]
call fcn.004723a0
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
push 0x3ff
lea edx, [esp + 0x2164]
mov dword [esp + 0x2a14], eax
mov eax, dword [esi + 0x64]
push edx
push eax
mov dword [esp + 0x2a20], ecx
call fcn.00455230
push 0x3ff
lea ecx, [esp + 0x1d64]
push ecx
lea edx, [esp + 0x2168]
push edx
call fcn.00476820
lea eax, [esp + 0x1d60]
push eax
mov ecx, eax
push ecx
mov byte [esp + 0x2167], bl
call sub.USER32.dll_CharToOemA
lea edx, [esp + 0x1d30]
push edx
push 0x5228d0
call fcn.00458330
test al, al
je 0x4a7ab9
cmp byte [esp + 0x17], bl
je 0x4a7a1a
lea eax, [esp + 0x1d60]
push eax
call fcn.00455c00
push 0x400
push ebx
lea ecx, [esp + 0x1d68]
push ecx
call fcn.00456900
push 0x400
push ebx
lea edx, [esp + 0x2168]
push edx
call fcn.004552d0
push 0x3ff
lea eax, [esp + 0x1d64]
push eax
lea ecx, [esp + 0x2168]
push ecx
call fcn.00476820
mov edx, dword [esi + 0x4c]
push edx
mov byte [esp + 0x2163], bl
call fcn.004af901
lea eax, [esp + 0x1d64]
push eax
call fcn.004c0ac7
mov ecx, dword [esi + 0x64]
push ecx
mov dword [esi + 0x4c], eax
call fcn.004af901
lea edx, [esp + 0x216c]
push edx
call fcn.004b0ef4
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x58]
push eax
call fcn.004af901
add esp, 0x14
lea ecx, [esp + 0x2160]
push ecx
call fcn.00481280
mov dword [esi + 0x58], eax
mov dword [0x507768], 3
mov dword [esp + 0x2d3c], 0xffffffff
lea ecx, [esp + 0x1d30]
call fcn.00401b10
push esi
call fcn.004abee0
mov dword [0x507768], edi
cmp eax, ebx
jne 0x4a6d4f
lea edi, [esi + 0x78]
mov dword [esp + 0x24], edi
mov esi, dword [edi]
cmp esi, ebx
jne 0x4a76e7
mov edi, dword [0x507874]
cmp edi, ebx
je 0x4a7cb7
cmp byte [0x51a848], bl
jne 0x4a7cb7
push 0x80
call fcn.004af837
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4a6a72
mov dword [esi + 0x78], ebx
mov edx, dword [edi]
lea ebp, [esi + 0x78]
mov dword [esi + 0x3c], edx
mov dword [edi], ebx
mov byte [esi + 0x74], 1
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ebx
mov eax, dword [edi + 0x18]
push eax
call fcn.00437270
cmp dword [esi + 0x58], ebx
jne 0x4a7b6b
cmp eax, ebx
jne 0x4a7b65
mov ecx, dword [edi + 0x10]
mov dword [esi + 0x58], ecx
jmp 0x4a7b77
cmp byte [0x51a848], bl
jne 0x4a7af5
push eax
jmp 0x4a6e12
mov edx, dword [edi + 0x10]
push edx
jmp 0x4a7b6f
mov eax, dword [edi + 0x10]
push eax
call fcn.004af901
add esp, 4
mov ecx, dword [edi + 4]
mov dword [edi + 0x10], ebx
mov dword [esi + 0x4c], ecx
mov edx, dword [edi + 8]
mov dword [edi + 4], ebx
mov dword [esi + 0x50], edx
mov eax, dword [edi + 0xc]
mov dword [edi + 8], ebx
mov dword [esi + 0x54], eax
mov ecx, dword [edi + 0x14]
mov dword [edi + 0xc], ebx
mov dword [esi + 0x60], ecx
mov edx, dword [edi + 0x18]
mov dword [edi + 0x14], ebx
mov dword [esi + 0x64], edx
mov eax, dword [edi + 0x1c]
mov dword [edi + 0x18], ebx
push ebx
push ebx
mov dword [esi + 0x68], eax
mov dword [edi + 0x1c], ebx
xor ecx, ecx
push ebx
mov word [esi + 0x26], cx
mov ecx, dword [esi + 0x60]
push ecx
push ebx
xor edx, edx
xor eax, eax
push 1
mov word [esi + 0x24], dx
mov word [esi + 0x22], ax
mov dword [esi + 0x44], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x6c], 1
call fcn.0040a070
push esi
call fcn.004ae3a0
cmp eax, ebx
je 0x4a7bf6
cmp eax, 0x12
je 0x4a7c15
cmp eax, 0xffffffff
jne 0x4a7d0f
cmp eax, 0x12
je 0x4a7c15
cmp eax, 0xffffffff
je 0x4a7c15
mov edx, dword [esp + 0x24]
mov dword [edx], esi
inc dword [0x506340]
mov dword [esp + 0x24], ebp
jmp 0x4a7ca7
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x54]
mov edx, dword [0x506344]
push eax
push ecx
push edx
push ebx
mov ecx, 0x5062f4
mov dword [esp + 0x3c], 1
call fcn.0042c7e0
mov eax, dword [esi + 0x3c]
push eax
call fcn.004af901
mov ecx, dword [esi + 0x4c]
push ecx
call fcn.004af901
mov edx, dword [esi + 0x50]
push edx
call fcn.004af901
mov eax, dword [esi + 0x54]
push eax
call fcn.004af901
mov eax, dword [esi + 0x58]
add esp, 0x10
cmp eax, ebx
je 0x4a7c6e
push eax
call fcn.004af901
add esp, 4
mov eax, dword [esi + 0x60]
cmp eax, ebx
je 0x4a7c7e
push eax
call fcn.004af901
add esp, 4
mov eax, dword [esi + 0x64]
cmp eax, ebx
je 0x4a7c8e
push eax
call fcn.004af901
add esp, 4
mov eax, dword [esi + 0x68]
cmp eax, ebx
je 0x4a7c9e
push eax
call fcn.004af901
add esp, 4
push esi
call fcn.004af901
add esp, 4
push edi
call fcn.00436960
mov edi, eax
cmp edi, ebx
jne 0x4a7b03
cmp word [0x5248e2], bx
je 0x4a7ec4
cmp dword [0x507768], ebx
jne 0x4a7ec4
push 0x4c7110
push 0x5248e2
call fcn.004b25f0
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
cmp esi, ebx
jne 0x4a7d1d
mov ecx, dword [0x506344]
push 0x5248e2
push 0x5244e2
push ecx
push ebx
mov ecx, 0x5062f4
call fcn.0042c7e0
push 0x12
jmp 0x4a6e12
cmp byte [0x51a848], bl
jne 0x4a7cb7
push eax
jmp 0x4a6e12
cmp word [0x50633c], bx
je 0x4a7d35
mov edx, dword [0x507870]
push edx
call fcn.004af901
add esp, 4
push 0x8000
call fcn.004af837
add esp, 4
mov dword [0x507870], eax
cmp eax, ebx
jne 0x4a7d52
push 4
jmp 0x4a6e12
push esi
push 0x7fff
push 1
push eax
call fcn.004b241a
mov ecx, dword [0x507870]
mov word [0x50633c], ax
movzx eax, ax
add esp, 0x10
mov byte [eax + ecx], bl
cmp dword [0x5250e4], 2
jne 0x4a7d8b
mov eax, dword [0x507870]
push eax
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
cmp dword [0x5250e4], 3
jne 0x4a7ebb
mov ecx, dword [0x507870]
mov al, byte [ecx]
mov dword [esp + 0x20], ecx
cmp al, 0xff
jne 0x4a7db5
cmp byte [ecx + 1], 0xfe
jne 0x4a7db5
mov edi, 1
jmp 0x4a7db7
xor edi, edi
cmp al, 0xfe
jne 0x4a7dc8
cmp byte [ecx + 1], 0xff
jne 0x4a7dc8
mov ebp, 1
jmp 0x4a7dca
xor ebp, ebp
movzx edx, word [0x50633c]
inc edx
push edx
lea ecx, [esp + 0x3c]
call fcn.0040b9b0
mov dword [esp + 0x2d3c], 1
xor edx, edx
lea ecx, [edx + 2]
cmp edi, ebx
jne 0x4a7df9
cmp ebp, ebx
jne 0x4a7df9
lea edi, [edx + 1]
xor ecx, ecx
movzx eax, word [0x50633c]
mov esi, dword [esp + 0x38]
cmp ecx, eax
jae 0x4a7e4f
lea eax, [ecx + ebp]
add eax, dword [esp + 0x20]
sub edi, ebp
mov dword [esp + 0x20], edi
jmp 0x4a7e24
mov edi, dword [esp + 0x20]
movzx di, byte [edi + eax]
mov ebp, 0x100
imul di, bp
movzx bp, byte [eax]
add di, bp
mov word [esi + edx*2], di
movzx edi, word [0x50633c]
add ecx, 2
inc edx
add eax, 2
cmp ecx, edi
jb 0x4a7e20
xor ecx, ecx
push 0x7fff
mov word [esi + edx*2], cx
mov edx, dword [0x507870]
push ebx
push edx
call fcn.004afbb0
mov eax, dword [0x507870]
add esp, 0xc
push 0x7ffe
push eax
push esi
call fcn.00476820
mov ecx, dword [0x507870]
mov byte [ecx + 0x7ffe], bl
mov eax, dword [0x507870]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4a7e90
sub eax, edx
mov word [0x50633c], ax
mov dword [esp + 0x2d3c], 0xffffffff
cmp esi, ebx
je 0x4a7eb7
push esi
call fcn.004af901
add esp, 4
mov esi, dword [esp + 0x24]
push esi
call fcn.004b24ae
add esp, 4
mov esi, dword [0x507868]
mov ecx, dword [0x506348]
mov edx, dword [0x50634c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov edi, ecx
mov ebp, edx
cmp esi, ebx
je 0x4a7f3e
cmp dword [0x50776c], ebx
je 0x4a7ef3
cmp byte [esi + 0x74], bl
je 0x4a7f37
push esi
call fcn.004ab6f0
cmp eax, ebx
jne 0x4a6d4f
movzx eax, word [esi + 0x24]
movzx edx, word [esi + 0x26]
movzx ecx, word [esi + 0x20]
add edx, eax
lea eax, [edx + ecx + 0x2e]
mov ecx, dword [0x506348]
cdq
add ecx, eax
adc dword [0x50634c], edx
add dword [esp + 0x24], 1
mov edx, dword [0x50634c]
mov dword [0x506348], ecx
adc dword [esp + 0x28], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4a7ee6
sub ecx, edi
sbb edx, ebp
mov eax, ecx
mov ecx, edx
mov edx, dword [0x507870]
push edx
movzx edx, word [0x50633c]
push edx
push ebp
push edi
push ecx
mov ecx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x40]
push eax
push ecx
call fcn.004abae0
cmp eax, ebx
je 0x4a7f72
push eax
jmp 0x4a6e12
mov edx, dword [0x5077cc]
push edx
call fcn.004b24ae
add esp, 4
test eax, eax
jne 0x4a6dfd
mov eax, dword [0x5077d0]
mov dword [0x5077cc], ebx
cmp eax, ebx
je 0x4a7fa7
push eax
call fcn.004b24ae
add esp, 4
mov dword [0x5077d0], ebx
cmp byte [0x51a848], bl
je 0x4a800c
mov eax, dword [0x5077c8]
push eax
call fcn.00435200
mov ecx, dword [0x526228]
or ecx, dword [0x52622c]
je 0x4a81ba
xor esi, esi
cmp dword [0x5077fc], ebx
jbe 0x4a81ba
lea ebx, [ebx]
mov edx, dword [0x506344]
push esi
push edx
call fcn.00437b00
mov edi, eax
push edi
call fcn.00435200
push edi
call fcn.004af901
inc esi
add esp, 4
cmp esi, dword [0x5077fc]
jb 0x4a7fe0
jmp 0x4a81ba
cmp word [0x5230e0], bx
je 0x4a8101
push 0x5230e0
mov esi, 0x4c5e38
call fcn.00455740
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4a804e
cmp cx, bx
je 0x4a804a
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4a804e
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4a8028
xor eax, eax
jmp 0x4a8053
sbb eax, eax
sbb eax, 0xffffffff
mov esi, 0x4c5acc
cmp eax, ebx
je 0x4a8061
mov esi, 0x4c5e10
mov eax, dword [0x506344]
push esi
push eax
call fcn.00455b40
test al, al
jne 0x4a8101
mov ecx, dword [0x506344]
push 0x400
push ecx
lea edx, [esp + 0x1510]
push edx
call fcn.0046f3f0
push esi
lea eax, [esp + 0x150c]
push eax
call fcn.004576c0
lea ecx, [esp + 0x1508]
push ecx
call fcn.00434f10
test al, al
je 0x4a80d6
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea edx, [esp + 0x1518]
push edx
push ebx
call fcn.0040b300
cmp al, 0x43
je 0x4a80cf
cmp al, 0x4e
jne 0x4a80d6
push 9
jmp 0x4a6e12
mov eax, dword [0x506344]
push eax
call fcn.004af901
lea ecx, [esp + 0x150c]
push ecx
call fcn.004b0ef4
add esp, 8
mov dword [0x506344], eax
cmp eax, ebx
jne 0x4a8106
push 4
jmp 0x4a6e12
mov eax, dword [0x506344]
mov edx, dword [0x5077c8]
push edx
push eax
call fcn.004380b0
mov esi, eax
cmp esi, ebx
je 0x4a817f
mov eax, dword [0x506344]
mov ecx, dword [0x5077c8]
push eax
push ecx
push 0x207
call fcn.00465ff0
push eax
push ebx
call fcn.00499570
add esp, 0x10
mov ecx, 0x5062f4
call fcn.0042c340
cmp esi, 0xf
jne 0x4a8164
mov edx, dword [0x506344]
push edx
call fcn.00434f10
test al, al
je 0x4a8164
mov eax, dword [0x506344]
push eax
call fcn.00435200
mov ecx, dword [0x5077c8]
push ecx
call fcn.004af901
add esp, 4
mov dword [0x5077c8], ebx
push esi
jmp 0x4a6e12
mov edx, dword [0x5077c8]
push edx
call fcn.004af901
mov eax, dword [0x5077e0]
add esp, 4
cmp eax, ebx
je 0x4a81a4
push eax
mov eax, dword [0x506344]
push eax
push ebx
call fcn.00434fd0
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x28]
jne 0x4a81ba
mov ecx, dword [0x506344]
push ecx
call fcn.00435200
mov dword [0x5077c8], ebx
cmp byte [0x526214], bl
je 0x4a8217
cmp byte [0x51a848], bl
jne 0x4a8217
mov esi, dword [0x507868]
cmp esi, ebx
je 0x4a8217
lea ebx, [ebx]
cmp dword [esi + 0x6c], ebx
je 0x4a8210
mov edx, dword [esi + 0x60]
push edx
call fcn.004aee30
test eax, eax
jne 0x4a8210
mov eax, dword [esi + 0x60]
push eax
push 0x4bf
call fcn.00465ff0
mov ecx, dword [0x506344]
push eax
push ecx
call fcn.00499570
add esp, 0xc
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4a81e0
mov edx, dword [esp + 0x18]
push edx
call fcn.004af901
add esp, 4
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x30]
neg eax
sbb eax, eax
and eax, 0x12
push eax
call fcn.004a63b0
mov ecx, dword [esp + 0x2d34]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2d1c]
xor ecx, esp
call fcn.004af72c
add esp, 0x2d2c
ret