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

Disassembly:
push 0xffffffffffffffff
push 0x4c5346
mov eax, dword fs:[0]
push eax
mov eax, 0x2d20
call fcn.004b0000
mov eax, dword [0x4d98f0]
xor eax, esp
mov dword [esp + 0x2d1c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d98f0]
xor eax, esp
push eax
lea eax, [esp + 0x2d34]
mov dword fs:[0], eax
mov ecx, 0x508878
call fcn.00444a20
xor ebx, ebx
mov dword [0x508768], ebx
mov esi, 0x4c9fc4
mov eax, 0x528c62
jmp 0x4a6fc0
mov cl, byte [eax]
or ebp, 0xffffffff
cmp cl, byte [esi]
jne 0x4a6fe3
cmp cl, bl
je 0x4a6fdf
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x4a6fe3
add eax, 2
add esi, 2
cmp cl, bl
jne 0x4a6fc0
xor eax, eax
jmp 0x4a6fe7
sbb eax, eax
sbb eax, ebp
cmp eax, ebx
jne 0x4a6ff5
mov dword [0x508768], 2
xor eax, eax
cmp byte [0x5272df], bl
mov edi, 1
setne al
cmp byte [0x528c62], 0x52
mov dword [0x5087dc], ebx
mov dword [0x54a6b0], ebx
mov dword [0x54a6b4], ebx
mov dword [0x54a6b8], ebx
mov dword [0x54a6bc], ebx
mov dword [0x50876c], eax
mov dword [0x507330], ebx
mov dword [0x50875c], ebx
mov dword [0x508760], ebx
mov dword [0x4d7f34], edi
mov dword [0x508764], ebx
mov dword [0x508770], ebx
jne 0x4a7063
cmp byte [0x528c63], 0x4e
mov byte [esp + 0x16], 1
je 0x4a7067
mov byte [esp + 0x16], bl
mov ecx, dword [0x5271fc]
mov eax, dword [0x527228]
neg ecx
sbb ecx, ecx
mov dword [0x4d7f38], ecx
mov ecx, dword [0x52722c]
mov edx, eax
or edx, ecx
mov dword [0x508774], ebx
mov dword [0x5087bc], ebx
mov dword [0x508778], ebx
mov dword [0x508780], ebx
mov dword [0x508788], ebx
mov dword [0x50878c], ebx
mov dword [0x508790], ebx
mov dword [0x508798], ebx
mov dword [0x50879c], ebx
mov dword [0x5087a0], ebx
mov dword [0x5087a4], ebx
mov dword [0x4d7f3c], edi
mov dword [0x508794], ebx
mov dword [0x4d7f40], edi
mov dword [0x4d7f44], edi
mov dword [0x5087a8], ebx
mov dword [0x4d7f48], edi
mov dword [0x4d7f4c], ebp
mov dword [0x5087b4], ebx
mov dword [0x5087b8], ebx
mov dword [0x5087c0], ebx
mov dword [0x5087c4], ebx
mov dword [0x508874], ebx
mov dword [0x4d7f54], 0x508874
mov dword [0x507344], ebx
mov dword [0x5087c8], ebx
mov dword [0x5087cc], ebx
mov dword [0x5087d0], ebx
mov dword [0x5087d8], ebx
mov dword [0x5087d4], ebx
mov dword [0x5087e4], ebx
mov dword [0x5087e8], ebx
mov dword [0x5087f0], ebx
mov dword [0x5087f4], ebx
mov dword [0x5087ec], ebx
mov dword [0x508818], ebx
mov dword [0x508820], ebx
mov dword [0x508824], ebx
mov dword [0x5087f8], ebx
mov dword [0x5087fc], ebx
mov dword [0x4d7f50], ebp
mov dword [0x508800], ebx
mov dword [0x508804], ebx
mov dword [0x508808], ebx
mov dword [0x50880c], ebx
mov dword [0x508810], ebx
mov dword [0x508814], ebx
mov dword [0x50881c], ebx
mov dword [0x508828], ebx
mov dword [0x508830], ebx
mov dword [0x508834], ebx
mov dword [0x508838], ebx
mov dword [0x50883c], ebx
mov dword [0x50882c], ebx
mov dword [0x508840], ebx
mov dword [0x508848], ebx
mov dword [0x50884c], ebx
je 0x4a724b
cmp eax, 0x7fffffff
jne 0x4a71ed
cmp ecx, eax
je 0x4a724b
push 0x529c92
call fcn.00435620
test al, al
jne 0x4a724b
mov eax, dword [0x527228]
mov ecx, dword [0x52722c]
mov dword [0x508848], eax
mov dword [0x50884c], ecx
mov dword [0x508840], edi
cmp word [0x5240e0], bx
je 0x4a724b
push 0x4c6e10
push 0x529c92
call fcn.00456290
test al, al
je 0x4a7242
push 0x4c6acc
push 0x529c92
call fcn.00457e10
xor edx, edx
mov word [0x5240e0], dx
mov dword [0x508850], ebx
mov dword [0x508854], ebx
mov dword [0x508858], ebx
mov dword [0x50885c], ebx
mov dword [0x508864], ebx
mov dword [0x50877c], ebx
call fcn.004b3f61
add eax, 0x20
mov dword [0x507360], eax
call fcn.004af630
mov dword [0x5087c8], ebx
mov dword [0x5087cc], ebx
cmp dword [0x508840], ebx
je 0x4a72dc
push 0x4c6acc
push 0x529c92
call fcn.00456290
test al, al
jne 0x4a72dc
mov eax, 0x529c92
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4a72b0
sub eax, edx
sar eax, 1
cmp eax, 0x3fa
jbe 0x4a72cd
push 5
call fcn.004a68a0
push 0x4c6acc
push 0x529c92
call fcn.00457e10
push 0x529c92
call fcn.004b17b4
add esp, 4
mov dword [0x507344], eax
cmp eax, ebx
jne 0x4a72f9
push 4
call fcn.004a68a0
cmp dword [0x508768], ebx
je 0x4a7356
push eax
call fcn.00456220
mov esi, eax
cmp esi, ebx
je 0x4a7351
cmp word [esi], 0x2e
jne 0x4a7351
movzx eax, word [esi + 2]
push eax
call fcn.004b14d1
add esp, 4
cmp eax, 0x5a
jne 0x4a7351
movzx ecx, word [esi + 4]
push ecx
call fcn.0046fa10
test al, al
je 0x4a7351
movzx edx, word [esi + 6]
push edx
call fcn.0046fa10
test al, al
je 0x4a7351
mov eax, dword [0x507344]
push 0x4c6acc
push eax
call fcn.00457e10
mov eax, dword [0x507344]
cmp dword [0x5087d4], ebx
jne 0x4a737c
push eax
call fcn.004b17b4
add esp, 4
mov dword [0x5087d4], eax
cmp eax, ebx
jne 0x4a7377
push 4
call fcn.004a68a0
mov eax, dword [0x507344]
push eax
call fcn.004b17b4
add esp, 4
mov dword [0x5087dc], eax
cmp eax, ebx
jne 0x4a7395
push 4
call fcn.004a68a0
mov dl, byte [0x528c62]
cmp dl, 0x44
jne 0x4a73f3
cmp dword [0x4d7f38], ebp
jne 0x4a73d2
cmp dword [0x508760], ebx
jne 0x4a73d2
cmp dword [0x50875c], ebx
jne 0x4a73d2
cmp word [0x526cec], bx
jne 0x4a73d2
cmp dword [0x54a6b0], ebx
jne 0x4a73d2
cmp word [0x5258e2], bx
je 0x4a73f3
xor ecx, ecx
mov dword [0x4d7f38], ebp
mov dword [0x508760], ebx
mov dword [0x50875c], ebx
mov dword [0x54a6b0], ebx
mov word [0x5258e2], cx
mov eax, dword [0x508768]
mov ecx, dword [0x508770]
cmp eax, edi
je 0x4a7407
cmp eax, 2
jne 0x4a7412
cmp ecx, ebx
je 0x4a7412
xor eax, eax
mov dword [0x508768], eax
cmp dword [0x508840], ebx
je 0x4a7429
cmp eax, ebx
jne 0x4a7422
cmp ecx, ebx
je 0x4a7429
push 0x10
call fcn.004a68a0
cmp dl, 0x41
je 0x4a743d
cmp dword [0x50876c], ebx
je 0x4a743d
push 0x10
call fcn.004a68a0
lea ecx, [esp + 0x68]
call fcn.00401190
push 0x14a0
lea edx, [esp + 0x6c]
push ebx
push edx
call fcn.004b0470
mov ecx, dword [0x507344]
add esp, 0xc
push ebx
lea eax, [esp + 0x6c]
push eax
push ecx
push ebx
call fcn.0043ad50
cmp dword [0x508768], 2
jne 0x4a76cf
xor eax, eax
jmp 0x4a7480
movzx ecx, word [eax + 0x4c9fd4]
mov word [esp + eax + 0x1508], cx
add eax, 2
cmp cx, bx
jne 0x4a7480
mov edx, dword [0x507344]
push edx
call fcn.00455e90
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4a74a5
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 0x4a74c0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x1508]
push eax
and ecx, 3
push 0x267
rep movsb byte es:[edi], byte [esi]
call fcn.00466860
push eax
lea ecx, [esp + 0x1d38]
push ecx
mov edx, 0x4c8
call fcn.00407130
add esp, 0xc
lea edx, [esp + 0x1d30]
push edx
call fcn.0048c530
lea eax, [esp + 0x1508]
push eax
call fcn.00435620
test al, al
je 0x4a755f
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea ecx, [esp + 0x1518]
push ecx
push ebx
call fcn.0040b2f0
cmp al, 0x4e
je 0x4a758b
cmp al, 0x43
je 0x4a758b
lea edx, [esp + 0x1508]
push edx
push ebx
call fcn.00436420
lea eax, [esp + 0x1508]
push eax
call fcn.00435910
lea edx, [esp + 0x1508]
push edx
mov dword [0x507348], ebx
mov dword [0x50734c], ebx
call fcn.004b17b4
add esp, 4
mov dword [0x5087c8], eax
cmp eax, ebx
jne 0x4a7596
push 4
call fcn.004a68a0
lea ecx, [esp + 0x68]
push ecx
push ebx
jmp 0x4a8ab5
push 0x4c8108
push eax
call fcn.004b2eb0
add esp, 8
mov dword [0x5087cc], eax
cmp eax, ebx
jne 0x4a75c5
mov eax, dword [0x5087c8]
push eax
push ebx
mov ecx, 0x5072f4
call fcn.0042d2a0
push 0xa
call fcn.004a68a0
call fcn.004ae8d0
cmp eax, ebx
je 0x4a75d4
push eax
call fcn.004a68a0
mov esi, dword [0x508868]
mov ecx, dword [0x507348]
mov eax, dword [0x50734c]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp esi, ebx
je 0x4a7638
push esi
call fcn.004abfa0
cmp eax, ebx
jne 0x4a75ce
movzx edx, word [esi + 0x24]
movzx ecx, word [esi + 0x26]
movzx eax, word [esi + 0x20]
add ecx, edx
lea eax, [ecx + eax + 0x2e]
mov ecx, dword [0x507348]
cdq
add ecx, eax
mov eax, dword [0x50734c]
adc eax, edx
add edi, 1
mov dword [0x507348], ecx
mov dword [0x50734c], eax
mov esi, dword [esi + 0x78]
adc ebp, ebx
cmp esi, ebx
jne 0x4a75f5
mov esi, dword [0x508870]
mov edx, dword [esp + 0x18]
push esi
movzx esi, word [0x50733c]
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.004ac390
cmp eax, ebx
je 0x4a766a
push eax
call fcn.004a68a0
mov ecx, dword [0x5087cc]
push ecx
call fcn.004b2d6e
add esp, 4
test eax, eax
je 0x4a7697
mov eax, dword [0x5087c8]
push eax
push ebx
push eax
push ebx
mov ecx, 0x5072f4
call fcn.0042d130
push 0xa
call fcn.004a68a0
mov eax, dword [0x5087d0]
cmp eax, ebx
je 0x4a76af
push eax
call fcn.004b2d6e
add esp, 4
mov dword [0x5087d0], ebx
mov edx, dword [0x5087c8]
push edx
call fcn.004b01c1
add esp, 4
lea eax, [esp + 0x68]
push eax
mov dword [0x5087c8], ebx
push ebx
jmp 0x4a8ab5
call fcn.004ae8d0
cmp eax, ebx
je 0x4a76de
push eax
call fcn.004a68a0
mov eax, dword [0x508840]
cmp eax, ebp
jne 0x4a76ef
mov dword [0x508840], ebx
jmp 0x4a7766
cmp dword [0x508768], ebx
jne 0x4a7766
cmp eax, ebx
jne 0x4a7766
cmp dword [0x5087e4], edi
jbe 0x4a7766
mov ecx, dword [0x5087d4]
push ebx
push ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.004380b0
push ebx
lea edx, [esp + 0x1c]
push edx
push ebx
push eax
mov dword [0x5087d8], eax
call fcn.00481e40
test eax, eax
jne 0x4a7738
mov eax, 0x12
jmp 0x4a8aba
mov edx, dword [0x5087d8]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push edx
mov dword [0x508840], edi
mov dword [0x508848], eax
mov dword [0x50884c], ecx
call fcn.004b01c1
add esp, 4
mov dword [0x5087d8], ebx
mov dword [0x5087e8], ebx
cmp byte [0x52725b], bl
je 0x4a77c8
mov eax, dword [0x507344]
push eax
call fcn.00455c70
test al, al
je 0x4a77c8
movsx ecx, byte [0x528c62]
push ecx
push 0x4c70d8
call fcn.004af9c0
add esp, 8
test eax, eax
je 0x4a77c8
mov edx, dword [0x507344]
movzx eax, word [edx]
push eax
lea ecx, [esp + 0x150c]
push 0x4c8094
push ecx
call fcn.004b002b
add esp, 0xc
lea edx, [esp + 0x1508]
push edx
call fcn.00436bf0
cmp byte [0x528c62], 0x44
jne 0x4a77e4
call fcn.00482640
cmp eax, ebx
je 0x4a77e4
cmp eax, ebp
je 0x4a77e4
push eax
call fcn.004a68a0
cmp byte [0x528c62], 0x41
jne 0x4a77f2
call fcn.00482360
call fcn.00437190
cmp dword [0x507340], ebx
je 0x4a780d
mov eax, dword [0x507338]
push eax
call fcn.004b01c1
add esp, 4
mov esi, dword [0x508868]
xor ebp, ebp
mov dword [0x54a6a0], ebx
mov dword [0x54a6a4], ebx
mov dword [0x54a6a8], ebx
mov dword [0x54a6ac], ebx
mov dword [esp + 0x1c], ebx
cmp esi, ebx
je 0x4a7a94
lea esp, [esp]
cmp dword [0x50876c], ebx
je 0x4a785c
cmp dword [esi + 0x6c], ebx
setne al
mov byte [esi + 0x74], al
cmp al, bl
jne 0x4a785c
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp dword [esi + 0x6c], ebx
je 0x4a7a83
mov ecx, dword [esi + 0x18]
add dword [0x54a6a8], ecx
mov edx, dword [esi + 0x1c]
adc dword [0x54a6ac], edx
mov eax, dword [esi + 0x18]
mov dword [esp + 0x30], eax
mov al, byte [0x528c62]
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x34], ecx
cmp al, 0x44
je 0x4a79a5
cmp al, 0x41
jne 0x4a78aa
cmp byte [0x527219], bl
jne 0x4a78aa
cmp byte [0x527218], bl
je 0x4a79a5
cmp dword [esi + 0x60], ebx
jne 0x4a78ca
mov eax, dword [esi + 0x58]
cmp eax, ebx
je 0x4a78be
push eax
call fcn.00481a80
jmp 0x4a78c7
mov edx, dword [esi + 0x3c]
push edx
call fcn.00481a10
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x34]
push ecx
push ebx
push edx
call fcn.00481e40
mov edi, eax
cmp edi, ebx
sete al
cmp al, bl
jne 0x4a792a
cmp byte [0x527219], bl
jne 0x4a78f9
cmp byte [0x527218], bl
je 0x4a7962
lea eax, [esp + 0x38]
push eax
push esi
call fcn.004822b0
test al, al
je 0x4a7920
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x64]
push edx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 1
setne al
jmp 0x4a7926
cmp edi, dword [esi + 8]
setbe al
cmp al, bl
je 0x4a7962
mov eax, dword [0x54a6b0]
neg eax
sbb eax, eax
and eax, 2
mov dword [esi + 0x6c], eax
xor eax, eax
cmp edi, ebx
setne al
mov dword [esi + 0x70], eax
cmp eax, ebx
je 0x4a7a83
mov ecx, dword [esi + 0x18]
sub dword [0x54a6a8], ecx
mov edx, dword [esi + 0x1c]
sbb dword [0x54a6ac], edx
jmp 0x4a7a83
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x4a7993
cmp eax, 0xfffffffe
jne 0x4a797d
cmp ecx, 0xffffffff
je 0x4a7993
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x34]
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x1c], eax
jmp 0x4a7a83
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
jmp 0x4a7a83
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp al, 0x44
je 0x4a7a83
mov eax, dword [0x5271f8]
cmp eax, ebx
je 0x4a7a83
cmp eax, 2
sete byte [esp + 0x17]
cmp eax, 4
jne case.default.0x4a7a4c
mov edx, dword [esi + 0x60]
push 0x400
lea ecx, [esp + 0x150c]
push ecx
push edx
call fcn.00455980
lea eax, [esp + 0x1508]
push eax
mov edi, 2
call fcn.00455760
movzx ecx, word [eax]
push ecx
call fcn.004557e0
test al, al
jne 0x4a7a44
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.0040b2f0
mov edx, dword [str.YNANC]
cbw
movzx eax, ax
movzx ecx, ax
push ecx
push edx
call fcn.004af9c0
sub eax, dword [str.YNANC]
add esp, 8
inc eax
mov edi, eax
add edi, 0xfffffffe
cmp edi, 3
ja case.default.0x4a7a4c
jmp dword [edi*4 + 0x4a8ae4]
mov dword [0x5271f8], 1
jmp case.default.0x4a7a4c
mov dword [0x5271f8], 2
jmp case.0x4a7a4c.2
push 0xff
mov ecx, 0x5072f4
call fcn.0042d1d0
cmp byte [esp + 0x17], bl
je 0x4a7a83
mov dword [esi + 0x6c], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4a7840
mov esi, dword [0x508868]
mov edi, dword [0x508874]
cmp edi, ebx
je 0x4a7afb
mov eax, dword [edi + 0x20]
add dword [0x54a6a8], eax
mov ecx, dword [edi + 0x24]
adc dword [0x54a6ac], ecx
xor eax, eax
cmp byte [0x528c62], 0x44
je 0x4a7ae9
cmp byte [0x527218], bl
jne 0x4a7acf
mov edx, dword [edi + 0x14]
push ebx
push ebx
push ebx
push edx
call fcn.00481e40
cmp byte [0x528c62], 0x44
je 0x4a7ae9
cmp byte [0x527218], bl
jne 0x4a7ae9
cmp eax, ebx
je 0x4a7ae9
mov edi, dword [edi + 0x2c]
jmp 0x4a7af1
push edi
call fcn.00437070
mov edi, eax
cmp edi, ebx
jne 0x4a7a9e
mov esi, dword [0x508868]
or ebp, dword [esp + 0x1c]
mov edx, dword [0x54a6bc]
jne 0x4a7b57
cmp dword [0x508874], ebx
jne 0x4a7b57
cmp byte [esp + 0x16], bl
jne 0x4a7b57
mov edi, dword [0x508768]
mov eax, dword [0x527244]
mov ebp, dword [0x508770]
cmp esi, ebx
je 0x4a7b9c
cmp eax, 2
je 0x4a7b57
mov cl, byte [0x528c62]
cmp cl, 0x53
je 0x4a7b57
cmp edi, ebx
jne 0x4a7b57
cmp ebp, ebx
jne 0x4a7b57
cmp edx, ebx
jne 0x4a7b57
cmp dword [0x54a6b0], ebx
jne 0x4a7b57
cmp word [0x5258e2], bx
je 0x4a7ba2
mov ebp, 1
cmp esi, ebx
je 0x4a7c18
cmp dword [0x5087e4], ebp
je 0x4a7c18
mov eax, dword [0x507358]
cmp eax, 4
jne 0x4a7c1d
cmp dword [0x50735c], ebx
jne 0x4a7c1d
xor eax, eax
mov dword [0x507358], eax
mov dword [0x50735c], ebx
jmp 0x4a7c1d
mov cl, byte [0x528c62]
cmp byte [0x527219], bl
jne 0x4a7c0c
cmp byte [0x527218], bl
jne 0x4a7c0c
cmp esi, ebx
jne 0x4a7bce
cmp eax, 2
je 0x4a7bc7
cmp edi, ebx
jne 0x4a7bc7
cmp ebp, ebx
jne 0x4a7bc7
cmp edx, ebx
je 0x4a7bce
push 0xd
call fcn.004a68a0
cmp cl, 0x41
jne 0x4a7be6
push 0x340
call fcn.00466860
push eax
mov eax, dword [0x507344]
push eax
jmp 0x4a7bfd
cmp cl, 0x44
jne 0x4a7c05
push 0x346
call fcn.00466860
mov ecx, dword [0x507344]
push eax
push ecx
call fcn.00499dd0
add esp, 8
push 0xc
call fcn.004a68a0
lea edx, [esp + 0x68]
push edx
push 0xc
jmp 0x4a8ab5
mov eax, dword [0x507358]
cmp dword [0x54a6b8], ebx
je 0x4a7c3b
cmp esi, ebx
jne 0x4a7c3b
mov ecx, eax
or ecx, dword [0x50735c]
jne 0x4a7c3b
mov dword [0x5087e0], ebx
jmp 0x4a7c80
mov edx, dword [0x507344]
push edx
push ebx
call fcn.004356b0
mov dword [0x5087e0], eax
cmp eax, 0xffffffff
jne 0x4a7c58
mov dword [0x5087e0], ebx
mov eax, dword [0x507358]
cmp dword [0x508868], ebx
jne 0x4a7c80
mov ecx, eax
or ecx, dword [0x50735c]
jne 0x4a7c80
mov edx, dword [0x507344]
push edx
call fcn.00435910
mov eax, dword [0x507358]
cmp dword [0x54a6bc], ebx
je 0x4a7c95
xor eax, eax
mov dword [0x507358], eax
mov dword [0x50735c], ebx
or eax, dword [0x50735c]
mov dword [0x507348], ebx
mov dword [0x50734c], ebx
je 0x4a7d13
mov eax, dword [0x5087d4]
push ebx
push eax
call fcn.004380b0
push 0x4c8110
push eax
mov dword [0x5087d8], eax
call fcn.004b2eb0
add esp, 8
mov dword [0x5087d0], eax
cmp eax, ebx
jne 0x4a7d13
push ebx
call fcn.00438a00
test eax, eax
jne 0x4a7d31
mov ecx, dword [0x5087d8]
push ecx
call fcn.004b01c1
mov edx, dword [0x5087d4]
add esp, 4
push ebp
push edx
call fcn.004380b0
push 0x4c8110
push eax
mov dword [0x5087d8], eax
call fcn.004b2eb0
add esp, 8
mov dword [0x5087d0], eax
cmp eax, ebx
je 0x4a7cd1
mov ecx, dword [0x507344]
push ecx
call fcn.00435620
cmp al, bl
je 0x4a7d49
mov edx, dword [0x507344]
push edx
call fcn.004372f0
jmp 0x4a7d57
mov eax, dword [0x5087d8]
push eax
push ebx
mov ecx, 0x5072f4
call fcn.0042d280
push 9
call fcn.004a68a0
mov eax, dword [0x507344]
push eax
call fcn.004b17b4
add esp, 4
mov dword [0x5087c8], eax
cmp eax, ebx
jne 0x4a7d67
push 4
call fcn.004a68a0
push 0x4c8108
push eax
call fcn.004b2eb0
add esp, 8
mov dword [0x5087cc], eax
cmp eax, ebx
je 0x4a767d
push 0x4000
call fcn.004b00f7
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
jne 0x4a7d9e
push 4
jmp 0x4a7692
mov ecx, dword [0x5087cc]
push 0x4000
push ebx
push eax
push ecx
call fcn.004b464f
mov edx, dword [0x5087cc]
add esp, 0x10
push edx
mov dword [0x4d7f48], ebp
call fcn.004aea90
test eax, eax
jne 0x4a7dd6
mov dword [0x4d7f48], ebx
mov dword [0x5087a8], ebp
cmp word [0x5240e0], bx
je 0x4a7fc2
push 0x5240e0
mov esi, 0x4c6e38
call fcn.00455e90
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4a7e18
cmp cx, bx
je 0x4a7e14
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4a7e18
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4a7df2
xor eax, eax
jmp 0x4a7e1d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4a7eae
push ebx
push 0x4c8358
push 0x5240e0
call fcn.00435dd0
mov edi, eax
cmp edi, ebx
jne 0x4a7e52
push 0x529c92
push ebx
mov ecx, 0x5072f4
call fcn.0042d280
push 0x12
jmp 0x4a7692
push edi
push 0x1000
lea eax, [esp + 0x1d38]
push ebp
push eax
call fcn.004b2cda
mov esi, eax
add esp, 0x10
cmp esi, ebx
jbe 0x4a7ea5
nop
push ebx
push esi
push ebp
lea ecx, [esp + 0x1d3c]
push ecx
call fcn.00438350
cmp eax, esi
jne 0x4a7f9f
push edi
push 0x1000
lea edx, [esp + 0x1d38]
push ebp
push edx
call fcn.004b2cda
mov esi, eax
add esp, 0x10
cmp esi, ebx
ja 0x4a7e70
push edi
call fcn.004b2d6e
add esp, 4
mov eax, dword [0x5087d0]
cmp eax, ebx
je 0x4a7ed1
push eax
call fcn.004b2d6e
mov eax, dword [0x5087d8]
push eax
mov dword [0x5087d0], ebx
call fcn.004b01c1
add esp, 8
mov ecx, dword [0x507358]
mov edx, dword [0x50735c]
mov dword [0x507348], ecx
mov dword [0x50734c], edx
cmp dword [0x508840], ebx
je 0x4a7f28
push ebx
push 4
push ebp
push 0x507368
mov byte [0x507368], 0x50
mov byte [0x507369], 0x4b
mov byte [0x50736a], 7
mov byte [0x50736b], 8
call fcn.00438350
add dword [0x507348], 4
adc dword [0x50734c], ebx
cmp byte [0x528c62], 0x41
mov dword [esp + 0x2c], ebx
jne 0x4a7f50
cmp dword [0x508868], ebx
mov edx, dword [0x507344]
setne al
movzx ecx, al
push ecx
push edx
push ebx
push ebp
call fcn.0040a020
mov esi, dword [0x508868]
mov edi, 0x508868
mov dword [esp + 0x24], edi
cmp esi, ebx
je 0x4a8375
cmp dword [esi + 0x6c], ebp
jne 0x4a8163
cmp byte [0x528c62], 0x44
je 0x4a80c1
push esi
lea eax, [esp + 0x24]
push eax
call fcn.004ad7b0
test eax, eax
je 0x4a7ff8
mov cx, word [esi + 4]
xor edx, edx
mov word [esi + 0x2e], cx
mov word [esi + 0x22], dx
jmp 0x4a805c
mov eax, dword [0x5087c8]
push eax
push ebx
push eax
push ebx
mov ecx, 0x5072f4
call fcn.0042d130
push edi
call fcn.004b2d6e
add esp, 4
push 0xe
jmp 0x4a7692
cmp dword [0x5087d0], ebx
je 0x4a7ed1
mov ecx, dword [0x507358]
mov eax, dword [0x50735c]
mov edx, ecx
or edx, eax
je 0x4a7eae
push eax
push ecx
call fcn.00438af0
cmp eax, ebx
je 0x4a7eae
push eax
jmp 0x4a7692
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 0x4a803e
mov edx, dword [eax + 0x4c]
push edx
call fcn.004b01c1
mov eax, dword [esp + 0x24]
add esp, 4
cmp word [eax + 0x20], bx
je 0x4a803e
mov eax, dword [eax + 0x3c]
push eax
call fcn.004b01c1
mov eax, dword [esp + 0x24]
add esp, 4
cmp dword [eax + 0x58], ebx
je 0x4a8053
mov ecx, dword [eax + 0x58]
push ecx
call fcn.004b01c1
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.004b01c1
add esp, 4
mov edx, dword [esi + 0x60]
push ebx
push ebx
push ebp
push edx
push ebx
push ebp
call fcn.0040a060
push esi
call fcn.004aec60
cmp eax, ebx
je 0x4a8082
cmp eax, 0x12
je 0x4a8090
cmp eax, 0xffffffff
jne 0x4a83d7
cmp eax, 0x12
je 0x4a8090
cmp eax, 0xffffffff
jne 0x4a8364
mov eax, dword [esi + 0x60]
mov ecx, dword [0x507344]
push eax
push ebx
push ecx
push ebx
mov ecx, 0x5072f4
mov dword [esp + 0x3c], ebp
call fcn.0042cf40
push esi
call fcn.004ac790
cmp eax, ebx
jne 0x4a75ce
mov dword [esi + 0x6c], ebx
jmp 0x4a8364
cmp byte [0x51b848], bl
jne 0x4a8375
mov edx, dword [esi + 0x54]
push ebx
push ebx
push edx
call fcn.0040aea0
mov eax, dword [esi + 0x4c]
mov ebp, dword [esi + 0x78]
push eax
call fcn.004b01c1
mov ecx, dword [esi + 0x50]
push ecx
call fcn.004b01c1
mov edx, dword [esi + 0x54]
push edx
call fcn.004b01c1
mov eax, dword [esi + 0x58]
add esp, 0xc
cmp eax, ebx
je 0x4a8109
push eax
call fcn.004b01c1
add esp, 4
cmp word [esi + 0x22], bx
je 0x4a811f
mov eax, dword [esi + 0x40]
cmp eax, ebx
je 0x4a811f
push eax
call fcn.004b01c1
add esp, 4
cmp word [esi + 0x24], bx
je 0x4a8136
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x40]
je 0x4a8136
push eax
call fcn.004b01c1
add esp, 4
cmp word [esi + 0x26], bx
je 0x4a8148
mov eax, dword [esi + 0x48]
push eax
call fcn.004b01c1
add esp, 4
push esi
call fcn.004b01c1
mov dword [edi], ebp
add esp, 4
dec dword [0x507340]
mov ebp, 1
jmp 0x4a836b
cmp dword [0x50876c], ebx
je 0x4a8174
cmp byte [esi + 0x74], bl
je 0x4a8364
cmp byte [0x528c62], 0x44
jne 0x4a8188
mov ecx, dword [esi + 0x54]
push ebp
push ebx
push ecx
call fcn.0040aea0
mov edi, dword [0x508768]
cmp byte [esp + 0x16], bl
je 0x4a8350
lea ecx, [esp + 0x1d30]
call fcn.00402680
mov dword [esp + 0x2d3c], ebx
push 0xce8
lea edx, [esp + 0x1d34]
push ebx
push edx
call fcn.004b0470
mov eax, dword [esi + 0x4c]
add esp, 0xc
push eax
call fcn.00455ef0
movsx ecx, byte [eax]
push ecx
call fcn.004557e0
push 0x3ff
lea edx, [esp + 0x1d64]
mov byte [esp + 0x1b], al
mov eax, dword [esi + 0x4c]
push edx
push eax
call fcn.00456fc0
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.00472c20
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.00455980
push 0x3ff
lea ecx, [esp + 0x1d64]
push ecx
lea edx, [esp + 0x2168]
push edx
call fcn.004770a0
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 0x5238d0
call fcn.00458a80
test al, al
je 0x4a8339
cmp byte [esp + 0x17], bl
je 0x4a829a
lea eax, [esp + 0x1d60]
push eax
call fcn.00456350
push 0x400
push ebx
lea ecx, [esp + 0x1d68]
push ecx
call fcn.00457050
push 0x400
push ebx
lea edx, [esp + 0x2168]
push edx
call fcn.00455a20
push 0x3ff
lea eax, [esp + 0x1d64]
push eax
lea ecx, [esp + 0x2168]
push ecx
call fcn.004770a0
mov edx, dword [esi + 0x4c]
push edx
mov byte [esp + 0x2163], bl
call fcn.004b01c1
lea eax, [esp + 0x1d64]
push eax
call fcn.004c1387
mov ecx, dword [esi + 0x64]
push ecx
mov dword [esi + 0x4c], eax
call fcn.004b01c1
lea edx, [esp + 0x216c]
push edx
call fcn.004b17b4
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x58]
push eax
call fcn.004b01c1
add esp, 0x14
lea ecx, [esp + 0x2160]
push ecx
call fcn.00481b00
mov dword [esi + 0x58], eax
mov dword [0x508768], 3
mov dword [esp + 0x2d3c], 0xffffffff
lea ecx, [esp + 0x1d30]
call fcn.00401b10
push esi
call fcn.004ac790
mov dword [0x508768], edi
cmp eax, ebx
jne 0x4a75ce
lea edi, [esi + 0x78]
mov dword [esp + 0x24], edi
mov esi, dword [edi]
cmp esi, ebx
jne 0x4a7f67
mov edi, dword [0x508874]
cmp edi, ebx
je 0x4a8537
cmp byte [0x51b848], bl
jne 0x4a8537
push 0x80
call fcn.004b00f7
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4a72f2
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.00437970
cmp dword [esi + 0x58], ebx
jne 0x4a83eb
cmp eax, ebx
jne 0x4a83e5
mov ecx, dword [edi + 0x10]
mov dword [esi + 0x58], ecx
jmp 0x4a83f7
cmp byte [0x51b848], bl
jne 0x4a8375
push eax
jmp 0x4a7692
mov edx, dword [edi + 0x10]
push edx
jmp 0x4a83ef
mov eax, dword [edi + 0x10]
push eax
call fcn.004b01c1
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.0040a060
push esi
call fcn.004aec60
cmp eax, ebx
je 0x4a8476
cmp eax, 0x12
je 0x4a8495
cmp eax, 0xffffffff
jne 0x4a858f
cmp eax, 0x12
je 0x4a8495
cmp eax, 0xffffffff
je 0x4a8495
mov edx, dword [esp + 0x24]
mov dword [edx], esi
inc dword [0x507340]
mov dword [esp + 0x24], ebp
jmp 0x4a8527
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x54]
mov edx, dword [0x507344]
push eax
push ecx
push edx
push ebx
mov ecx, 0x5072f4
mov dword [esp + 0x3c], 1
call fcn.0042cf40
mov eax, dword [esi + 0x3c]
push eax
call fcn.004b01c1
mov ecx, dword [esi + 0x4c]
push ecx
call fcn.004b01c1
mov edx, dword [esi + 0x50]
push edx
call fcn.004b01c1
mov eax, dword [esi + 0x54]
push eax
call fcn.004b01c1
mov eax, dword [esi + 0x58]
add esp, 0x10
cmp eax, ebx
je 0x4a84ee
push eax
call fcn.004b01c1
add esp, 4
mov eax, dword [esi + 0x60]
cmp eax, ebx
je 0x4a84fe
push eax
call fcn.004b01c1
add esp, 4
mov eax, dword [esi + 0x64]
cmp eax, ebx
je 0x4a850e
push eax
call fcn.004b01c1
add esp, 4
mov eax, dword [esi + 0x68]
cmp eax, ebx
je 0x4a851e
push eax
call fcn.004b01c1
add esp, 4
push esi
call fcn.004b01c1
add esp, 4
push edi
call fcn.00437070
mov edi, eax
cmp edi, ebx
jne 0x4a8383
cmp word [0x5258e2], bx
je 0x4a8744
cmp dword [0x508768], ebx
jne 0x4a8744
push 0x4c8110
push 0x5258e2
call fcn.004b2eb0
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
cmp esi, ebx
jne 0x4a859d
mov ecx, dword [0x507344]
push 0x5258e2
push 0x5254e2
push ecx
push ebx
mov ecx, 0x5072f4
call fcn.0042cf40
push 0x12
jmp 0x4a7692
cmp byte [0x51b848], bl
jne 0x4a8537
push eax
jmp 0x4a7692
cmp word [0x50733c], bx
je 0x4a85b5
mov edx, dword [0x508870]
push edx
call fcn.004b01c1
add esp, 4
push 0x8000
call fcn.004b00f7
add esp, 4
mov dword [0x508870], eax
cmp eax, ebx
jne 0x4a85d2
push 4
jmp 0x4a7692
push esi
push 0x7fff
push 1
push eax
call fcn.004b2cda
mov ecx, dword [0x508870]
mov word [0x50733c], ax
movzx eax, ax
add esp, 0x10
mov byte [eax + ecx], bl
cmp dword [0x5260e4], 2
jne 0x4a860b
mov eax, dword [0x508870]
push eax
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
cmp dword [0x5260e4], 3
jne 0x4a873b
mov ecx, dword [0x508870]
mov al, byte [ecx]
mov dword [esp + 0x20], ecx
cmp al, 0xff
jne 0x4a8635
cmp byte [ecx + 1], 0xfe
jne 0x4a8635
mov edi, 1
jmp 0x4a8637
xor edi, edi
cmp al, 0xfe
jne 0x4a8648
cmp byte [ecx + 1], 0xff
jne 0x4a8648
mov ebp, 1
jmp 0x4a864a
xor ebp, ebp
movzx edx, word [0x50733c]
inc edx
push edx
lea ecx, [esp + 0x3c]
call fcn.0040b9a0
mov dword [esp + 0x2d3c], 1
xor edx, edx
lea ecx, [edx + 2]
cmp edi, ebx
jne 0x4a8679
cmp ebp, ebx
jne 0x4a8679
lea edi, [edx + 1]
xor ecx, ecx
movzx eax, word [0x50733c]
mov esi, dword [esp + 0x38]
cmp ecx, eax
jae 0x4a86cf
lea eax, [ecx + ebp]
add eax, dword [esp + 0x20]
sub edi, ebp
mov dword [esp + 0x20], edi
jmp 0x4a86a4
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 [0x50733c]
add ecx, 2
inc edx
add eax, 2
cmp ecx, edi
jb 0x4a86a0
xor ecx, ecx
push 0x7fff
mov word [esi + edx*2], cx
mov edx, dword [0x508870]
push ebx
push edx
call fcn.004b0470
mov eax, dword [0x508870]
add esp, 0xc
push 0x7ffe
push eax
push esi
call fcn.004770a0
mov ecx, dword [0x508870]
mov byte [ecx + 0x7ffe], bl
mov eax, dword [0x508870]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4a8710
sub eax, edx
mov word [0x50733c], ax
mov dword [esp + 0x2d3c], 0xffffffff
cmp esi, ebx
je 0x4a8737
push esi
call fcn.004b01c1
add esp, 4
mov esi, dword [esp + 0x24]
push esi
call fcn.004b2d6e
add esp, 4
mov esi, dword [0x508868]
mov ecx, dword [0x507348]
mov edx, dword [0x50734c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov edi, ecx
mov ebp, edx
cmp esi, ebx
je 0x4a87be
cmp dword [0x50876c], ebx
je 0x4a8773
cmp byte [esi + 0x74], bl
je 0x4a87b7
push esi
call fcn.004abfa0
cmp eax, ebx
jne 0x4a75ce
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 [0x507348]
cdq
add ecx, eax
adc dword [0x50734c], edx
add dword [esp + 0x24], 1
mov edx, dword [0x50734c]
mov dword [0x507348], ecx
adc dword [esp + 0x28], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4a8766
sub ecx, edi
sbb edx, ebp
mov eax, ecx
mov ecx, edx
mov edx, dword [0x508870]
push edx
movzx edx, word [0x50733c]
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.004ac390
cmp eax, ebx
je 0x4a87f2
push eax
jmp 0x4a7692
mov edx, dword [0x5087cc]
push edx
call fcn.004b2d6e
add esp, 4
test eax, eax
jne 0x4a767d
mov eax, dword [0x5087d0]
mov dword [0x5087cc], ebx
cmp eax, ebx
je 0x4a8827
push eax
call fcn.004b2d6e
add esp, 4
mov dword [0x5087d0], ebx
cmp byte [0x51b848], bl
je 0x4a888c
mov eax, dword [0x5087c8]
push eax
call fcn.00435910
mov ecx, dword [0x527228]
or ecx, dword [0x52722c]
je 0x4a8a3a
xor esi, esi
cmp dword [0x5087fc], ebx
jbe 0x4a8a3a
lea ebx, [ebx]
mov edx, dword [0x507344]
push esi
push edx
call fcn.00438200
mov edi, eax
push edi
call fcn.00435910
push edi
call fcn.004b01c1
inc esi
add esp, 4
cmp esi, dword [0x5087fc]
jb 0x4a8860
jmp 0x4a8a3a
cmp word [0x5240e0], bx
je 0x4a8981
push 0x5240e0
mov esi, 0x4c6e38
call fcn.00455e90
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4a88ce
cmp cx, bx
je 0x4a88ca
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4a88ce
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4a88a8
xor eax, eax
jmp 0x4a88d3
sbb eax, eax
sbb eax, 0xffffffff
mov esi, 0x4c6acc
cmp eax, ebx
je 0x4a88e1
mov esi, 0x4c6e10
mov eax, dword [0x507344]
push esi
push eax
call fcn.00456290
test al, al
jne 0x4a8981
mov ecx, dword [0x507344]
push 0x400
push ecx
lea edx, [esp + 0x1510]
push edx
call fcn.0046fc70
push esi
lea eax, [esp + 0x150c]
push eax
call fcn.00457e10
lea ecx, [esp + 0x1508]
push ecx
call fcn.00435620
test al, al
je 0x4a8956
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea edx, [esp + 0x1518]
push edx
push ebx
call fcn.0040b2f0
cmp al, 0x43
je 0x4a894f
cmp al, 0x4e
jne 0x4a8956
push 9
jmp 0x4a7692
mov eax, dword [0x507344]
push eax
call fcn.004b01c1
lea ecx, [esp + 0x150c]
push ecx
call fcn.004b17b4
add esp, 8
mov dword [0x507344], eax
cmp eax, ebx
jne 0x4a8986
push 4
jmp 0x4a7692
mov eax, dword [0x507344]
mov edx, dword [0x5087c8]
push edx
push eax
call fcn.00438790
mov esi, eax
cmp esi, ebx
je 0x4a89ff
mov eax, dword [0x507344]
mov ecx, dword [0x5087c8]
push eax
push ecx
push 0x207
call fcn.00466860
push eax
push ebx
call fcn.00499dd0
add esp, 0x10
mov ecx, 0x5072f4
call fcn.0042caa0
cmp esi, 0xf
jne 0x4a89e4
mov edx, dword [0x507344]
push edx
call fcn.00435620
test al, al
je 0x4a89e4
mov eax, dword [0x507344]
push eax
call fcn.00435910
mov ecx, dword [0x5087c8]
push ecx
call fcn.004b01c1
add esp, 4
mov dword [0x5087c8], ebx
push esi
jmp 0x4a7692
mov edx, dword [0x5087c8]
push edx
call fcn.004b01c1
mov eax, dword [0x5087e0]
add esp, 4
cmp eax, ebx
je 0x4a8a24
push eax
mov eax, dword [0x507344]
push eax
push ebx
call fcn.004356e0
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x28]
jne 0x4a8a3a
mov ecx, dword [0x507344]
push ecx
call fcn.00435910
mov dword [0x5087c8], ebx
cmp byte [0x527214], bl
je 0x4a8a97
cmp byte [0x51b848], bl
jne 0x4a8a97
mov esi, dword [0x508868]
cmp esi, ebx
je 0x4a8a97
lea ebx, [ebx]
cmp dword [esi + 0x6c], ebx
je 0x4a8a90
mov edx, dword [esi + 0x60]
push edx
call fcn.004af6f0
test eax, eax
jne 0x4a8a90
mov eax, dword [esi + 0x60]
push eax
push 0x4bf
call fcn.00466860
mov ecx, dword [0x507344]
push eax
push ecx
call fcn.00499dd0
add esp, 0xc
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4a8a60
mov edx, dword [esp + 0x18]
push edx
call fcn.004b01c1
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.004a6c20
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.004affec
add esp, 0x2d2c
ret