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

Disassembly:
push 0xffffffffffffffff
push 0x4c66b6
mov eax, dword fs:[0]
push eax
mov eax, 0x2d20
call fcn.004b1040
mov eax, dword [0x4da8f0]
xor eax, esp
mov dword [esp + 0x2d1c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4da8f0]
xor eax, esp
push eax
lea eax, [esp + 0x2d34]
mov dword fs:[0], eax
mov ecx, 0x509888
call fcn.00445020
xor ebx, ebx
mov dword [0x509778], ebx
mov esi, 0x4caff4
mov eax, 0x529c72
jmp 0x4a7fe0
mov cl, byte [eax]
or ebp, 0xffffffff
cmp cl, byte [esi]
jne 0x4a8003
cmp cl, bl
je 0x4a7fff
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x4a8003
add eax, 2
add esi, 2
cmp cl, bl
jne 0x4a7fe0
xor eax, eax
jmp 0x4a8007
sbb eax, eax
sbb eax, ebp
cmp eax, ebx
jne 0x4a8015
mov dword [0x509778], 2
xor eax, eax
cmp byte [0x5282ef], bl
mov edi, 1
setne al
cmp byte [0x529c72], 0x52
mov dword [0x5097ec], ebx
mov dword [0x54b6d8], ebx
mov dword [0x54b6dc], ebx
mov dword [0x54b6e0], ebx
mov dword [0x54b6e4], ebx
mov dword [0x50977c], eax
mov dword [0x508340], ebx
mov dword [0x50976c], ebx
mov dword [0x509770], ebx
mov dword [0x4d8f34], edi
mov dword [0x509774], ebx
mov dword [0x509780], ebx
jne 0x4a8083
cmp byte [0x529c73], 0x4e
mov byte [esp + 0x16], 1
je 0x4a8087
mov byte [esp + 0x16], bl
mov ecx, dword [0x52820c]
mov eax, dword [0x528238]
neg ecx
sbb ecx, ecx
mov dword [0x4d8f38], ecx
mov ecx, dword [0x52823c]
mov edx, eax
or edx, ecx
mov dword [0x509784], ebx
mov dword [0x5097cc], ebx
mov dword [0x509788], ebx
mov dword [0x509790], ebx
mov dword [0x509798], ebx
mov dword [0x50979c], ebx
mov dword [0x5097a0], ebx
mov dword [0x5097a8], ebx
mov dword [0x5097ac], ebx
mov dword [0x5097b0], ebx
mov dword [0x5097b4], ebx
mov dword [0x4d8f3c], edi
mov dword [0x5097a4], ebx
mov dword [0x4d8f40], edi
mov dword [0x4d8f44], edi
mov dword [0x5097b8], ebx
mov dword [0x4d8f48], edi
mov dword [0x4d8f4c], ebp
mov dword [0x5097c4], ebx
mov dword [0x5097c8], ebx
mov dword [0x5097d0], ebx
mov dword [0x5097d4], ebx
mov dword [0x509884], ebx
mov dword [0x4d8f54], 0x509884
mov dword [0x508354], ebx
mov dword [0x5097d8], ebx
mov dword [0x5097dc], ebx
mov dword [0x5097e0], ebx
mov dword [0x5097e8], ebx
mov dword [0x5097e4], ebx
mov dword [0x5097f4], ebx
mov dword [0x5097f8], ebx
mov dword [0x509800], ebx
mov dword [0x509804], ebx
mov dword [0x5097fc], ebx
mov dword [0x509828], ebx
mov dword [0x509830], ebx
mov dword [0x509834], ebx
mov dword [0x509808], ebx
mov dword [0x50980c], ebx
mov dword [0x4d8f50], ebp
mov dword [0x509810], ebx
mov dword [0x509814], ebx
mov dword [0x509818], ebx
mov dword [0x50981c], ebx
mov dword [0x509820], ebx
mov dword [0x509824], ebx
mov dword [0x50982c], ebx
mov dword [0x509838], ebx
mov dword [0x509840], ebx
mov dword [0x509844], ebx
mov dword [0x509848], ebx
mov dword [0x50984c], ebx
mov dword [0x50983c], ebx
mov dword [0x509850], ebx
mov dword [0x509858], ebx
mov dword [0x50985c], ebx
je 0x4a826b
cmp eax, 0x7fffffff
jne 0x4a820d
cmp ecx, eax
je 0x4a826b
push 0x52aca2
call fcn.00435ac0
test al, al
jne 0x4a826b
mov eax, dword [0x528238]
mov ecx, dword [0x52823c]
mov dword [0x509858], eax
mov dword [0x50985c], ecx
mov dword [0x509850], edi
cmp word [0x5250f0], bx
je 0x4a826b
push 0x4c7e10
push 0x52aca2
call fcn.00456c20
test al, al
je 0x4a8262
push 0x4c7ad0
push 0x52aca2
call fcn.004587a0
xor edx, edx
mov word [0x5250f0], dx
mov dword [0x509860], ebx
mov dword [0x509864], ebx
mov dword [0x509868], ebx
mov dword [0x50986c], ebx
mov dword [0x509874], ebx
mov dword [0x50978c], ebx
call fcn.004b5131
add eax, 0x20
mov dword [0x508370], eax
call fcn.004b0670
mov dword [0x5097d8], ebx
mov dword [0x5097dc], ebx
cmp dword [0x509850], ebx
je 0x4a82fc
push 0x4c7ad0
push 0x52aca2
call fcn.00456c20
test al, al
jne 0x4a82fc
mov eax, 0x52aca2
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4a82d0
sub eax, edx
sar eax, 1
cmp eax, 0x3fa
jbe 0x4a82ed
push 5
call fcn.004a78d0
push 0x4c7ad0
push 0x52aca2
call fcn.004587a0
push 0x52aca2
call fcn.004b27f4
add esp, 4
mov dword [0x508354], eax
cmp eax, ebx
jne 0x4a8319
push 4
call fcn.004a78d0
cmp dword [0x509778], ebx
je 0x4a8376
push eax
call fcn.00456bb0
mov esi, eax
cmp esi, ebx
je 0x4a8371
cmp word [esi], 0x2e
jne 0x4a8371
movzx eax, word [esi + 2]
push eax
call fcn.004b2511
add esp, 4
cmp eax, 0x5a
jne 0x4a8371
movzx ecx, word [esi + 4]
push ecx
call fcn.00470740
test al, al
je 0x4a8371
movzx edx, word [esi + 6]
push edx
call fcn.00470740
test al, al
je 0x4a8371
mov eax, dword [0x508354]
push 0x4c7ad0
push eax
call fcn.004587a0
mov eax, dword [0x508354]
cmp dword [0x5097e4], ebx
jne 0x4a839c
push eax
call fcn.004b27f4
add esp, 4
mov dword [0x5097e4], eax
cmp eax, ebx
jne 0x4a8397
push 4
call fcn.004a78d0
mov eax, dword [0x508354]
push eax
call fcn.004b27f4
add esp, 4
mov dword [0x5097ec], eax
cmp eax, ebx
jne 0x4a83b5
push 4
call fcn.004a78d0
mov dl, byte [0x529c72]
cmp dl, 0x44
jne 0x4a8412
cmp dword [0x4d8f38], ebp
jne 0x4a83f1
cmp dword [0x509770], ebx
jne 0x4a83f1
cmp dword [0x50976c], ebx
jne 0x4a83f1
cmp byte [0x527dfc], bl
jne 0x4a83f1
cmp dword [0x54b6d8], ebx
jne 0x4a83f1
cmp word [0x5268f2], bx
je 0x4a8412
xor ecx, ecx
mov dword [0x4d8f38], ebp
mov dword [0x509770], ebx
mov dword [0x50976c], ebx
mov dword [0x54b6d8], ebx
mov word [0x5268f2], cx
mov eax, dword [0x509778]
mov ecx, dword [0x509780]
cmp eax, edi
je 0x4a8426
cmp eax, 2
jne 0x4a8431
cmp ecx, ebx
je 0x4a8431
xor eax, eax
mov dword [0x509778], eax
cmp dword [0x509850], ebx
je 0x4a8448
cmp eax, ebx
jne 0x4a8441
cmp ecx, ebx
je 0x4a8448
push 0x10
call fcn.004a78d0
cmp dl, 0x41
je 0x4a845c
cmp dword [0x50977c], ebx
je 0x4a845c
push 0x10
call fcn.004a78d0
lea ecx, [esp + 0x68]
call fcn.004010e0
push 0x14a0
lea edx, [esp + 0x6c]
push ebx
push edx
call fcn.004b14b0
mov ecx, dword [0x508354]
add esp, 0xc
push ebx
lea eax, [esp + 0x6c]
push eax
push ecx
push ebx
call fcn.0043b280
cmp dword [0x509778], 2
jne 0x4a86ef
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [eax + 0x4cb004]
mov word [esp + eax + 0x1508], cx
add eax, 2
cmp cx, bx
jne 0x4a84a0
mov edx, dword [0x508354]
push edx
call fcn.00456820
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4a84c5
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 0x4a84e0
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.004671c0
push eax
lea ecx, [esp + 0x1d38]
push ecx
mov edx, 0x4c8
call fcn.00483770
add esp, 0xc
lea edx, [esp + 0x1d30]
push edx
call fcn.0048d380
lea eax, [esp + 0x1508]
push eax
call fcn.00435ac0
test al, al
je 0x4a857f
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea ecx, [esp + 0x1518]
push ecx
push ebx
call fcn.0040b2d0
cmp al, 0x4e
je 0x4a85ab
cmp al, 0x43
je 0x4a85ab
lea edx, [esp + 0x1508]
push edx
push ebx
call fcn.004368b0
lea eax, [esp + 0x1508]
push eax
call fcn.00435da0
lea edx, [esp + 0x1508]
push edx
mov dword [0x508358], ebx
mov dword [0x50835c], ebx
call fcn.004b27f4
add esp, 4
mov dword [0x5097d8], eax
cmp eax, ebx
jne 0x4a85b6
push 4
call fcn.004a78d0
lea ecx, [esp + 0x68]
push ecx
push ebx
jmp 0x4a9ad5
push 0x4c9108
push eax
call fcn.004b3ef0
add esp, 8
mov dword [0x5097dc], eax
cmp eax, ebx
jne 0x4a85e5
mov eax, dword [0x5097d8]
push eax
push ebx
mov ecx, 0x508304
call fcn.0042d4e0
push 0xa
call fcn.004a78d0
call fcn.004af8d0
cmp eax, ebx
je 0x4a85f4
push eax
call fcn.004a78d0
mov esi, dword [0x509878]
mov ecx, dword [0x508358]
mov eax, dword [0x50835c]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp esi, ebx
je 0x4a8658
push esi
call fcn.004acfb0
cmp eax, ebx
jne 0x4a85ee
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 [0x508358]
cdq
add ecx, eax
mov eax, dword [0x50835c]
adc eax, edx
add edi, 1
mov dword [0x508358], ecx
mov dword [0x50835c], eax
mov esi, dword [esi + 0x78]
adc ebp, ebx
cmp esi, ebx
jne 0x4a8615
mov esi, dword [0x509880]
mov edx, dword [esp + 0x18]
push esi
movzx esi, word [0x50834c]
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.004ad3a0
cmp eax, ebx
je 0x4a868a
push eax
call fcn.004a78d0
mov ecx, dword [0x5097dc]
push ecx
call fcn.004b3dae
add esp, 4
test eax, eax
je 0x4a86b7
mov eax, dword [0x5097d8]
push eax
push ebx
push eax
push ebx
mov ecx, 0x508304
call fcn.0042d370
push 0xa
call fcn.004a78d0
mov eax, dword [0x5097e0]
cmp eax, ebx
je 0x4a86cf
push eax
call fcn.004b3dae
add esp, 4
mov dword [0x5097e0], ebx
mov edx, dword [0x5097d8]
push edx
call fcn.004b1201
add esp, 4
lea eax, [esp + 0x68]
push eax
mov dword [0x5097d8], ebx
push ebx
jmp 0x4a9ad5
call fcn.004af8d0
cmp eax, ebx
je 0x4a86fe
push eax
call fcn.004a78d0
mov eax, dword [0x509850]
cmp eax, ebp
jne 0x4a870f
mov dword [0x509850], ebx
jmp 0x4a8786
cmp dword [0x509778], ebx
jne 0x4a8786
cmp eax, ebx
jne 0x4a8786
cmp dword [0x5097f4], edi
jbe 0x4a8786
mov ecx, dword [0x5097e4]
push ebx
push ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.00438540
push ebx
lea edx, [esp + 0x1c]
push edx
push ebx
push eax
mov dword [0x5097e8], eax
call fcn.00482ce0
test eax, eax
jne 0x4a8758
mov eax, 0x12
jmp 0x4a9ada
mov edx, dword [0x5097e8]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push edx
mov dword [0x509850], edi
mov dword [0x509858], eax
mov dword [0x50985c], ecx
call fcn.004b1201
add esp, 4
mov dword [0x5097e8], ebx
mov dword [0x5097f8], ebx
cmp byte [0x52826b], bl
je 0x4a87e8
mov eax, dword [0x508354]
push eax
call fcn.00456600
test al, al
je 0x4a87e8
movsx ecx, byte [0x529c72]
push ecx
push 0x4c80d8
call fcn.004b0a00
add esp, 8
test eax, eax
je 0x4a87e8
mov edx, dword [0x508354]
movzx eax, word [edx]
push eax
lea ecx, [esp + 0x150c]
push 0x4c9094
push ecx
call fcn.004b106b
add esp, 0xc
lea edx, [esp + 0x1508]
push edx
call fcn.00437080
cmp byte [0x529c72], 0x44
jne 0x4a8804
call fcn.004834e0
cmp eax, ebx
je 0x4a8804
cmp eax, ebp
je 0x4a8804
push eax
call fcn.004a78d0
cmp byte [0x529c72], 0x41
jne 0x4a8812
call fcn.00483200
call fcn.00437620
cmp dword [0x508350], ebx
je 0x4a882d
mov eax, dword [0x508348]
push eax
call fcn.004b1201
add esp, 4
mov esi, dword [0x509878]
xor ebp, ebp
mov dword [0x54b6c8], ebx
mov dword [0x54b6cc], ebx
mov dword [0x54b6d0], ebx
mov dword [0x54b6d4], ebx
mov dword [esp + 0x1c], ebx
cmp esi, ebx
je 0x4a8ab4
lea esp, [esp]
cmp dword [0x50977c], ebx
je 0x4a887c
cmp dword [esi + 0x6c], ebx
setne al
mov byte [esi + 0x74], al
cmp al, bl
jne 0x4a887c
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp dword [esi + 0x6c], ebx
je 0x4a8aa3
mov ecx, dword [esi + 0x18]
add dword [0x54b6d0], ecx
mov edx, dword [esi + 0x1c]
adc dword [0x54b6d4], edx
mov eax, dword [esi + 0x18]
mov dword [esp + 0x30], eax
mov al, byte [0x529c72]
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x34], ecx
cmp al, 0x44
je 0x4a89c5
cmp al, 0x41
jne 0x4a88ca
cmp byte [0x528229], bl
jne 0x4a88ca
cmp byte [0x528228], bl
je 0x4a89c5
cmp dword [esi + 0x60], ebx
jne 0x4a88ea
mov eax, dword [esi + 0x58]
cmp eax, ebx
je 0x4a88de
push eax
call fcn.00482920
jmp 0x4a88e7
mov edx, dword [esi + 0x3c]
push edx
call fcn.004828b0
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.00482ce0
mov edi, eax
cmp edi, ebx
sete al
cmp al, bl
jne 0x4a894a
cmp byte [0x528229], bl
jne 0x4a8919
cmp byte [0x528228], bl
je 0x4a8982
lea eax, [esp + 0x38]
push eax
push esi
call fcn.00483150
test al, al
je 0x4a8940
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 0x4a8946
cmp edi, dword [esi + 8]
setbe al
cmp al, bl
je 0x4a8982
mov eax, dword [0x54b6d8]
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 0x4a8aa3
mov ecx, dword [esi + 0x18]
sub dword [0x54b6d0], ecx
mov edx, dword [esi + 0x1c]
sbb dword [0x54b6d4], edx
jmp 0x4a8aa3
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x4a89b3
cmp eax, 0xfffffffe
jne 0x4a899d
cmp ecx, 0xffffffff
je 0x4a89b3
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x34]
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x1c], eax
jmp 0x4a8aa3
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
jmp 0x4a8aa3
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp al, 0x44
je 0x4a8aa3
mov eax, dword [0x528208]
cmp eax, ebx
je 0x4a8aa3
cmp eax, 2
sete byte [esp + 0x17]
cmp eax, 4
jne case.default.0x4a8a6c
mov edx, dword [esi + 0x60]
push 0x400
lea ecx, [esp + 0x150c]
push ecx
push edx
call fcn.00456310
lea eax, [esp + 0x1508]
push eax
mov edi, 2
call fcn.004560f0
movzx ecx, word [eax]
push ecx
call fcn.00456170
test al, al
jne 0x4a8a64
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.0040b2d0
mov edx, dword [str.YNANC]
cbw
movzx eax, ax
movzx ecx, ax
push ecx
push edx
call fcn.004b0a00
sub eax, dword [str.YNANC]
add esp, 8
inc eax
mov edi, eax
add edi, 0xfffffffe
cmp edi, 3
ja case.default.0x4a8a6c
jmp dword [edi*4 + 0x4a9b04]
mov dword [0x528208], 1
jmp case.default.0x4a8a6c
mov dword [0x528208], 2
jmp case.0x4a8a6c.2
push 0xff
mov ecx, 0x508304
call fcn.0042d410
cmp byte [esp + 0x17], bl
je 0x4a8aa3
mov dword [esi + 0x6c], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4a8860
mov esi, dword [0x509878]
mov edi, dword [0x509884]
cmp edi, ebx
je 0x4a8b1b
mov eax, dword [edi + 0x20]
add dword [0x54b6d0], eax
mov ecx, dword [edi + 0x24]
adc dword [0x54b6d4], ecx
xor eax, eax
cmp byte [0x529c72], 0x44
je 0x4a8b09
cmp byte [0x528228], bl
jne 0x4a8aef
mov edx, dword [edi + 0x14]
push ebx
push ebx
push ebx
push edx
call fcn.00482ce0
cmp byte [0x529c72], 0x44
je 0x4a8b09
cmp byte [0x528228], bl
jne 0x4a8b09
cmp eax, ebx
je 0x4a8b09
mov edi, dword [edi + 0x2c]
jmp 0x4a8b11
push edi
call fcn.00437500
mov edi, eax
cmp edi, ebx
jne 0x4a8abe
mov esi, dword [0x509878]
or ebp, dword [esp + 0x1c]
mov edx, dword [0x54b6e4]
jne 0x4a8b77
cmp dword [0x509884], ebx
jne 0x4a8b77
cmp byte [esp + 0x16], bl
jne 0x4a8b77
mov edi, dword [0x509778]
mov eax, dword [0x528254]
mov ebp, dword [0x509780]
cmp esi, ebx
je 0x4a8bbc
cmp eax, 2
je 0x4a8b77
mov cl, byte [0x529c72]
cmp cl, 0x53
je 0x4a8b77
cmp edi, ebx
jne 0x4a8b77
cmp ebp, ebx
jne 0x4a8b77
cmp edx, ebx
jne 0x4a8b77
cmp dword [0x54b6d8], ebx
jne 0x4a8b77
cmp word [0x5268f2], bx
je 0x4a8bc2
mov ebp, 1
cmp esi, ebx
je 0x4a8c38
cmp dword [0x5097f4], ebp
je 0x4a8c38
mov eax, dword [0x508368]
cmp eax, 4
jne 0x4a8c3d
cmp dword [0x50836c], ebx
jne 0x4a8c3d
xor eax, eax
mov dword [0x508368], eax
mov dword [0x50836c], ebx
jmp 0x4a8c3d
mov cl, byte [0x529c72]
cmp byte [0x528229], bl
jne 0x4a8c2c
cmp byte [0x528228], bl
jne 0x4a8c2c
cmp esi, ebx
jne 0x4a8bee
cmp eax, 2
je 0x4a8be7
cmp edi, ebx
jne 0x4a8be7
cmp ebp, ebx
jne 0x4a8be7
cmp edx, ebx
je 0x4a8bee
push 0xd
call fcn.004a78d0
cmp cl, 0x41
jne 0x4a8c06
push 0x340
call fcn.004671c0
push eax
mov eax, dword [0x508354]
push eax
jmp 0x4a8c1d
cmp cl, 0x44
jne 0x4a8c25
push 0x347
call fcn.004671c0
mov ecx, dword [0x508354]
push eax
push ecx
call fcn.0049ac10
add esp, 8
push 0xc
call fcn.004a78d0
lea edx, [esp + 0x68]
push edx
push 0xc
jmp 0x4a9ad5
mov eax, dword [0x508368]
cmp dword [0x54b6e0], ebx
je 0x4a8c5b
cmp esi, ebx
jne 0x4a8c5b
mov ecx, eax
or ecx, dword [0x50836c]
jne 0x4a8c5b
mov dword [0x5097f0], ebx
jmp 0x4a8ca0
mov edx, dword [0x508354]
push edx
push ebx
call fcn.00435b40
mov dword [0x5097f0], eax
cmp eax, 0xffffffff
jne 0x4a8c78
mov dword [0x5097f0], ebx
mov eax, dword [0x508368]
cmp dword [0x509878], ebx
jne 0x4a8ca0
mov ecx, eax
or ecx, dword [0x50836c]
jne 0x4a8ca0
mov edx, dword [0x508354]
push edx
call fcn.00435da0
mov eax, dword [0x508368]
cmp dword [0x54b6e4], ebx
je 0x4a8cb5
xor eax, eax
mov dword [0x508368], eax
mov dword [0x50836c], ebx
or eax, dword [0x50836c]
mov dword [0x508358], ebx
mov dword [0x50835c], ebx
je 0x4a8d33
mov eax, dword [0x5097e4]
push ebx
push eax
call fcn.00438540
push 0x4c9110
push eax
mov dword [0x5097e8], eax
call fcn.004b3ef0
add esp, 8
mov dword [0x5097e0], eax
cmp eax, ebx
jne 0x4a8d33
push ebx
call fcn.00438e90
test eax, eax
jne 0x4a8d51
mov ecx, dword [0x5097e8]
push ecx
call fcn.004b1201
mov edx, dword [0x5097e4]
add esp, 4
push ebp
push edx
call fcn.00438540
push 0x4c9110
push eax
mov dword [0x5097e8], eax
call fcn.004b3ef0
add esp, 8
mov dword [0x5097e0], eax
cmp eax, ebx
je 0x4a8cf1
mov ecx, dword [0x508354]
push ecx
call fcn.00435ac0
cmp al, bl
je 0x4a8d69
mov edx, dword [0x508354]
push edx
call fcn.00437780
jmp 0x4a8d77
mov eax, dword [0x5097e8]
push eax
push ebx
mov ecx, 0x508304
call fcn.0042d4c0
push 9
call fcn.004a78d0
mov eax, dword [0x508354]
push eax
call fcn.004b27f4
add esp, 4
mov dword [0x5097d8], eax
cmp eax, ebx
jne 0x4a8d87
push 4
call fcn.004a78d0
push 0x4c9108
push eax
call fcn.004b3ef0
add esp, 8
mov dword [0x5097dc], eax
cmp eax, ebx
je 0x4a869d
push 0x4000
call fcn.004b1137
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
jne 0x4a8dbe
push 4
jmp 0x4a86b2
mov ecx, dword [0x5097dc]
push 0x4000
push ebx
push eax
push ecx
call fcn.004b581f
mov edx, dword [0x5097dc]
add esp, 0x10
push edx
mov dword [0x4d8f48], ebp
call fcn.004afa90
test eax, eax
jne 0x4a8df6
mov dword [0x4d8f48], ebx
mov dword [0x5097b8], ebp
cmp word [0x5250f0], bx
je 0x4a8fe2
push 0x5250f0
mov esi, 0x4c7e38
call fcn.00456820
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4a8e38
cmp cx, bx
je 0x4a8e34
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4a8e38
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4a8e12
xor eax, eax
jmp 0x4a8e3d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4a8ece
push ebx
push 0x4c9388
push 0x5250f0
call fcn.00436260
mov edi, eax
cmp edi, ebx
jne 0x4a8e72
push 0x52aca2
push ebx
mov ecx, 0x508304
call fcn.0042d4c0
push 0x12
jmp 0x4a86b2
push edi
push 0x1000
lea eax, [esp + 0x1d38]
push ebp
push eax
call fcn.004b3d1a
mov esi, eax
add esp, 0x10
cmp esi, ebx
jbe 0x4a8ec5
nop
push ebx
push esi
push ebp
lea ecx, [esp + 0x1d3c]
push ecx
call fcn.004387e0
cmp eax, esi
jne 0x4a8fbf
push edi
push 0x1000
lea edx, [esp + 0x1d38]
push ebp
push edx
call fcn.004b3d1a
mov esi, eax
add esp, 0x10
cmp esi, ebx
ja 0x4a8e90
push edi
call fcn.004b3dae
add esp, 4
mov eax, dword [0x5097e0]
cmp eax, ebx
je 0x4a8ef1
push eax
call fcn.004b3dae
mov eax, dword [0x5097e8]
push eax
mov dword [0x5097e0], ebx
call fcn.004b1201
add esp, 8
mov ecx, dword [0x508368]
mov edx, dword [0x50836c]
mov dword [0x508358], ecx
mov dword [0x50835c], edx
cmp dword [0x509850], ebx
je 0x4a8f48
push ebx
push 4
push ebp
push 0x508378
mov byte [0x508378], 0x50
mov byte [0x508379], 0x4b
mov byte [0x50837a], 7
mov byte [0x50837b], 8
call fcn.004387e0
add dword [0x508358], 4
adc dword [0x50835c], ebx
cmp byte [0x529c72], 0x41
mov dword [esp + 0x2c], ebx
jne 0x4a8f70
cmp dword [0x509878], ebx
mov edx, dword [0x508354]
setne al
movzx ecx, al
push ecx
push edx
push ebx
push ebp
call fcn.00409f00
mov esi, dword [0x509878]
mov edi, 0x509878
mov dword [esp + 0x24], edi
cmp esi, ebx
je 0x4a9395
cmp dword [esi + 0x6c], ebp
jne 0x4a9183
cmp byte [0x529c72], 0x44
je 0x4a90e1
push esi
lea eax, [esp + 0x24]
push eax
call fcn.004ae7c0
test eax, eax
je 0x4a9018
mov cx, word [esi + 4]
xor edx, edx
mov word [esi + 0x2e], cx
mov word [esi + 0x22], dx
jmp 0x4a907c
mov eax, dword [0x5097d8]
push eax
push ebx
push eax
push ebx
mov ecx, 0x508304
call fcn.0042d370
push edi
call fcn.004b3dae
add esp, 4
push 0xe
jmp 0x4a86b2
cmp dword [0x5097e0], ebx
je 0x4a8ef1
mov ecx, dword [0x508368]
mov eax, dword [0x50836c]
mov edx, ecx
or edx, eax
je 0x4a8ece
push eax
push ecx
call fcn.00438f80
cmp eax, ebx
je 0x4a8ece
push eax
jmp 0x4a86b2
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 0x4a905e
mov edx, dword [eax + 0x4c]
push edx
call fcn.004b1201
mov eax, dword [esp + 0x24]
add esp, 4
cmp word [eax + 0x20], bx
je 0x4a905e
mov eax, dword [eax + 0x3c]
push eax
call fcn.004b1201
mov eax, dword [esp + 0x24]
add esp, 4
cmp dword [eax + 0x58], ebx
je 0x4a9073
mov ecx, dword [eax + 0x58]
push ecx
call fcn.004b1201
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.004b1201
add esp, 4
mov edx, dword [esi + 0x60]
push ebx
push ebx
push ebp
push edx
push ebx
push ebp
call fcn.00409f40
push esi
call fcn.004afc60
cmp eax, ebx
je 0x4a90a2
cmp eax, 0x12
je 0x4a90b0
cmp eax, 0xffffffff
jne 0x4a93f7
cmp eax, 0x12
je 0x4a90b0
cmp eax, 0xffffffff
jne 0x4a9384
mov eax, dword [esi + 0x60]
mov ecx, dword [0x508354]
push eax
push ebx
push ecx
push ebx
mov ecx, 0x508304
mov dword [esp + 0x3c], ebp
call fcn.0042d180
push esi
call fcn.004ad7a0
cmp eax, ebx
jne 0x4a85ee
mov dword [esi + 0x6c], ebx
jmp 0x4a9384
cmp byte [0x51c858], bl
jne 0x4a9395
mov edx, dword [esi + 0x54]
push ebx
push ebx
push edx
call fcn.0040ae80
mov eax, dword [esi + 0x4c]
mov ebp, dword [esi + 0x78]
push eax
call fcn.004b1201
mov ecx, dword [esi + 0x50]
push ecx
call fcn.004b1201
mov edx, dword [esi + 0x54]
push edx
call fcn.004b1201
mov eax, dword [esi + 0x58]
add esp, 0xc
cmp eax, ebx
je 0x4a9129
push eax
call fcn.004b1201
add esp, 4
cmp word [esi + 0x22], bx
je 0x4a913f
mov eax, dword [esi + 0x40]
cmp eax, ebx
je 0x4a913f
push eax
call fcn.004b1201
add esp, 4
cmp word [esi + 0x24], bx
je 0x4a9156
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x40]
je 0x4a9156
push eax
call fcn.004b1201
add esp, 4
cmp word [esi + 0x26], bx
je 0x4a9168
mov eax, dword [esi + 0x48]
push eax
call fcn.004b1201
add esp, 4
push esi
call fcn.004b1201
mov dword [edi], ebp
add esp, 4
dec dword [0x508350]
mov ebp, 1
jmp 0x4a938b
cmp dword [0x50977c], ebx
je 0x4a9194
cmp byte [esi + 0x74], bl
je 0x4a9384
cmp byte [0x529c72], 0x44
jne 0x4a91a8
mov ecx, dword [esi + 0x54]
push ebp
push ebx
push ecx
call fcn.0040ae80
mov edi, dword [0x509778]
cmp byte [esp + 0x16], bl
je 0x4a9370
lea ecx, [esp + 0x1d30]
call fcn.00402410
mov dword [esp + 0x2d3c], ebx
push 0xce8
lea edx, [esp + 0x1d34]
push ebx
push edx
call fcn.004b14b0
mov eax, dword [esi + 0x4c]
add esp, 0xc
push eax
call fcn.00456880
movsx ecx, byte [eax]
push ecx
call fcn.00456170
push 0x3ff
lea edx, [esp + 0x1d64]
mov byte [esp + 0x1b], al
mov eax, dword [esi + 0x4c]
push edx
push eax
call fcn.00457950
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.00473a00
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.00456310
push 0x3ff
lea ecx, [esp + 0x1d64]
push ecx
lea edx, [esp + 0x2168]
push edx
call fcn.00477f10
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 0x5248e0
call fcn.00459420
test al, al
je 0x4a9359
cmp byte [esp + 0x17], bl
je 0x4a92ba
lea eax, [esp + 0x1d60]
push eax
call fcn.00456ce0
push 0x400
push ebx
lea ecx, [esp + 0x1d68]
push ecx
call fcn.004579e0
push 0x400
push ebx
lea edx, [esp + 0x2168]
push edx
call fcn.004563b0
push 0x3ff
lea eax, [esp + 0x1d64]
push eax
lea ecx, [esp + 0x2168]
push ecx
call fcn.00477f10
mov edx, dword [esi + 0x4c]
push edx
mov byte [esp + 0x2163], bl
call fcn.004b1201
lea eax, [esp + 0x1d64]
push eax
call fcn.004c23c7
mov ecx, dword [esi + 0x64]
push ecx
mov dword [esi + 0x4c], eax
call fcn.004b1201
lea edx, [esp + 0x216c]
push edx
call fcn.004b27f4
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x58]
push eax
call fcn.004b1201
add esp, 0x14
lea ecx, [esp + 0x2160]
push ecx
call fcn.004829a0
mov dword [esi + 0x58], eax
mov dword [0x509778], 3
mov dword [esp + 0x2d3c], 0xffffffff
lea ecx, [esp + 0x1d30]
call fcn.00401a60
push esi
call fcn.004ad7a0
mov dword [0x509778], edi
cmp eax, ebx
jne 0x4a85ee
lea edi, [esi + 0x78]
mov dword [esp + 0x24], edi
mov esi, dword [edi]
cmp esi, ebx
jne 0x4a8f87
mov edi, dword [0x509884]
cmp edi, ebx
je 0x4a9557
cmp byte [0x51c858], bl
jne 0x4a9557
push 0x80
call fcn.004b1137
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4a8312
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.00437e00
cmp dword [esi + 0x58], ebx
jne 0x4a940b
cmp eax, ebx
jne 0x4a9405
mov ecx, dword [edi + 0x10]
mov dword [esi + 0x58], ecx
jmp 0x4a9417
cmp byte [0x51c858], bl
jne 0x4a9395
push eax
jmp 0x4a86b2
mov edx, dword [edi + 0x10]
push edx
jmp 0x4a940f
mov eax, dword [edi + 0x10]
push eax
call fcn.004b1201
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.00409f40
push esi
call fcn.004afc60
cmp eax, ebx
je 0x4a9496
cmp eax, 0x12
je 0x4a94b5
cmp eax, 0xffffffff
jne 0x4a95af
cmp eax, 0x12
je 0x4a94b5
cmp eax, 0xffffffff
je 0x4a94b5
mov edx, dword [esp + 0x24]
mov dword [edx], esi
inc dword [0x508350]
mov dword [esp + 0x24], ebp
jmp 0x4a9547
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x54]
mov edx, dword [0x508354]
push eax
push ecx
push edx
push ebx
mov ecx, 0x508304
mov dword [esp + 0x3c], 1
call fcn.0042d180
mov eax, dword [esi + 0x3c]
push eax
call fcn.004b1201
mov ecx, dword [esi + 0x4c]
push ecx
call fcn.004b1201
mov edx, dword [esi + 0x50]
push edx
call fcn.004b1201
mov eax, dword [esi + 0x54]
push eax
call fcn.004b1201
mov eax, dword [esi + 0x58]
add esp, 0x10
cmp eax, ebx
je 0x4a950e
push eax
call fcn.004b1201
add esp, 4
mov eax, dword [esi + 0x60]
cmp eax, ebx
je 0x4a951e
push eax
call fcn.004b1201
add esp, 4
mov eax, dword [esi + 0x64]
cmp eax, ebx
je 0x4a952e
push eax
call fcn.004b1201
add esp, 4
mov eax, dword [esi + 0x68]
cmp eax, ebx
je 0x4a953e
push eax
call fcn.004b1201
add esp, 4
push esi
call fcn.004b1201
add esp, 4
push edi
call fcn.00437500
mov edi, eax
cmp edi, ebx
jne 0x4a93a3
cmp word [0x5268f2], bx
je 0x4a9764
cmp dword [0x509778], ebx
jne 0x4a9764
push 0x4c9110
push 0x5268f2
call fcn.004b3ef0
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
cmp esi, ebx
jne 0x4a95bd
mov ecx, dword [0x508354]
push 0x5268f2
push 0x5264f2
push ecx
push ebx
mov ecx, 0x508304
call fcn.0042d180
push 0x12
jmp 0x4a86b2
cmp byte [0x51c858], bl
jne 0x4a9557
push eax
jmp 0x4a86b2
cmp word [0x50834c], bx
je 0x4a95d5
mov edx, dword [0x509880]
push edx
call fcn.004b1201
add esp, 4
push 0x8000
call fcn.004b1137
add esp, 4
mov dword [0x509880], eax
cmp eax, ebx
jne 0x4a95f2
push 4
jmp 0x4a86b2
push esi
push 0x7fff
push 1
push eax
call fcn.004b3d1a
mov ecx, dword [0x509880]
mov word [0x50834c], ax
movzx eax, ax
add esp, 0x10
mov byte [eax + ecx], bl
cmp dword [0x5270f4], 2
jne 0x4a962b
mov eax, dword [0x509880]
push eax
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
cmp dword [0x5270f4], 3
jne 0x4a975b
mov ecx, dword [0x509880]
mov al, byte [ecx]
mov dword [esp + 0x20], ecx
cmp al, 0xff
jne 0x4a9655
cmp byte [ecx + 1], 0xfe
jne 0x4a9655
mov edi, 1
jmp 0x4a9657
xor edi, edi
cmp al, 0xfe
jne 0x4a9668
cmp byte [ecx + 1], 0xff
jne 0x4a9668
mov ebp, 1
jmp 0x4a966a
xor ebp, ebp
movzx edx, word [0x50834c]
inc edx
push edx
lea ecx, [esp + 0x3c]
call fcn.0040b9f0
mov dword [esp + 0x2d3c], 1
xor edx, edx
lea ecx, [edx + 2]
cmp edi, ebx
jne 0x4a9699
cmp ebp, ebx
jne 0x4a9699
lea edi, [edx + 1]
xor ecx, ecx
movzx eax, word [0x50834c]
mov esi, dword [esp + 0x38]
cmp ecx, eax
jae 0x4a96ef
lea eax, [ecx + ebp]
add eax, dword [esp + 0x20]
sub edi, ebp
mov dword [esp + 0x20], edi
jmp 0x4a96c4
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 [0x50834c]
add ecx, 2
inc edx
add eax, 2
cmp ecx, edi
jb 0x4a96c0
xor ecx, ecx
push 0x7fff
mov word [esi + edx*2], cx
mov edx, dword [0x509880]
push ebx
push edx
call fcn.004b14b0
mov eax, dword [0x509880]
add esp, 0xc
push 0x7ffe
push eax
push esi
call fcn.00477f10
mov ecx, dword [0x509880]
mov byte [ecx + 0x7ffe], bl
mov eax, dword [0x509880]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4a9730
sub eax, edx
mov word [0x50834c], ax
mov dword [esp + 0x2d3c], 0xffffffff
cmp esi, ebx
je 0x4a9757
push esi
call fcn.004b1201
add esp, 4
mov esi, dword [esp + 0x24]
push esi
call fcn.004b3dae
add esp, 4
mov esi, dword [0x509878]
mov ecx, dword [0x508358]
mov edx, dword [0x50835c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov edi, ecx
mov ebp, edx
cmp esi, ebx
je 0x4a97de
cmp dword [0x50977c], ebx
je 0x4a9793
cmp byte [esi + 0x74], bl
je 0x4a97d7
push esi
call fcn.004acfb0
cmp eax, ebx
jne 0x4a85ee
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 [0x508358]
cdq
add ecx, eax
adc dword [0x50835c], edx
add dword [esp + 0x24], 1
mov edx, dword [0x50835c]
mov dword [0x508358], ecx
adc dword [esp + 0x28], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4a9786
sub ecx, edi
sbb edx, ebp
mov eax, ecx
mov ecx, edx
mov edx, dword [0x509880]
push edx
movzx edx, word [0x50834c]
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.004ad3a0
cmp eax, ebx
je 0x4a9812
push eax
jmp 0x4a86b2
mov edx, dword [0x5097dc]
push edx
call fcn.004b3dae
add esp, 4
test eax, eax
jne 0x4a869d
mov eax, dword [0x5097e0]
mov dword [0x5097dc], ebx
cmp eax, ebx
je 0x4a9847
push eax
call fcn.004b3dae
add esp, 4
mov dword [0x5097e0], ebx
cmp byte [0x51c858], bl
je 0x4a98ac
mov eax, dword [0x5097d8]
push eax
call fcn.00435da0
mov ecx, dword [0x528238]
or ecx, dword [0x52823c]
je 0x4a9a5a
xor esi, esi
cmp dword [0x50980c], ebx
jbe 0x4a9a5a
lea ebx, [ebx]
mov edx, dword [0x508354]
push esi
push edx
call fcn.00438690
mov edi, eax
push edi
call fcn.00435da0
push edi
call fcn.004b1201
inc esi
add esp, 4
cmp esi, dword [0x50980c]
jb 0x4a9880
jmp 0x4a9a5a
cmp word [0x5250f0], bx
je 0x4a99a1
push 0x5250f0
mov esi, 0x4c7e38
call fcn.00456820
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4a98ee
cmp cx, bx
je 0x4a98ea
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4a98ee
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4a98c8
xor eax, eax
jmp 0x4a98f3
sbb eax, eax
sbb eax, 0xffffffff
mov esi, 0x4c7ad0
cmp eax, ebx
je 0x4a9901
mov esi, 0x4c7e10
mov eax, dword [0x508354]
push esi
push eax
call fcn.00456c20
test al, al
jne 0x4a99a1
mov ecx, dword [0x508354]
push 0x400
push ecx
lea edx, [esp + 0x1510]
push edx
call fcn.004709a0
push esi
lea eax, [esp + 0x150c]
push eax
call fcn.004587a0
lea ecx, [esp + 0x1508]
push ecx
call fcn.00435ac0
test al, al
je 0x4a9976
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea edx, [esp + 0x1518]
push edx
push ebx
call fcn.0040b2d0
cmp al, 0x43
je 0x4a996f
cmp al, 0x4e
jne 0x4a9976
push 9
jmp 0x4a86b2
mov eax, dword [0x508354]
push eax
call fcn.004b1201
lea ecx, [esp + 0x150c]
push ecx
call fcn.004b27f4
add esp, 8
mov dword [0x508354], eax
cmp eax, ebx
jne 0x4a99a6
push 4
jmp 0x4a86b2
mov eax, dword [0x508354]
mov edx, dword [0x5097d8]
push edx
push eax
call fcn.00438c20
mov esi, eax
cmp esi, ebx
je 0x4a9a1f
mov eax, dword [0x508354]
mov ecx, dword [0x5097d8]
push eax
push ecx
push 0x207
call fcn.004671c0
push eax
push ebx
call fcn.0049ac10
add esp, 0x10
mov ecx, 0x508304
call fcn.0042cce0
cmp esi, 0xf
jne 0x4a9a04
mov edx, dword [0x508354]
push edx
call fcn.00435ac0
test al, al
je 0x4a9a04
mov eax, dword [0x508354]
push eax
call fcn.00435da0
mov ecx, dword [0x5097d8]
push ecx
call fcn.004b1201
add esp, 4
mov dword [0x5097d8], ebx
push esi
jmp 0x4a86b2
mov edx, dword [0x5097d8]
push edx
call fcn.004b1201
mov eax, dword [0x5097f0]
add esp, 4
cmp eax, ebx
je 0x4a9a44
push eax
mov eax, dword [0x508354]
push eax
push ebx
call fcn.00435b70
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x28]
jne 0x4a9a5a
mov ecx, dword [0x508354]
push ecx
call fcn.00435da0
mov dword [0x5097d8], ebx
cmp byte [0x528224], bl
je 0x4a9ab7
cmp byte [0x51c858], bl
jne 0x4a9ab7
mov esi, dword [0x509878]
cmp esi, ebx
je 0x4a9ab7
lea ebx, [ebx]
cmp dword [esi + 0x6c], ebx
je 0x4a9ab0
mov edx, dword [esi + 0x60]
push edx
call fcn.004b0730
test eax, eax
jne 0x4a9ab0
mov eax, dword [esi + 0x60]
push eax
push 0x4bf
call fcn.004671c0
mov ecx, dword [0x508354]
push eax
push ecx
call fcn.0049ac10
add esp, 0xc
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4a9a80
mov edx, dword [esp + 0x18]
push edx
call fcn.004b1201
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.004a7c50
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.004b102c
add esp, 0x2d2c
ret