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

Disassembly:
push 0xffffffffffffffff
push 0x4c46f6
mov eax, dword fs:[0]
push eax
mov eax, 0x2d20
call fcn.004af840
mov eax, dword [0x4d8620]
xor eax, esp
mov dword [esp + 0x2d1c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d8620]
xor eax, esp
push eax
lea eax, [esp + 0x2d34]
mov dword fs:[0], eax
mov ecx, 0x514e88
call fcn.004431c0
xor ebx, ebx
mov dword [0x514d78], ebx
mov esi, 0x4c9684
mov eax, 0x535279
jmp 0x4a63b0
mov cl, byte [eax]
or ebp, 0xffffffff
cmp cl, byte [esi]
jne 0x4a63d3
cmp cl, bl
je 0x4a63cf
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x4a63d3
add eax, 2
add esi, 2
cmp cl, bl
jne 0x4a63b0
xor eax, eax
jmp 0x4a63d7
sbb eax, eax
sbb eax, ebp
cmp eax, ebx
jne 0x4a63e5
mov dword [0x514d78], 2
xor eax, eax
cmp byte [0x5338f7], bl
mov edi, 1
setne al
cmp byte [0x535279], 0x52
mov dword [0x514dec], ebx
mov dword [0x571bbc], ebx
mov dword [0x571bc0], ebx
mov dword [0x571bc4], ebx
mov dword [0x571bc8], ebx
mov dword [0x514d7c], eax
mov dword [0x513940], ebx
mov dword [0x514d6c], ebx
mov dword [0x514d70], ebx
mov dword [0x4d6db8], edi
mov dword [0x514d74], ebx
mov dword [0x514d80], ebx
jne 0x4a6453
cmp byte [0x53527a], 0x4e
mov byte [esp + 0x16], 1
je 0x4a6457
mov byte [esp + 0x16], bl
mov ecx, dword [0x533814]
movsx eax, byte [ecx + 0x4d85b4]
mov ecx, dword [0x533844]
mov dword [0x4d6dc0], eax
neg eax
sbb eax, eax
mov dword [0x4d6dbc], eax
mov eax, dword [0x533840]
mov edx, eax
or edx, ecx
mov dword [0x514d84], ebx
mov dword [0x514dcc], ebx
mov dword [0x514d88], ebx
mov dword [0x514d90], ebx
mov dword [0x514d98], ebx
mov dword [0x514d9c], ebx
mov dword [0x514da0], ebx
mov dword [0x514da8], ebx
mov dword [0x514dac], ebx
mov dword [0x514db0], ebx
mov dword [0x514db4], ebx
mov dword [0x4d6dc4], edi
mov dword [0x514da4], ebx
mov dword [0x4d6dc8], edi
mov dword [0x4d6dcc], edi
mov dword [0x514db8], ebx
mov dword [0x4d6dd0], edi
mov dword [0x4d6dd4], ebp
mov dword [0x514dc4], ebx
mov dword [0x514dc8], ebx
mov dword [0x514dd0], ebx
mov dword [0x514dd4], ebx
mov dword [0x514e84], ebx
mov dword [0x4d6ddc], 0x514e84
mov dword [0x513954], ebx
mov dword [0x514dd8], ebx
mov dword [0x514ddc], ebx
mov dword [0x514de0], ebx
mov dword [0x514de8], ebx
mov dword [0x514de4], ebx
mov dword [0x514df4], ebx
mov dword [0x514df8], ebx
mov dword [0x514e00], ebx
mov dword [0x514e04], ebx
mov dword [0x514dfc], ebx
mov dword [0x514e28], ebx
mov dword [0x514e30], ebx
mov dword [0x514e34], ebx
mov dword [0x514e08], ebx
mov dword [0x514e0c], ebx
mov dword [0x4d6dd8], ebp
mov dword [0x514e10], ebx
mov dword [0x514e14], ebx
mov dword [0x514e18], ebx
mov dword [0x514e1c], ebx
mov dword [0x514e20], ebx
mov dword [0x514e24], ebx
mov dword [0x514e2c], ebx
mov dword [0x514e38], ebx
mov dword [0x514e40], ebx
mov dword [0x514e44], ebx
mov dword [0x514e48], ebx
mov dword [0x514e4c], ebx
mov dword [0x514e3c], ebx
mov dword [0x514e50], ebx
mov dword [0x514e58], ebx
mov dword [0x514e5c], ebx
je 0x4a663e
cmp eax, 0x7fffffff
jne 0x4a65fa
cmp ecx, eax
jne 0x4a65fa
push 0x535eaa
call fcn.004321d0
mov dword [0x514e5c], edx
jmp 0x4a6600
mov dword [0x514e5c], ecx
mov dword [0x514e58], eax
mov dword [0x514e50], edi
cmp word [0x5306f8], bx
je 0x4a663e
push 0x4c5e00
push 0x5362aa
call fcn.00456210
test al, al
je 0x4a6636
push 0x4c5abc
push 0x5362aa
call fcn.00457d90
xor eax, eax
mov word [0x5306f8], ax
mov dword [0x514e60], ebx
mov dword [0x514e64], ebx
mov dword [0x514e68], ebx
mov dword [0x514e6c], ebx
mov dword [0x514e74], ebx
mov dword [0x514d8c], ebx
call fcn.004b3361
add eax, 0x20
mov dword [0x513970], eax
call fcn.004aea50
mov dword [0x514dd8], ebx
mov dword [0x514ddc], ebx
cmp dword [0x514e50], ebx
je 0x4a66cf
push 0x4c5abc
push 0x5362aa
call fcn.00456210
test al, al
jne 0x4a66cf
mov eax, 0x5362aa
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4a66a3
sub eax, edx
sar eax, 1
cmp eax, 0x3fa
jbe 0x4a66c0
push 5
call fcn.004a5c80
push 0x4c5abc
push 0x5362aa
call fcn.00457d90
push 0x5362aa
call fcn.004b0bb4
add esp, 4
mov dword [0x513954], eax
cmp eax, ebx
jne 0x4a66ec
push 4
call fcn.004a5c80
cmp dword [0x514d78], ebx
je 0x4a674a
push eax
call fcn.004561a0
mov esi, eax
cmp esi, ebx
je 0x4a6745
cmp word [esi], 0x2e
jne 0x4a6745
movzx ecx, word [esi + 2]
push ecx
call fcn.004b08d1
add esp, 4
cmp eax, 0x5a
jne 0x4a6745
movzx edx, word [esi + 4]
push edx
call fcn.0046f2d0
test al, al
je 0x4a6745
movzx eax, word [esi + 6]
push eax
call fcn.0046f2d0
test al, al
je 0x4a6745
mov ecx, dword [0x513954]
push 0x4c5abc
push ecx
call fcn.00457d90
mov eax, dword [0x513954]
cmp dword [0x514de4], ebx
jne 0x4a6770
push eax
call fcn.004b0bb4
add esp, 4
mov dword [0x514de4], eax
cmp eax, ebx
jne 0x4a676b
push 4
call fcn.004a5c80
mov eax, dword [0x513954]
push eax
call fcn.004b0bb4
add esp, 4
mov dword [0x514dec], eax
cmp eax, ebx
jne 0x4a6789
push 4
call fcn.004a5c80
mov dl, byte [0x535279]
cmp dl, 0x44
jne 0x4a67e6
cmp dword [0x4d6dbc], ebp
jne 0x4a67c6
cmp dword [0x514d70], ebx
jne 0x4a67c6
cmp dword [0x514d6c], ebx
jne 0x4a67c6
cmp word [0x533304], bx
jne 0x4a67c6
cmp dword [0x571bbc], ebx
jne 0x4a67c6
cmp word [0x531efa], bx
je 0x4a67e6
xor eax, eax
mov dword [0x4d6dbc], ebp
mov dword [0x514d70], ebx
mov dword [0x514d6c], ebx
mov dword [0x571bbc], ebx
mov word [0x531efa], ax
mov eax, dword [0x514d78]
mov ecx, dword [0x514d80]
cmp eax, edi
je 0x4a67fa
cmp eax, 2
jne 0x4a6805
cmp ecx, ebx
je 0x4a6805
xor eax, eax
mov dword [0x514d78], eax
cmp dword [0x514e50], ebx
je 0x4a681c
cmp eax, ebx
jne 0x4a6815
cmp ecx, ebx
je 0x4a681c
push 0x10
call fcn.004a5c80
cmp dl, 0x41
je 0x4a6830
cmp dword [0x514d7c], ebx
je 0x4a6830
push 0x10
call fcn.004a5c80
lea ecx, [esp + 0x68]
call fcn.00401190
push 0x14a0
lea ecx, [esp + 0x6c]
push ebx
push ecx
call fcn.004af870
mov eax, dword [0x513954]
add esp, 0xc
push ebx
lea edx, [esp + 0x6c]
push edx
push eax
push ebx
call fcn.00437bb0
cmp dword [0x514d78], 2
jne 0x4a6abf
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [eax + 0x4c9694]
mov word [esp + eax + 0x1508], cx
add eax, 2
cmp cx, bx
jne 0x4a6870
mov ecx, dword [0x513954]
push ecx
call fcn.00455e10
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4a6895
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 0x4a68b0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x1508]
mov ecx, eax
push edx
and ecx, 3
push 0x267
rep movsb byte es:[edi], byte [esi]
call fcn.00466160
push eax
lea eax, [esp + 0x1d38]
push eax
mov edx, 0x4c8
call fcn.004a5f50
add esp, 0xc
lea ecx, [esp + 0x1d30]
push ecx
call fcn.0048b610
lea edx, [esp + 0x1508]
push edx
call fcn.00432480
test al, al
je 0x4a694f
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea eax, [esp + 0x1518]
push eax
push ebx
call fcn.0040b080
cmp al, 0x4e
je 0x4a697b
cmp al, 0x43
je 0x4a697b
lea ecx, [esp + 0x1508]
push ecx
push ebx
call fcn.00433290
lea edx, [esp + 0x1508]
push edx
call fcn.00432770
lea ecx, [esp + 0x1508]
push ecx
mov dword [0x513958], ebx
mov dword [0x51395c], ebx
call fcn.004b0bb4
add esp, 4
mov dword [0x514dd8], eax
cmp eax, ebx
jne 0x4a6986
push 4
call fcn.004a5c80
lea eax, [esp + 0x68]
push eax
push ebx
jmp 0x4a7ed5
push 0x4c70f8
push eax
call fcn.004b23c0
add esp, 8
mov dword [0x514ddc], eax
cmp eax, ebx
jne 0x4a69b6
mov edx, dword [0x514dd8]
push edx
push ebx
mov ecx, 0x513904
call fcn.0042a140
push 0xa
call fcn.004a5c80
call fcn.004adcd0
cmp eax, ebx
je 0x4a69c5
push eax
call fcn.004a5c80
mov esi, dword [0x514e78]
mov ecx, dword [0x513958]
mov eax, dword [0x51395c]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp esi, ebx
je 0x4a6a29
push esi
call fcn.004ab390
cmp eax, ebx
jne 0x4a69bf
movzx ecx, word [esi + 0x24]
movzx eax, word [esi + 0x26]
movzx edx, word [esi + 0x20]
add eax, ecx
mov ecx, dword [0x513958]
lea eax, [eax + edx + 0x2e]
cdq
add ecx, eax
mov eax, dword [0x51395c]
adc eax, edx
add edi, 1
mov dword [0x513958], ecx
mov dword [0x51395c], eax
mov esi, dword [esi + 0x7c]
adc ebp, ebx
cmp esi, ebx
jne 0x4a69e6
mov esi, dword [0x514e80]
mov edx, dword [esp + 0x18]
push esi
movzx esi, word [0x51394c]
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.004ab780
cmp eax, ebx
je 0x4a6a5b
push eax
call fcn.004a5c80
mov eax, dword [0x514ddc]
push eax
call fcn.004b227e
add esp, 4
test eax, eax
je 0x4a6a87
mov eax, dword [0x514dd8]
push eax
push ebx
push eax
push ebx
mov ecx, 0x513904
call fcn.00429fd0
push 0xa
call fcn.004a5c80
mov eax, dword [0x514de0]
cmp eax, ebx
je 0x4a6a9f
push eax
call fcn.004b227e
add esp, 4
mov dword [0x514de0], ebx
mov ecx, dword [0x514dd8]
push ecx
call fcn.004af1b0
add esp, 4
lea edx, [esp + 0x68]
push edx
mov dword [0x514dd8], ebx
push ebx
jmp 0x4a7ed5
call fcn.004adcd0
cmp eax, ebx
je 0x4a6ace
push eax
call fcn.004a5c80
mov eax, dword [0x514e50]
cmp eax, ebp
jne 0x4a6adf
mov dword [0x514e50], ebx
jmp 0x4a6b55
cmp dword [0x514d78], ebx
jne 0x4a6b55
cmp eax, ebx
jne 0x4a6b55
cmp dword [0x514df4], edi
jbe 0x4a6b55
mov eax, dword [0x514de4]
push ebx
push eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.00434f30
push ebx
lea ecx, [esp + 0x1c]
push ecx
push ebx
push eax
mov dword [0x514de8], eax
call fcn.00481030
test eax, eax
jne 0x4a6b27
mov eax, 0x12
jmp 0x4a7eda
mov ecx, dword [0x514de8]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ecx
mov dword [0x514e50], edi
mov dword [0x514e58], edx
mov dword [0x514e5c], eax
call fcn.004af1b0
add esp, 4
mov dword [0x514de8], ebx
mov dword [0x514df8], ebx
cmp byte [0x533873], bl
je 0x4a6bb8
mov edx, dword [0x513954]
push edx
call fcn.00455bf0
test al, al
je 0x4a6bb8
movsx eax, byte [0x535279]
push eax
push 0x4c60cc
call fcn.004aedd0
add esp, 8
test eax, eax
je 0x4a6bb8
mov ecx, dword [0x513954]
movzx edx, word [ecx]
push edx
lea eax, [esp + 0x150c]
push 0x4c7084
push eax
call fcn.004af01a
add esp, 0xc
lea ecx, [esp + 0x1508]
push ecx
call fcn.00433a70
cmp byte [0x535279], 0x44
jne 0x4a6bd4
call fcn.00481830
cmp eax, ebx
je 0x4a6bd4
cmp eax, ebp
je 0x4a6bd4
push eax
call fcn.004a5c80
cmp byte [0x535279], 0x41
jne 0x4a6be2
call fcn.00481550
call fcn.00434010
cmp dword [0x513950], ebx
je 0x4a6bfe
mov edx, dword [0x513948]
push edx
call fcn.004af1b0
add esp, 4
mov esi, dword [0x514e78]
xor ebp, ebp
mov dword [0x571ba8], ebx
mov dword [0x571bac], ebx
mov dword [0x571bb0], ebx
mov dword [0x571bb4], ebx
mov dword [esp + 0x1c], ebx
cmp esi, ebx
je 0x4a6e88
lea ebx, [ebx]
mov dword [esi + 0x78], ebx
cmp dword [0x514d7c], ebx
je 0x4a6c4f
cmp dword [esi + 0x6c], ebx
setne al
mov byte [esi + 0x74], al
cmp al, bl
jne 0x4a6c4f
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp dword [esi + 0x6c], ebx
je 0x4a6e77
mov eax, dword [esi + 0x18]
add dword [0x571bb0], eax
mov ecx, dword [esi + 0x1c]
adc dword [0x571bb4], ecx
mov edx, dword [esi + 0x18]
mov dword [esp + 0x30], edx
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x34], eax
mov al, byte [0x535279]
cmp al, 0x44
je 0x4a6d99
cmp al, 0x41
jne 0x4a6c9d
cmp byte [0x533831], bl
jne 0x4a6c9d
cmp byte [0x533830], bl
je 0x4a6d99
cmp dword [esi + 0x60], ebx
jne 0x4a6cbd
mov eax, dword [esi + 0x58]
cmp eax, ebx
je 0x4a6cb1
push eax
call fcn.00480c70
jmp 0x4a6cba
mov ecx, dword [esi + 0x3c]
push ecx
call fcn.00480c00
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x34]
push eax
push ebx
push ecx
call fcn.00481030
mov edi, eax
cmp edi, ebx
sete al
cmp al, bl
jne 0x4a6d1d
cmp byte [0x533831], bl
jne 0x4a6cec
cmp byte [0x533830], bl
je 0x4a6d56
lea edx, [esp + 0x38]
push edx
push esi
call fcn.004814a0
test al, al
je 0x4a6d13
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x64]
push ecx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 1
setne al
jmp 0x4a6d19
cmp edi, dword [esi + 8]
setbe al
cmp al, bl
je 0x4a6d56
mov edx, dword [0x571bbc]
neg edx
sbb edx, edx
xor eax, eax
and edx, 2
cmp edi, ebx
setne al
mov dword [esi + 0x6c], edx
mov dword [esi + 0x70], eax
cmp eax, ebx
je 0x4a6e77
mov eax, dword [esi + 0x18]
sub dword [0x571bb0], eax
mov ecx, dword [esi + 0x1c]
sbb dword [0x571bb4], ecx
jmp 0x4a6e77
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x4a6d87
cmp eax, 0xfffffffe
jne 0x4a6d71
cmp ecx, 0xffffffff
je 0x4a6d87
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x34]
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x1c], eax
jmp 0x4a6e77
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
jmp 0x4a6e77
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp al, 0x44
je 0x4a6e77
mov eax, dword [0x533810]
cmp eax, ebx
je 0x4a6e77
cmp eax, 2
sete byte [esp + 0x17]
cmp eax, 4
jne case.default.0x4a6e40
mov edx, dword [esi + 0x60]
push 0x400
lea ecx, [esp + 0x150c]
push ecx
push edx
call fcn.00455900
lea eax, [esp + 0x1508]
push eax
mov edi, 2
call fcn.004556e0
movzx ecx, word [eax]
push ecx
call fcn.00455760
test al, al
jne 0x4a6e38
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.0040b080
mov edx, dword [str.YNANC]
cbw
movzx eax, ax
movzx ecx, ax
push ecx
push edx
call fcn.004aedd0
sub eax, dword [str.YNANC]
add esp, 8
inc eax
mov edi, eax
add edi, 0xfffffffe
cmp edi, 3
ja case.default.0x4a6e40
jmp dword [edi*4 + 0x4a7f04]
mov dword [0x533810], 1
jmp case.default.0x4a6e40
mov dword [0x533810], 2
jmp case.0x4a6e40.2
push 0xff
mov ecx, 0x513904
call fcn.0042a070
cmp byte [esp + 0x17], bl
je 0x4a6e77
mov dword [esi + 0x6c], ebx
mov esi, dword [esi + 0x7c]
cmp esi, ebx
jne 0x4a6c30
mov esi, dword [0x514e78]
mov edi, dword [0x514e84]
cmp edi, ebx
je 0x4a6eef
mov eax, dword [edi + 0x20]
add dword [0x571bb0], eax
mov ecx, dword [edi + 0x24]
adc dword [0x571bb4], ecx
xor eax, eax
cmp byte [0x535279], 0x44
je 0x4a6edd
cmp byte [0x533830], bl
jne 0x4a6ec3
mov edx, dword [edi + 0x14]
push ebx
push ebx
push ebx
push edx
call fcn.00481030
cmp byte [0x535279], 0x44
je 0x4a6edd
cmp byte [0x533830], bl
jne 0x4a6edd
cmp eax, ebx
je 0x4a6edd
mov edi, dword [edi + 0x2c]
jmp 0x4a6ee5
push edi
call fcn.00433ef0
mov edi, eax
cmp edi, ebx
jne 0x4a6e92
mov esi, dword [0x514e78]
or ebp, dword [esp + 0x1c]
mov edx, dword [0x571bc8]
jne 0x4a6f4f
cmp dword [0x514e84], ebx
jne 0x4a6f4f
cmp byte [esp + 0x16], bl
jne 0x4a6f4f
mov edi, dword [0x514d78]
mov eax, dword [0x53385c]
mov ebp, dword [0x514d80]
cmp esi, ebx
je 0x4a6fad
cmp eax, 2
je 0x4a6f4f
mov cl, byte [0x535279]
cmp cl, 0x53
je 0x4a6f4f
cmp edi, ebx
jne 0x4a6f4f
cmp ebp, ebx
jne 0x4a6f4f
cmp edx, ebx
jne 0x4a6f4f
cmp dword [0x571bbc], ebx
jne 0x4a6f4f
cmp word [0x531efa], bx
je 0x4a6fb3
cmp word [0x533304], bx
je 0x4a6f68
call fcn.004a5140
mov esi, dword [0x514e78]
mov dword [0x571bb8], eax
mov ebp, 1
cmp esi, ebx
je 0x4a7029
cmp dword [0x514df4], ebp
je 0x4a7029
mov eax, dword [0x513968]
cmp eax, 4
jne 0x4a702e
cmp dword [0x51396c], ebx
jne 0x4a702e
xor eax, eax
mov dword [0x513968], eax
mov dword [0x51396c], ebx
jmp 0x4a702e
mov cl, byte [0x535279]
cmp byte [0x533831], bl
jne 0x4a701d
cmp byte [0x533830], bl
jne 0x4a701d
cmp esi, ebx
jne 0x4a6fdf
cmp eax, 2
je 0x4a6fd8
cmp edi, ebx
jne 0x4a6fd8
cmp ebp, ebx
jne 0x4a6fd8
cmp edx, ebx
je 0x4a6fdf
push 0xd
call fcn.004a5c80
cmp cl, 0x41
jne 0x4a6ff7
push 0x340
call fcn.00466160
push eax
mov eax, dword [0x513954]
push eax
jmp 0x4a700e
cmp cl, 0x44
jne 0x4a7016
push 0x346
call fcn.00466160
mov ecx, dword [0x513954]
push eax
push ecx
call fcn.00498e30
add esp, 8
push 0xc
call fcn.004a5c80
lea edx, [esp + 0x68]
push edx
push 0xc
jmp 0x4a7ed5
mov eax, dword [0x513968]
cmp dword [0x571bc4], ebx
je 0x4a704c
cmp esi, ebx
jne 0x4a704c
mov ecx, eax
or ecx, dword [0x51396c]
jne 0x4a704c
mov dword [0x514df0], ebx
jmp 0x4a7091
mov edx, dword [0x513954]
push edx
push ebx
call fcn.00432510
mov dword [0x514df0], eax
cmp eax, 0xffffffff
jne 0x4a7069
mov dword [0x514df0], ebx
mov eax, dword [0x513968]
cmp dword [0x514e78], ebx
jne 0x4a7091
mov ecx, eax
or ecx, dword [0x51396c]
jne 0x4a7091
mov edx, dword [0x513954]
push edx
call fcn.00432770
mov eax, dword [0x513968]
cmp dword [0x571bc8], ebx
je 0x4a70a6
xor eax, eax
mov dword [0x513968], eax
mov dword [0x51396c], ebx
or eax, dword [0x51396c]
mov dword [0x513958], ebx
mov dword [0x51395c], ebx
je 0x4a7124
mov eax, dword [0x514de4]
push ebx
push eax
call fcn.00434f30
push 0x4c7100
push eax
mov dword [0x514de8], eax
call fcn.004b23c0
add esp, 8
mov dword [0x514de0], eax
cmp eax, ebx
jne 0x4a7124
push ebx
call fcn.00435890
test eax, eax
jne 0x4a7142
mov ecx, dword [0x514de8]
push ecx
call fcn.004af1b0
mov edx, dword [0x514de4]
add esp, 4
push ebp
push edx
call fcn.00434f30
push 0x4c7100
push eax
mov dword [0x514de8], eax
call fcn.004b23c0
add esp, 8
mov dword [0x514de0], eax
cmp eax, ebx
je 0x4a70e2
mov ecx, dword [0x513954]
push ecx
call fcn.00432480
cmp al, bl
je 0x4a715a
mov edx, dword [0x513954]
push edx
call fcn.00434170
jmp 0x4a7168
mov eax, dword [0x514de8]
push eax
push ebx
mov ecx, 0x513904
call fcn.0042a120
push 9
call fcn.004a5c80
mov eax, dword [0x513954]
push eax
call fcn.004b0bb4
add esp, 4
mov dword [0x514dd8], eax
cmp eax, ebx
jne 0x4a7178
push 4
call fcn.004a5c80
push 0x4c70f8
push eax
call fcn.004b23c0
add esp, 8
mov dword [0x514ddc], eax
cmp eax, ebx
je 0x4a6a6d
push 0x4000
call fcn.004af0e6
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
jne 0x4a71af
push 4
jmp 0x4a6a82
mov ecx, dword [0x514ddc]
push 0x4000
push ebx
push eax
push ecx
call fcn.004b3a4f
mov edx, dword [0x514ddc]
add esp, 0x10
push edx
mov dword [0x4d6dd0], ebp
call fcn.004ade90
test eax, eax
jne 0x4a71e7
mov dword [0x4d6dd0], ebx
mov dword [0x514db8], ebp
cmp word [0x5306f8], bx
je 0x4a73d2
push 0x5306f8
mov esi, 0x4c5e40
call fcn.00455e10
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4a7229
cmp cx, bx
je 0x4a7225
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4a7229
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4a7203
xor eax, eax
jmp 0x4a722e
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4a72be
push ebx
push 0x4c7a18
push 0x5306f8
call fcn.00432c30
mov edi, eax
cmp edi, ebx
jne 0x4a7263
push 0x5362aa
push ebx
mov ecx, 0x513904
call fcn.0042a120
push 0x12
jmp 0x4a6a82
push edi
push 0x1000
lea eax, [esp + 0x1d38]
push ebp
push eax
call fcn.004b21ea
mov esi, eax
add esp, 0x10
cmp esi, ebx
jbe 0x4a72b5
push ebx
push esi
push ebp
lea ecx, [esp + 0x1d3c]
push ecx
call fcn.004351d0
cmp eax, esi
jne 0x4a73af
push edi
push 0x1000
lea edx, [esp + 0x1d38]
push ebp
push edx
call fcn.004b21ea
mov esi, eax
add esp, 0x10
cmp esi, ebx
ja 0x4a7280
push edi
call fcn.004b227e
add esp, 4
mov eax, dword [0x514de0]
cmp eax, ebx
je 0x4a72e1
push eax
call fcn.004b227e
mov eax, dword [0x514de8]
push eax
mov dword [0x514de0], ebx
call fcn.004af1b0
add esp, 8
mov ecx, dword [0x513968]
mov edx, dword [0x51396c]
mov dword [0x513958], ecx
mov dword [0x51395c], edx
cmp dword [0x514e50], ebx
je 0x4a7338
push ebx
push 4
push ebp
push 0x513978
mov byte [0x513978], 0x50
mov byte [0x513979], 0x4b
mov byte [0x51397a], 7
mov byte [0x51397b], 8
call fcn.004351d0
add dword [0x513958], 4
adc dword [0x51395c], ebx
cmp byte [0x535279], 0x41
mov dword [esp + 0x2c], ebx
jne 0x4a7360
cmp dword [0x514e78], ebx
mov edx, dword [0x513954]
setne al
movzx ecx, al
push ecx
push edx
push ebx
push ebp
call fcn.00409db0
mov esi, dword [0x514e78]
mov edi, 0x514e78
mov dword [esp + 0x20], edi
cmp esi, ebx
je 0x4a779d
cmp dword [esi + 0x6c], ebp
jne 0x4a758b
cmp byte [0x535279], 0x44
je 0x4a74e9
push esi
lea eax, [esp + 0x2c]
push eax
call fcn.004acbc0
test eax, eax
je 0x4a7408
mov cx, word [esi + 4]
xor edx, edx
mov word [esi + 0x2e], cx
mov word [esi + 0x22], dx
jmp 0x4a746c
mov eax, dword [0x514dd8]
push eax
push ebx
push eax
push ebx
mov ecx, 0x513904
call fcn.00429fd0
push edi
call fcn.004b227e
add esp, 4
push 0xe
jmp 0x4a6a82
cmp dword [0x514de0], ebx
je 0x4a72e1
mov ecx, dword [0x513968]
mov eax, dword [0x51396c]
mov edx, ecx
or edx, eax
je 0x4a72be
push eax
push ecx
call fcn.00435980
cmp eax, ebx
je 0x4a72be
push eax
jmp 0x4a6a82
mov eax, dword [esp + 0x28]
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 0x4a744e
mov edx, dword [eax + 0x4c]
push edx
call fcn.004af1b0
mov eax, dword [esp + 0x2c]
add esp, 4
cmp word [eax + 0x20], bx
je 0x4a744e
mov eax, dword [eax + 0x3c]
push eax
call fcn.004af1b0
mov eax, dword [esp + 0x2c]
add esp, 4
cmp dword [eax + 0x58], ebx
je 0x4a7463
mov ecx, dword [eax + 0x58]
push ecx
call fcn.004af1b0
mov eax, dword [esp + 0x2c]
add esp, 4
push eax
call fcn.004af1b0
add esp, 4
cmp dword [0x514d7c], ebx
je 0x4a7484
cmp dword [esi + 0x78], ebx
je 0x4a7484
push esi
call fcn.004abb80
jmp 0x4a7784
mov edx, dword [esi + 0x60]
push ebx
push ebx
push ebp
push edx
push ebx
push ebp
call fcn.00409df0
push esi
call fcn.004ae080
cmp eax, ebx
je 0x4a74aa
cmp eax, 0x12
je 0x4a74b8
cmp eax, 0xffffffff
jne 0x4a77fb
cmp eax, 0x12
je 0x4a74b8
cmp eax, 0xffffffff
jne 0x4a778c
mov eax, dword [esi + 0x60]
mov ecx, dword [0x513954]
push eax
push ebx
push ecx
push ebx
mov ecx, 0x513904
mov dword [esp + 0x3c], ebp
call fcn.00429de0
push esi
call fcn.004abb80
cmp eax, ebx
jne 0x4a69bf
mov dword [esi + 0x6c], ebx
jmp 0x4a778c
cmp byte [0x527e58], bl
jne 0x4a779d
mov edx, dword [esi + 0x54]
push ebx
push ebx
push edx
call fcn.0040ac30
mov eax, dword [esi + 0x4c]
mov ebp, dword [esi + 0x7c]
push eax
call fcn.004af1b0
mov ecx, dword [esi + 0x50]
push ecx
call fcn.004af1b0
mov edx, dword [esi + 0x54]
push edx
call fcn.004af1b0
mov eax, dword [esi + 0x58]
add esp, 0xc
cmp eax, ebx
je 0x4a7531
push eax
call fcn.004af1b0
add esp, 4
cmp word [esi + 0x22], bx
je 0x4a7547
mov eax, dword [esi + 0x40]
cmp eax, ebx
je 0x4a7547
push eax
call fcn.004af1b0
add esp, 4
cmp word [esi + 0x24], bx
je 0x4a755e
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x40]
je 0x4a755e
push eax
call fcn.004af1b0
add esp, 4
cmp word [esi + 0x26], bx
je 0x4a7570
mov eax, dword [esi + 0x48]
push eax
call fcn.004af1b0
add esp, 4
push esi
call fcn.004af1b0
mov dword [edi], ebp
add esp, 4
dec dword [0x513950]
mov ebp, 1
jmp 0x4a7793
cmp dword [0x514d7c], ebx
je 0x4a759c
cmp byte [esi + 0x74], bl
je 0x4a778c
cmp byte [0x535279], 0x44
jne 0x4a75b0
mov ecx, dword [esi + 0x54]
push ebp
push ebx
push ecx
call fcn.0040ac30
mov edi, dword [0x514d78]
cmp byte [esp + 0x16], bl
je 0x4a7778
lea ecx, [esp + 0x1d30]
call fcn.00402160
mov dword [esp + 0x2d3c], ebx
push 0xce8
lea edx, [esp + 0x1d34]
push ebx
push edx
call fcn.004af870
mov eax, dword [esi + 0x4c]
add esp, 0xc
push eax
call fcn.00455e70
movsx ecx, byte [eax]
push ecx
call fcn.00455760
push 0x3ff
lea edx, [esp + 0x1d64]
mov byte [esp + 0x1b], al
mov eax, dword [esi + 0x4c]
push edx
push eax
call fcn.00456f40
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.00472490
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.00455900
push 0x3ff
lea ecx, [esp + 0x1d64]
push ecx
lea edx, [esp + 0x2168]
push edx
call fcn.00477bc0
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 0x52fee8
call fcn.00458820
test al, al
je 0x4a7761
cmp byte [esp + 0x17], bl
je 0x4a76c2
lea eax, [esp + 0x1d60]
push eax
call fcn.004562d0
push 0x400
push ebx
lea ecx, [esp + 0x1d68]
push ecx
call fcn.00456fd0
push 0x400
push ebx
lea edx, [esp + 0x2168]
push edx
call fcn.004559a0
push 0x3ff
lea eax, [esp + 0x1d64]
push eax
lea ecx, [esp + 0x2168]
push ecx
call fcn.00477bc0
mov edx, dword [esi + 0x4c]
push edx
mov byte [esp + 0x2163], bl
call fcn.004af1b0
lea eax, [esp + 0x1d64]
push eax
call fcn.004c0797
mov ecx, dword [esi + 0x64]
push ecx
mov dword [esi + 0x4c], eax
call fcn.004af1b0
lea edx, [esp + 0x216c]
push edx
call fcn.004b0bb4
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x58]
push eax
call fcn.004af1b0
add esp, 0x14
lea ecx, [esp + 0x2160]
push ecx
call fcn.00480cf0
mov dword [esi + 0x58], eax
mov dword [0x514d78], 3
mov dword [esp + 0x2d3c], 0xffffffff
lea ecx, [esp + 0x1d30]
call fcn.00401760
push esi
call fcn.004abb80
mov dword [0x514d78], edi
cmp eax, ebx
jne 0x4a69bf
lea edi, [esi + 0x7c]
mov dword [esp + 0x20], edi
mov esi, dword [edi]
cmp esi, ebx
jne 0x4a7377
mov edi, dword [0x514e84]
cmp edi, ebx
je 0x4a795b
cmp byte [0x527e58], bl
jne 0x4a795b
push 0x80
call fcn.004af0e6
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4a66e5
mov dword [esi + 0x7c], ebx
mov edx, dword [edi]
lea ebp, [esi + 0x7c]
mov dword [esi + 0x3c], edx
mov dword [edi], ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ebx
mov eax, dword [edi + 0x18]
push eax
call fcn.004347f0
cmp dword [esi + 0x58], ebx
jne 0x4a780f
cmp eax, ebx
jne 0x4a7809
mov ecx, dword [edi + 0x10]
mov dword [esi + 0x58], ecx
jmp 0x4a781b
cmp byte [0x527e58], bl
jne 0x4a779d
push eax
jmp 0x4a6a82
mov edx, dword [edi + 0x10]
push edx
jmp 0x4a7813
mov eax, dword [edi + 0x10]
push eax
call fcn.004af1b0
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.00409df0
push esi
call fcn.004ae080
cmp eax, ebx
je 0x4a789a
cmp eax, 0x12
je 0x4a78b9
cmp eax, 0xffffffff
jne 0x4a79b3
cmp eax, 0x12
je 0x4a78b9
cmp eax, 0xffffffff
je 0x4a78b9
mov edx, dword [esp + 0x20]
mov dword [edx], esi
inc dword [0x513950]
mov dword [esp + 0x20], ebp
jmp 0x4a794b
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x54]
mov edx, dword [0x513954]
push eax
push ecx
push edx
push ebx
mov ecx, 0x513904
mov dword [esp + 0x3c], 1
call fcn.00429de0
mov eax, dword [esi + 0x3c]
push eax
call fcn.004af1b0
mov ecx, dword [esi + 0x4c]
push ecx
call fcn.004af1b0
mov edx, dword [esi + 0x50]
push edx
call fcn.004af1b0
mov eax, dword [esi + 0x54]
push eax
call fcn.004af1b0
mov eax, dword [esi + 0x58]
add esp, 0x10
cmp eax, ebx
je 0x4a7912
push eax
call fcn.004af1b0
add esp, 4
mov eax, dword [esi + 0x60]
cmp eax, ebx
je 0x4a7922
push eax
call fcn.004af1b0
add esp, 4
mov eax, dword [esi + 0x64]
cmp eax, ebx
je 0x4a7932
push eax
call fcn.004af1b0
add esp, 4
mov eax, dword [esi + 0x68]
cmp eax, ebx
je 0x4a7942
push eax
call fcn.004af1b0
add esp, 4
push esi
call fcn.004af1b0
add esp, 4
push edi
call fcn.00433ef0
mov edi, eax
cmp edi, ebx
jne 0x4a77ab
cmp word [0x531efa], bx
je 0x4a7b64
cmp dword [0x514d78], ebx
jne 0x4a7b64
push 0x4c7100
push 0x531efa
call fcn.004b23c0
mov esi, eax
add esp, 8
mov dword [esp + 0x28], esi
cmp esi, ebx
jne 0x4a79c1
mov ecx, dword [0x513954]
push 0x531efa
push 0x531afa
push ecx
push ebx
mov ecx, 0x513904
call fcn.00429de0
push 0x12
jmp 0x4a6a82
cmp byte [0x527e58], bl
jne 0x4a795b
push eax
jmp 0x4a6a82
cmp word [0x51394c], bx
je 0x4a79d9
mov edx, dword [0x514e80]
push edx
call fcn.004af1b0
add esp, 4
push 0x8000
call fcn.004af0e6
add esp, 4
mov dword [0x514e80], eax
cmp eax, ebx
jne 0x4a79f6
push 4
jmp 0x4a6a82
push esi
push 0x7fff
push 1
push eax
call fcn.004b21ea
mov ecx, dword [0x514e80]
mov word [0x51394c], ax
movzx eax, ax
add esp, 0x10
mov byte [eax + ecx], bl
cmp dword [0x5326fc], 2
jne 0x4a7a2f
mov eax, dword [0x514e80]
push eax
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
cmp dword [0x5326fc], 3
jne 0x4a7b57
mov ecx, dword [0x514e80]
mov al, byte [ecx]
mov dword [esp + 0x20], ecx
cmp al, 0xff
jne 0x4a7a59
cmp byte [ecx + 1], 0xfe
jne 0x4a7a59
mov edi, 1
jmp 0x4a7a5b
xor edi, edi
cmp al, 0xfe
jne 0x4a7a6c
cmp byte [ecx + 1], 0xff
jne 0x4a7a6c
mov ebp, 1
jmp 0x4a7a6e
xor ebp, ebp
movzx edx, word [0x51394c]
inc edx
push edx
lea ecx, [esp + 0x3c]
call fcn.0040b770
mov dword [esp + 0x2d3c], 1
xor edx, edx
lea ecx, [edx + 2]
cmp edi, ebx
jne 0x4a7a9d
cmp ebp, ebx
jne 0x4a7a9d
lea edi, [edx + 1]
xor ecx, ecx
movzx eax, word [0x51394c]
mov esi, dword [esp + 0x38]
cmp ecx, eax
jae 0x4a7aef
lea eax, [ecx + ebp]
add eax, dword [esp + 0x20]
sub edi, ebp
mov dword [esp + 0x20], edi
jmp 0x4a7ac4
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 [0x51394c]
add ecx, 2
inc edx
add eax, 2
cmp ecx, edi
jb 0x4a7ac0
xor ecx, ecx
push 0x7fff
mov word [esi + edx*2], cx
mov edx, dword [0x514e80]
push ebx
push edx
call fcn.004af870
mov eax, dword [0x514e80]
add esp, 0xc
push 0x7ffe
push eax
push esi
call fcn.00477bc0
mov ecx, dword [0x514e80]
mov byte [ecx + 0x7ffe], bl
mov eax, dword [0x514e80]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4a7b30
sub eax, edx
mov word [0x51394c], ax
mov dword [esp + 0x2d3c], 0xffffffff
cmp esi, ebx
je 0x4a7b57
push esi
call fcn.004af1b0
add esp, 4
mov edx, dword [esp + 0x28]
push edx
call fcn.004b227e
add esp, 4
mov esi, dword [0x514e78]
mov ecx, dword [0x513958]
mov edx, dword [0x51395c]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov edi, ecx
mov ebp, edx
cmp esi, ebx
je 0x4a7bde
cmp dword [0x514d7c], ebx
je 0x4a7b93
cmp byte [esi + 0x74], bl
je 0x4a7bd7
push esi
call fcn.004ab390
cmp eax, ebx
jne 0x4a69bf
movzx ecx, word [esi + 0x24]
movzx eax, word [esi + 0x26]
movzx edx, word [esi + 0x20]
add eax, ecx
mov ecx, dword [0x513958]
lea eax, [eax + edx + 0x2e]
cdq
add ecx, eax
adc dword [0x51395c], edx
add dword [esp + 0x20], 1
mov edx, dword [0x51395c]
mov dword [0x513958], ecx
adc dword [esp + 0x24], ebx
mov esi, dword [esi + 0x7c]
cmp esi, ebx
jne 0x4a7b86
sub ecx, edi
sbb edx, ebp
mov eax, ecx
mov ecx, edx
mov edx, dword [0x514e80]
push edx
movzx edx, word [0x51394c]
push edx
push ebp
push edi
push ecx
mov ecx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x3c]
push eax
push ecx
call fcn.004ab780
cmp eax, ebx
je 0x4a7c12
push eax
jmp 0x4a6a82
mov edx, dword [0x514ddc]
push edx
call fcn.004b227e
add esp, 4
test eax, eax
jne 0x4a6a6d
mov eax, dword [0x514de0]
mov dword [0x514ddc], ebx
cmp eax, ebx
je 0x4a7c47
push eax
call fcn.004b227e
add esp, 4
mov dword [0x514de0], ebx
call fcn.0040b140
cmp byte [0x527e58], bl
je 0x4a7cac
mov eax, dword [0x514dd8]
push eax
call fcn.00432770
mov ecx, dword [0x533840]
or ecx, dword [0x533844]
je 0x4a7e5a
xor esi, esi
cmp dword [0x514e0c], ebx
jbe 0x4a7e5a
nop
mov edx, dword [0x513954]
push esi
push edx
call fcn.00435080
mov edi, eax
push edi
call fcn.00432770
push edi
call fcn.004af1b0
inc esi
add esp, 4
cmp esi, dword [0x514e0c]
jb 0x4a7c80
jmp 0x4a7e5a
cmp word [0x5306f8], bx
je 0x4a7da1
push 0x5306f8
mov esi, 0x4c5e40
call fcn.00455e10
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4a7cee
cmp cx, bx
je 0x4a7cea
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4a7cee
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4a7cc8
xor eax, eax
jmp 0x4a7cf3
sbb eax, eax
sbb eax, 0xffffffff
mov esi, 0x4c5abc
cmp eax, ebx
je 0x4a7d01
mov esi, 0x4c5e00
mov eax, dword [0x513954]
push esi
push eax
call fcn.00456210
test al, al
jne 0x4a7da1
mov ecx, dword [0x513954]
push 0x400
push ecx
lea edx, [esp + 0x1510]
push edx
call fcn.0046f500
push esi
lea eax, [esp + 0x150c]
push eax
call fcn.00457d90
lea ecx, [esp + 0x1508]
push ecx
call fcn.00432480
test al, al
je 0x4a7d76
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea edx, [esp + 0x1518]
push edx
push ebx
call fcn.0040b080
cmp al, 0x43
je 0x4a7d6f
cmp al, 0x4e
jne 0x4a7d76
push 9
jmp 0x4a6a82
mov eax, dword [0x513954]
push eax
call fcn.004af1b0
lea ecx, [esp + 0x150c]
push ecx
call fcn.004b0bb4
add esp, 8
mov dword [0x513954], eax
cmp eax, ebx
jne 0x4a7da6
push 4
jmp 0x4a6a82
mov eax, dword [0x513954]
mov edx, dword [0x514dd8]
push edx
push eax
call fcn.00435610
mov esi, eax
cmp esi, ebx
je 0x4a7e1f
mov eax, dword [0x513954]
mov ecx, dword [0x514dd8]
push eax
push ecx
push 0x207
call fcn.00466160
push eax
push ebx
call fcn.00498e30
add esp, 0x10
mov ecx, 0x513904
call fcn.00429940
cmp esi, 0xf
jne 0x4a7e04
mov edx, dword [0x513954]
push edx
call fcn.00432480
test al, al
je 0x4a7e04
mov eax, dword [0x513954]
push eax
call fcn.00432770
mov ecx, dword [0x514dd8]
push ecx
call fcn.004af1b0
add esp, 4
mov dword [0x514dd8], ebx
push esi
jmp 0x4a6a82
mov edx, dword [0x514dd8]
push edx
call fcn.004af1b0
mov eax, dword [0x514df0]
add esp, 4
cmp eax, ebx
je 0x4a7e44
push eax
mov eax, dword [0x513954]
push eax
push ebx
call fcn.00432540
mov eax, dword [esp + 0x20]
or eax, dword [esp + 0x24]
jne 0x4a7e5a
mov ecx, dword [0x513954]
push ecx
call fcn.00432770
mov dword [0x514dd8], ebx
cmp byte [0x53382c], bl
je 0x4a7eb7
cmp byte [0x527e58], bl
jne 0x4a7eb7
mov esi, dword [0x514e78]
cmp esi, ebx
je 0x4a7eb7
lea ebx, [ebx]
cmp dword [esi + 0x6c], ebx
je 0x4a7eb0
mov edx, dword [esi + 0x60]
push edx
call fcn.004aeb10
test eax, eax
jne 0x4a7eb0
mov eax, dword [esi + 0x60]
push eax
push 0x4bf
call fcn.00466160
mov ecx, dword [0x513954]
push eax
push ecx
call fcn.00498e30
add esp, 0xc
mov esi, dword [esi + 0x7c]
cmp esi, ebx
jne 0x4a7e80
mov edx, dword [esp + 0x18]
push edx
call fcn.004af1b0
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.004a6020
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.004af00b
add esp, 0x2d2c
ret