Function at 0x4a6f80
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 0x4a6fe0
mov cl, byte [eax]
or ebp, 0xffffffff
cmp cl, byte [esi]
jne 0x4a7003
cmp cl, bl
je 0x4a6fff
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x4a7003
add eax, 2
add esi, 2
cmp cl, bl
jne 0x4a6fe0
xor eax, eax
jmp 0x4a7007
sbb eax, eax
sbb eax, ebp
cmp eax, ebx
jne 0x4a7015
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 0x4a7083
cmp byte [0x528c63], 0x4e
mov byte [esp + 0x16], 1
je 0x4a7087
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 0x4a726b
cmp eax, 0x7fffffff
jne 0x4a720d
cmp ecx, eax
je 0x4a726b
push 0x529c92
call fcn.00435620
test al, al
jne 0x4a726b
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 0x4a726b
push 0x4c6e10
push 0x529c92
call fcn.00456290
test al, al
je 0x4a7262
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 0x4a72fc
push 0x4c6acc
push 0x529c92
call fcn.00456290
test al, al
jne 0x4a72fc
mov eax, 0x529c92
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4a72d0
sub eax, edx
sar eax, 1
cmp eax, 0x3fa
jbe 0x4a72ed
push 5
call fcn.004a68d0
push 0x4c6acc
push 0x529c92
call fcn.00457e10
push 0x529c92
call fcn.004b17b4
add esp, 4
mov dword [0x507344], eax
cmp eax, ebx
jne 0x4a7319
push 4
call fcn.004a68d0
cmp dword [0x508768], ebx
je 0x4a7376
push eax
call fcn.00456220
mov esi, eax
cmp esi, ebx
je 0x4a7371
cmp word [esi], 0x2e
jne 0x4a7371
movzx eax, word [esi + 2]
push eax
call fcn.004b14d1
add esp, 4
cmp eax, 0x5a
jne 0x4a7371
movzx ecx, word [esi + 4]
push ecx
call fcn.0046fa10
test al, al
je 0x4a7371
movzx edx, word [esi + 6]
push edx
call fcn.0046fa10
test al, al
je 0x4a7371
mov eax, dword [0x507344]
push 0x4c6acc
push eax
call fcn.00457e10
mov eax, dword [0x507344]
cmp dword [0x5087d4], ebx
jne 0x4a739c
push eax
call fcn.004b17b4
add esp, 4
mov dword [0x5087d4], eax
cmp eax, ebx
jne 0x4a7397
push 4
call fcn.004a68d0
mov eax, dword [0x507344]
push eax
call fcn.004b17b4
add esp, 4
mov dword [0x5087dc], eax
cmp eax, ebx
jne 0x4a73b5
push 4
call fcn.004a68d0
mov dl, byte [0x528c62]
cmp dl, 0x44
jne 0x4a7413
cmp dword [0x4d7f38], ebp
jne 0x4a73f2
cmp dword [0x508760], ebx
jne 0x4a73f2
cmp dword [0x50875c], ebx
jne 0x4a73f2
cmp word [0x526cec], bx
jne 0x4a73f2
cmp dword [0x54a6b0], ebx
jne 0x4a73f2
cmp word [0x5258e2], bx
je 0x4a7413
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 0x4a7427
cmp eax, 2
jne 0x4a7432
cmp ecx, ebx
je 0x4a7432
xor eax, eax
mov dword [0x508768], eax
cmp dword [0x508840], ebx
je 0x4a7449
cmp eax, ebx
jne 0x4a7442
cmp ecx, ebx
je 0x4a7449
push 0x10
call fcn.004a68d0
cmp dl, 0x41
je 0x4a745d
cmp dword [0x50876c], ebx
je 0x4a745d
push 0x10
call fcn.004a68d0
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 0x4a76ef
xor eax, eax
jmp 0x4a74a0
movzx ecx, word [eax + 0x4c9fd4]
mov word [esp + eax + 0x1508], cx
add eax, 2
cmp cx, bx
jne 0x4a74a0
mov edx, dword [0x507344]
push edx
call fcn.00455e90
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4a74c5
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 0x4a74e0
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.0048c550
lea eax, [esp + 0x1508]
push eax
call fcn.00435620
test al, al
je 0x4a757f
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea ecx, [esp + 0x1518]
push ecx
push ebx
call fcn.0040b2f0
cmp al, 0x4e
je 0x4a75ab
cmp al, 0x43
je 0x4a75ab
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 0x4a75b6
push 4
call fcn.004a68d0
lea ecx, [esp + 0x68]
push ecx
push ebx
jmp 0x4a8ad5
push 0x4c8108
push eax
call fcn.004b2eb0
add esp, 8
mov dword [0x5087cc], eax
cmp eax, ebx
jne 0x4a75e5
mov eax, dword [0x5087c8]
push eax
push ebx
mov ecx, 0x5072f4
call fcn.0042d2a0
push 0xa
call fcn.004a68d0
call fcn.004ae8d0
cmp eax, ebx
je 0x4a75f4
push eax
call fcn.004a68d0
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 0x4a7658
push esi
call fcn.004abfb0
cmp eax, ebx
jne 0x4a75ee
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 0x4a7615
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.004ac3a0
cmp eax, ebx
je 0x4a768a
push eax
call fcn.004a68d0
mov ecx, dword [0x5087cc]
push ecx
call fcn.004b2d6e
add esp, 4
test eax, eax
je 0x4a76b7
mov eax, dword [0x5087c8]
push eax
push ebx
push eax
push ebx
mov ecx, 0x5072f4
call fcn.0042d130
push 0xa
call fcn.004a68d0
mov eax, dword [0x5087d0]
cmp eax, ebx
je 0x4a76cf
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 0x4a8ad5
call fcn.004ae8d0
cmp eax, ebx
je 0x4a76fe
push eax
call fcn.004a68d0
mov eax, dword [0x508840]
cmp eax, ebp
jne 0x4a770f
mov dword [0x508840], ebx
jmp 0x4a7786
cmp dword [0x508768], ebx
jne 0x4a7786
cmp eax, ebx
jne 0x4a7786
cmp dword [0x5087e4], edi
jbe 0x4a7786
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 0x4a7758
mov eax, 0x12
jmp 0x4a8ada
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 0x4a77e8
mov eax, dword [0x507344]
push eax
call fcn.00455c70
test al, al
je 0x4a77e8
movsx ecx, byte [0x528c62]
push ecx
push 0x4c70d8
call fcn.004af9c0
add esp, 8
test eax, eax
je 0x4a77e8
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 0x4a7804
call fcn.00482640
cmp eax, ebx
je 0x4a7804
cmp eax, ebp
je 0x4a7804
push eax
call fcn.004a68d0
cmp byte [0x528c62], 0x41
jne 0x4a7812
call fcn.00482360
call fcn.00437190
cmp dword [0x507340], ebx
je 0x4a782d
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 0x4a7ab4
lea esp, [esp]
cmp dword [0x50876c], ebx
je 0x4a787c
cmp dword [esi + 0x6c], ebx
setne al
mov byte [esi + 0x74], al
cmp al, bl
jne 0x4a787c
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp dword [esi + 0x6c], ebx
je 0x4a7aa3
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 0x4a79c5
cmp al, 0x41
jne 0x4a78ca
cmp byte [0x527219], bl
jne 0x4a78ca
cmp byte [0x527218], bl
je 0x4a79c5
cmp dword [esi + 0x60], ebx
jne 0x4a78ea
mov eax, dword [esi + 0x58]
cmp eax, ebx
je 0x4a78de
push eax
call fcn.00481a80
jmp 0x4a78e7
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 0x4a794a
cmp byte [0x527219], bl
jne 0x4a7919
cmp byte [0x527218], bl
je 0x4a7982
lea eax, [esp + 0x38]
push eax
push esi
call fcn.004822b0
test al, al
je 0x4a7940
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 0x4a7946
cmp edi, dword [esi + 8]
setbe al
cmp al, bl
je 0x4a7982
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 0x4a7aa3
mov ecx, dword [esi + 0x18]
sub dword [0x54a6a8], ecx
mov edx, dword [esi + 0x1c]
sbb dword [0x54a6ac], edx
jmp 0x4a7aa3
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x4a79b3
cmp eax, 0xfffffffe
jne 0x4a799d
cmp ecx, 0xffffffff
je 0x4a79b3
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x34]
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x1c], eax
jmp 0x4a7aa3
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
jmp 0x4a7aa3
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp al, 0x44
je 0x4a7aa3
mov eax, dword [0x5271f8]
cmp eax, ebx
je 0x4a7aa3
cmp eax, 2
sete byte [esp + 0x17]
cmp eax, 4
jne case.default.0x4a7a6c
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 0x4a7a64
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.0x4a7a6c
jmp dword [edi*4 + 0x4a8b04]
mov dword [0x5271f8], 1
jmp case.default.0x4a7a6c
mov dword [0x5271f8], 2
jmp case.0x4a7a6c.2
push 0xff
mov ecx, 0x5072f4
call fcn.0042d1d0
cmp byte [esp + 0x17], bl
je 0x4a7aa3
mov dword [esi + 0x6c], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4a7860
mov esi, dword [0x508868]
mov edi, dword [0x508874]
cmp edi, ebx
je 0x4a7b1b
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 0x4a7b09
cmp byte [0x527218], bl
jne 0x4a7aef
mov edx, dword [edi + 0x14]
push ebx
push ebx
push ebx
push edx
call fcn.00481e40
cmp byte [0x528c62], 0x44
je 0x4a7b09
cmp byte [0x527218], bl
jne 0x4a7b09
cmp eax, ebx
je 0x4a7b09
mov edi, dword [edi + 0x2c]
jmp 0x4a7b11
push edi
call fcn.00437070
mov edi, eax
cmp edi, ebx
jne 0x4a7abe
mov esi, dword [0x508868]
or ebp, dword [esp + 0x1c]
mov edx, dword [0x54a6bc]
jne 0x4a7b77
cmp dword [0x508874], ebx
jne 0x4a7b77
cmp byte [esp + 0x16], bl
jne 0x4a7b77
mov edi, dword [0x508768]
mov eax, dword [0x527244]
mov ebp, dword [0x508770]
cmp esi, ebx
je 0x4a7bbc
cmp eax, 2
je 0x4a7b77
mov cl, byte [0x528c62]
cmp cl, 0x53
je 0x4a7b77
cmp edi, ebx
jne 0x4a7b77
cmp ebp, ebx
jne 0x4a7b77
cmp edx, ebx
jne 0x4a7b77
cmp dword [0x54a6b0], ebx
jne 0x4a7b77
cmp word [0x5258e2], bx
je 0x4a7bc2
mov ebp, 1
cmp esi, ebx
je 0x4a7c38
cmp dword [0x5087e4], ebp
je 0x4a7c38
mov eax, dword [0x507358]
cmp eax, 4
jne 0x4a7c3d
cmp dword [0x50735c], ebx
jne 0x4a7c3d
xor eax, eax
mov dword [0x507358], eax
mov dword [0x50735c], ebx
jmp 0x4a7c3d
mov cl, byte [0x528c62]
cmp byte [0x527219], bl
jne 0x4a7c2c
cmp byte [0x527218], bl
jne 0x4a7c2c
cmp esi, ebx
jne 0x4a7bee
cmp eax, 2
je 0x4a7be7
cmp edi, ebx
jne 0x4a7be7
cmp ebp, ebx
jne 0x4a7be7
cmp edx, ebx
je 0x4a7bee
push 0xd
call fcn.004a68d0
cmp cl, 0x41
jne 0x4a7c06
push 0x340
call fcn.00466860
push eax
mov eax, dword [0x507344]
push eax
jmp 0x4a7c1d
cmp cl, 0x44
jne 0x4a7c25
push 0x346
call fcn.00466860
mov ecx, dword [0x507344]
push eax
push ecx
call fcn.00499df0
add esp, 8
push 0xc
call fcn.004a68d0
lea edx, [esp + 0x68]
push edx
push 0xc
jmp 0x4a8ad5
mov eax, dword [0x507358]
cmp dword [0x54a6b8], ebx
je 0x4a7c5b
cmp esi, ebx
jne 0x4a7c5b
mov ecx, eax
or ecx, dword [0x50735c]
jne 0x4a7c5b
mov dword [0x5087e0], ebx
jmp 0x4a7ca0
mov edx, dword [0x507344]
push edx
push ebx
call fcn.004356b0
mov dword [0x5087e0], eax
cmp eax, 0xffffffff
jne 0x4a7c78
mov dword [0x5087e0], ebx
mov eax, dword [0x507358]
cmp dword [0x508868], ebx
jne 0x4a7ca0
mov ecx, eax
or ecx, dword [0x50735c]
jne 0x4a7ca0
mov edx, dword [0x507344]
push edx
call fcn.00435910
mov eax, dword [0x507358]
cmp dword [0x54a6bc], ebx
je 0x4a7cb5
xor eax, eax
mov dword [0x507358], eax
mov dword [0x50735c], ebx
or eax, dword [0x50735c]
mov dword [0x507348], ebx
mov dword [0x50734c], ebx
je 0x4a7d33
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 0x4a7d33
push ebx
call fcn.00438a00
test eax, eax
jne 0x4a7d51
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 0x4a7cf1
mov ecx, dword [0x507344]
push ecx
call fcn.00435620
cmp al, bl
je 0x4a7d69
mov edx, dword [0x507344]
push edx
call fcn.004372f0
jmp 0x4a7d77
mov eax, dword [0x5087d8]
push eax
push ebx
mov ecx, 0x5072f4
call fcn.0042d280
push 9
call fcn.004a68d0
mov eax, dword [0x507344]
push eax
call fcn.004b17b4
add esp, 4
mov dword [0x5087c8], eax
cmp eax, ebx
jne 0x4a7d87
push 4
call fcn.004a68d0
push 0x4c8108
push eax
call fcn.004b2eb0
add esp, 8
mov dword [0x5087cc], eax
cmp eax, ebx
je 0x4a769d
push 0x4000
call fcn.004b00f7
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
jne 0x4a7dbe
push 4
jmp 0x4a76b2
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 0x4a7df6
mov dword [0x4d7f48], ebx
mov dword [0x5087a8], ebp
cmp word [0x5240e0], bx
je 0x4a7fe2
push 0x5240e0
mov esi, 0x4c6e38
call fcn.00455e90
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4a7e38
cmp cx, bx
je 0x4a7e34
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4a7e38
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4a7e12
xor eax, eax
jmp 0x4a7e3d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4a7ece
push ebx
push 0x4c8358
push 0x5240e0
call fcn.00435dd0
mov edi, eax
cmp edi, ebx
jne 0x4a7e72
push 0x529c92
push ebx
mov ecx, 0x5072f4
call fcn.0042d280
push 0x12
jmp 0x4a76b2
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 0x4a7ec5
nop
push ebx
push esi
push ebp
lea ecx, [esp + 0x1d3c]
push ecx
call fcn.00438350
cmp eax, esi
jne 0x4a7fbf
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 0x4a7e90
push edi
call fcn.004b2d6e
add esp, 4
mov eax, dword [0x5087d0]
cmp eax, ebx
je 0x4a7ef1
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 0x4a7f48
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 0x4a7f70
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 0x4a8395
cmp dword [esi + 0x6c], ebp
jne 0x4a8183
cmp byte [0x528c62], 0x44
je 0x4a80e1
push esi
lea eax, [esp + 0x24]
push eax
call fcn.004ad7c0
test eax, eax
je 0x4a8018
mov cx, word [esi + 4]
xor edx, edx
mov word [esi + 0x2e], cx
mov word [esi + 0x22], dx
jmp 0x4a807c
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 0x4a76b2
cmp dword [0x5087d0], ebx
je 0x4a7ef1
mov ecx, dword [0x507358]
mov eax, dword [0x50735c]
mov edx, ecx
or edx, eax
je 0x4a7ece
push eax
push ecx
call fcn.00438af0
cmp eax, ebx
je 0x4a7ece
push eax
jmp 0x4a76b2
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 0x4a805e
mov edx, dword [eax + 0x4c]
push edx
call fcn.004b01c1
mov eax, dword [esp + 0x24]
add esp, 4
cmp word [eax + 0x20], bx
je 0x4a805e
mov eax, dword [eax + 0x3c]
push eax
call fcn.004b01c1
mov eax, dword [esp + 0x24]
add esp, 4
cmp dword [eax + 0x58], ebx
je 0x4a8073
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 0x4a80a2
cmp eax, 0x12
je 0x4a80b0
cmp eax, 0xffffffff
jne 0x4a83f7
cmp eax, 0x12
je 0x4a80b0
cmp eax, 0xffffffff
jne 0x4a8384
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.004ac7a0
cmp eax, ebx
jne 0x4a75ee
mov dword [esi + 0x6c], ebx
jmp 0x4a8384
cmp byte [0x51b848], bl
jne 0x4a8395
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 0x4a8129
push eax
call fcn.004b01c1
add esp, 4
cmp word [esi + 0x22], bx
je 0x4a813f
mov eax, dword [esi + 0x40]
cmp eax, ebx
je 0x4a813f
push eax
call fcn.004b01c1
add esp, 4
cmp word [esi + 0x24], bx
je 0x4a8156
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x40]
je 0x4a8156
push eax
call fcn.004b01c1
add esp, 4
cmp word [esi + 0x26], bx
je 0x4a8168
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 0x4a838b
cmp dword [0x50876c], ebx
je 0x4a8194
cmp byte [esi + 0x74], bl
je 0x4a8384
cmp byte [0x528c62], 0x44
jne 0x4a81a8
mov ecx, dword [esi + 0x54]
push ebp
push ebx
push ecx
call fcn.0040aea0
mov edi, dword [0x508768]
cmp byte [esp + 0x16], bl
je 0x4a8370
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 0x4a8359
cmp byte [esp + 0x17], bl
je 0x4a82ba
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.004ac7a0
mov dword [0x508768], edi
cmp eax, ebx
jne 0x4a75ee
lea edi, [esi + 0x78]
mov dword [esp + 0x24], edi
mov esi, dword [edi]
cmp esi, ebx
jne 0x4a7f87
mov edi, dword [0x508874]
cmp edi, ebx
je 0x4a8557
cmp byte [0x51b848], bl
jne 0x4a8557
push 0x80
call fcn.004b00f7
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4a7312
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 0x4a840b
cmp eax, ebx
jne 0x4a8405
mov ecx, dword [edi + 0x10]
mov dword [esi + 0x58], ecx
jmp 0x4a8417
cmp byte [0x51b848], bl
jne 0x4a8395
push eax
jmp 0x4a76b2
mov edx, dword [edi + 0x10]
push edx
jmp 0x4a840f
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 0x4a8496
cmp eax, 0x12
je 0x4a84b5
cmp eax, 0xffffffff
jne 0x4a85af
cmp eax, 0x12
je 0x4a84b5
cmp eax, 0xffffffff
je 0x4a84b5
mov edx, dword [esp + 0x24]
mov dword [edx], esi
inc dword [0x507340]
mov dword [esp + 0x24], ebp
jmp 0x4a8547
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 0x4a850e
push eax
call fcn.004b01c1
add esp, 4
mov eax, dword [esi + 0x60]
cmp eax, ebx
je 0x4a851e
push eax
call fcn.004b01c1
add esp, 4
mov eax, dword [esi + 0x64]
cmp eax, ebx
je 0x4a852e
push eax
call fcn.004b01c1
add esp, 4
mov eax, dword [esi + 0x68]
cmp eax, ebx
je 0x4a853e
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 0x4a83a3
cmp word [0x5258e2], bx
je 0x4a8764
cmp dword [0x508768], ebx
jne 0x4a8764
push 0x4c8110
push 0x5258e2
call fcn.004b2eb0
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
cmp esi, ebx
jne 0x4a85bd
mov ecx, dword [0x507344]
push 0x5258e2
push 0x5254e2
push ecx
push ebx
mov ecx, 0x5072f4
call fcn.0042cf40
push 0x12
jmp 0x4a76b2
cmp byte [0x51b848], bl
jne 0x4a8557
push eax
jmp 0x4a76b2
cmp word [0x50733c], bx
je 0x4a85d5
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 0x4a85f2
push 4
jmp 0x4a76b2
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 0x4a862b
mov eax, dword [0x508870]
push eax
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
cmp dword [0x5260e4], 3
jne 0x4a875b
mov ecx, dword [0x508870]
mov al, byte [ecx]
mov dword [esp + 0x20], ecx
cmp al, 0xff
jne 0x4a8655
cmp byte [ecx + 1], 0xfe
jne 0x4a8655
mov edi, 1
jmp 0x4a8657
xor edi, edi
cmp al, 0xfe
jne 0x4a8668
cmp byte [ecx + 1], 0xff
jne 0x4a8668
mov ebp, 1
jmp 0x4a866a
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 0x4a8699
cmp ebp, ebx
jne 0x4a8699
lea edi, [edx + 1]
xor ecx, ecx
movzx eax, word [0x50733c]
mov esi, dword [esp + 0x38]
cmp ecx, eax
jae 0x4a86ef
lea eax, [ecx + ebp]
add eax, dword [esp + 0x20]
sub edi, ebp
mov dword [esp + 0x20], edi
jmp 0x4a86c4
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 0x4a86c0
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 0x4a8730
sub eax, edx
mov word [0x50733c], ax
mov dword [esp + 0x2d3c], 0xffffffff
cmp esi, ebx
je 0x4a8757
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 0x4a87de
cmp dword [0x50876c], ebx
je 0x4a8793
cmp byte [esi + 0x74], bl
je 0x4a87d7
push esi
call fcn.004abfb0
cmp eax, ebx
jne 0x4a75ee
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 0x4a8786
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.004ac3a0
cmp eax, ebx
je 0x4a8812
push eax
jmp 0x4a76b2
mov edx, dword [0x5087cc]
push edx
call fcn.004b2d6e
add esp, 4
test eax, eax
jne 0x4a769d
mov eax, dword [0x5087d0]
mov dword [0x5087cc], ebx
cmp eax, ebx
je 0x4a8847
push eax
call fcn.004b2d6e
add esp, 4
mov dword [0x5087d0], ebx
cmp byte [0x51b848], bl
je 0x4a88ac
mov eax, dword [0x5087c8]
push eax
call fcn.00435910
mov ecx, dword [0x527228]
or ecx, dword [0x52722c]
je 0x4a8a5a
xor esi, esi
cmp dword [0x5087fc], ebx
jbe 0x4a8a5a
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 0x4a8880
jmp 0x4a8a5a
cmp word [0x5240e0], bx
je 0x4a89a1
push 0x5240e0
mov esi, 0x4c6e38
call fcn.00455e90
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4a88ee
cmp cx, bx
je 0x4a88ea
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4a88ee
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4a88c8
xor eax, eax
jmp 0x4a88f3
sbb eax, eax
sbb eax, 0xffffffff
mov esi, 0x4c6acc
cmp eax, ebx
je 0x4a8901
mov esi, 0x4c6e10
mov eax, dword [0x507344]
push esi
push eax
call fcn.00456290
test al, al
jne 0x4a89a1
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 0x4a8976
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea edx, [esp + 0x1518]
push edx
push ebx
call fcn.0040b2f0
cmp al, 0x43
je 0x4a896f
cmp al, 0x4e
jne 0x4a8976
push 9
jmp 0x4a76b2
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 0x4a89a6
push 4
jmp 0x4a76b2
mov eax, dword [0x507344]
mov edx, dword [0x5087c8]
push edx
push eax
call fcn.00438790
mov esi, eax
cmp esi, ebx
je 0x4a8a1f
mov eax, dword [0x507344]
mov ecx, dword [0x5087c8]
push eax
push ecx
push 0x207
call fcn.00466860
push eax
push ebx
call fcn.00499df0
add esp, 0x10
mov ecx, 0x5072f4
call fcn.0042caa0
cmp esi, 0xf
jne 0x4a8a04
mov edx, dword [0x507344]
push edx
call fcn.00435620
test al, al
je 0x4a8a04
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 0x4a76b2
mov edx, dword [0x5087c8]
push edx
call fcn.004b01c1
mov eax, dword [0x5087e0]
add esp, 4
cmp eax, ebx
je 0x4a8a44
push eax
mov eax, dword [0x507344]
push eax
push ebx
call fcn.004356e0
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x28]
jne 0x4a8a5a
mov ecx, dword [0x507344]
push ecx
call fcn.00435910
mov dword [0x5087c8], ebx
cmp byte [0x527214], bl
je 0x4a8ab7
cmp byte [0x51b848], bl
jne 0x4a8ab7
mov esi, dword [0x508868]
cmp esi, ebx
je 0x4a8ab7
lea ebx, [ebx]
cmp dword [esi + 0x6c], ebx
je 0x4a8ab0
mov edx, dword [esi + 0x60]
push edx
call fcn.004af6f0
test eax, eax
jne 0x4a8ab0
mov eax, dword [esi + 0x60]
push eax
push 0x4bf
call fcn.00466860
mov ecx, dword [0x507344]
push eax
push ecx
call fcn.00499df0
add esp, 0xc
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4a8a80
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.004a6c50
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