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

Disassembly:
push 0xffffffffffffffff
push 0x4c44b6
mov eax, dword fs:[0]
push eax
mov eax, 0x2d20
call fcn.004af5f0
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.00442f00
xor ebx, ebx
mov dword [0x514d78], ebx
mov esi, 0x4c9654
mov eax, 0x535279
jmp 0x4a6100
mov cl, byte [eax]
or edi, 0xffffffff
cmp cl, byte [esi]
jne 0x4a6123
cmp cl, bl
je 0x4a611f
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x4a6123
add eax, 2
add esi, 2
cmp cl, bl
jne 0x4a6100
xor eax, eax
jmp 0x4a6127
sbb eax, eax
sbb eax, edi
cmp eax, ebx
jne 0x4a6135
mov dword [0x514d78], 2
xor eax, eax
cmp byte [0x5338f7], bl
mov ebp, 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], ebp
mov dword [0x514d74], ebx
mov dword [0x514d80], ebx
jne 0x4a61a3
cmp byte [0x53527a], 0x4e
mov byte [esp + 0x16], 1
je 0x4a61a7
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], ebp
mov dword [0x514da4], ebx
mov dword [0x4d6dc8], ebp
mov dword [0x4d6dcc], ebp
mov dword [0x514db8], ebx
mov dword [0x4d6dd0], ebp
mov dword [0x4d6dd4], edi
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], edi
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 0x4a638e
cmp eax, 0x7fffffff
jne 0x4a634a
cmp ecx, eax
jne 0x4a634a
push 0x535eaa
call fcn.00432170
mov dword [0x514e5c], edx
jmp 0x4a6350
mov dword [0x514e5c], ecx
mov dword [0x514e58], eax
mov dword [0x514e50], ebp
cmp word [0x5306f8], bx
je 0x4a638e
push 0x4c5e00
push 0x5362aa
call fcn.00455f40
test al, al
je 0x4a6386
push 0x4c5abc
push 0x5362aa
call fcn.00457ac0
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.004b3121
add eax, 0x20
mov dword [0x513970], eax
call fcn.004ae800
mov dword [0x514dd8], ebx
mov dword [0x514ddc], ebx
cmp dword [0x514e50], ebx
je 0x4a641f
push 0x4c5abc
push 0x5362aa
call fcn.00455f40
test al, al
jne 0x4a641f
mov eax, 0x5362aa
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4a63f3
sub eax, edx
sar eax, 1
cmp eax, 0x3fa
jbe 0x4a6410
push 5
call fcn.004a59d0
push 0x4c5abc
push 0x5362aa
call fcn.00457ac0
push 0x5362aa
call fcn.004b0974
add esp, 4
mov dword [0x513954], eax
cmp eax, ebx
jne 0x4a643c
push 4
call fcn.004a59d0
cmp dword [0x514d78], ebx
je 0x4a649a
push eax
call fcn.00455ed0
mov esi, eax
cmp esi, ebx
je 0x4a6495
cmp word [esi], 0x2e
jne 0x4a6495
movzx ecx, word [esi + 2]
push ecx
call fcn.004b0691
add esp, 4
cmp eax, 0x5a
jne 0x4a6495
movzx edx, word [esi + 4]
push edx
call fcn.0046f030
test al, al
je 0x4a6495
movzx eax, word [esi + 6]
push eax
call fcn.0046f030
test al, al
je 0x4a6495
mov ecx, dword [0x513954]
push 0x4c5abc
push ecx
call fcn.00457ac0
mov eax, dword [0x513954]
cmp dword [0x514de4], ebx
jne 0x4a64c0
push eax
call fcn.004b0974
add esp, 4
mov dword [0x514de4], eax
cmp eax, ebx
jne 0x4a64bb
push 4
call fcn.004a59d0
mov eax, dword [0x513954]
push eax
call fcn.004b0974
add esp, 4
mov dword [0x514dec], eax
cmp eax, ebx
jne 0x4a64d9
push 4
call fcn.004a59d0
mov dl, byte [0x535279]
cmp dl, 0x44
jne 0x4a6536
cmp dword [0x4d6dbc], edi
jne 0x4a6516
cmp dword [0x514d70], ebx
jne 0x4a6516
cmp dword [0x514d6c], ebx
jne 0x4a6516
cmp word [0x533304], bx
jne 0x4a6516
cmp dword [0x571bbc], ebx
jne 0x4a6516
cmp word [0x531efa], bx
je 0x4a6536
xor eax, eax
mov dword [0x4d6dbc], edi
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, ebp
je 0x4a654a
cmp eax, 2
jne 0x4a6555
cmp ecx, ebx
je 0x4a6555
xor eax, eax
mov dword [0x514d78], eax
cmp dword [0x514e50], ebx
je 0x4a656c
cmp eax, ebx
jne 0x4a6565
cmp ecx, ebx
je 0x4a656c
push 0x10
call fcn.004a59d0
cmp dl, 0x41
je 0x4a6580
cmp dword [0x514d7c], ebx
je 0x4a6580
push 0x10
call fcn.004a59d0
lea ecx, [esp + 0x68]
call fcn.00401190
push 0x14a0
lea ecx, [esp + 0x6c]
push ebx
push ecx
call fcn.004af620
mov eax, dword [0x513954]
add esp, 0xc
push ebx
lea edx, [esp + 0x6c]
push edx
push eax
push ebx
call fcn.00437b50
cmp dword [0x514d78], 2
jne 0x4a680f
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [eax + 0x4c9664]
mov word [esp + eax + 0x1508], cx
add eax, 2
cmp cx, bx
jne 0x4a65c0
mov ecx, dword [0x513954]
push ecx
call fcn.00455b40
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4a65e5
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 0x4a6600
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.00465ec0
push eax
lea eax, [esp + 0x1d38]
push eax
mov edx, 0x4c8
call fcn.004a5ca0
add esp, 0xc
lea ecx, [esp + 0x1d30]
push ecx
call fcn.0048b390
lea edx, [esp + 0x1508]
push edx
call fcn.00432420
test al, al
je 0x4a669f
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea eax, [esp + 0x1518]
push eax
push ebx
call fcn.0040b080
cmp al, 0x4e
je 0x4a66cb
cmp al, 0x43
je 0x4a66cb
lea ecx, [esp + 0x1508]
push ecx
push ebx
call fcn.00433230
lea edx, [esp + 0x1508]
push edx
call fcn.00432710
lea ecx, [esp + 0x1508]
push ecx
mov dword [0x513958], ebx
mov dword [0x51395c], ebx
call fcn.004b0974
add esp, 4
mov dword [0x514dd8], eax
cmp eax, ebx
jne 0x4a66d6
push 4
call fcn.004a59d0
lea eax, [esp + 0x68]
push eax
push ebx
jmp 0x4a7c75
push 0x4c70f8
push eax
call fcn.004b2180
add esp, 8
mov dword [0x514ddc], eax
cmp eax, ebx
jne 0x4a6706
mov edx, dword [0x514dd8]
push edx
push ebx
mov ecx, 0x513904
call fcn.0042a0d0
push 0xa
call fcn.004a59d0
call fcn.004ada70
cmp eax, ebx
je 0x4a6715
push eax
call fcn.004a59d0
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 0x4a6779
push esi
call fcn.004ab130
cmp eax, ebx
jne 0x4a670f
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 0x4a6736
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.004ab520
cmp eax, ebx
je 0x4a67ab
push eax
call fcn.004a59d0
mov eax, dword [0x514ddc]
push eax
call fcn.004b203e
add esp, 4
test eax, eax
je 0x4a67d7
mov eax, dword [0x514dd8]
push eax
push ebx
push eax
push ebx
mov ecx, 0x513904
call fcn.00429f60
push 0xa
call fcn.004a59d0
mov eax, dword [0x514de0]
cmp eax, ebx
je 0x4a67ef
push eax
call fcn.004b203e
add esp, 4
mov dword [0x514de0], ebx
mov ecx, dword [0x514dd8]
push ecx
call fcn.004aef60
add esp, 4
lea edx, [esp + 0x68]
push edx
mov dword [0x514dd8], ebx
push ebx
jmp 0x4a7c75
call fcn.004ada70
cmp eax, ebx
je 0x4a681e
push eax
call fcn.004a59d0
mov eax, dword [0x514e50]
cmp eax, edi
jne 0x4a682f
mov dword [0x514e50], ebx
jmp 0x4a68a5
cmp dword [0x514d78], ebx
jne 0x4a68a5
cmp eax, ebx
jne 0x4a68a5
cmp dword [0x514df4], ebp
jbe 0x4a68a5
mov eax, dword [0x514de4]
push ebx
push eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.00434ed0
push ebx
lea ecx, [esp + 0x1c]
push ecx
push ebx
push eax
mov dword [0x514de8], eax
call fcn.00480da0
test eax, eax
jne 0x4a6877
mov eax, 0x12
jmp 0x4a7c7a
mov ecx, dword [0x514de8]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ecx
mov dword [0x514e50], ebp
mov dword [0x514e58], edx
mov dword [0x514e5c], eax
call fcn.004aef60
add esp, 4
mov dword [0x514de8], ebx
mov dword [0x514df8], ebx
cmp byte [0x533873], bl
je 0x4a6908
mov edx, dword [0x513954]
push edx
call fcn.00455920
test al, al
je 0x4a6908
movsx eax, byte [0x535279]
push eax
push 0x4c60cc
call fcn.004aeb80
add esp, 8
test eax, eax
je 0x4a6908
mov ecx, dword [0x513954]
movzx edx, word [ecx]
push edx
lea eax, [esp + 0x150c]
push 0x4c7084
push eax
call fcn.004aedca
add esp, 0xc
lea ecx, [esp + 0x1508]
push ecx
call fcn.00433a10
cmp byte [0x535279], 0x44
jne 0x4a6924
call fcn.004815a0
cmp eax, ebx
je 0x4a6924
cmp eax, edi
je 0x4a6924
push eax
call fcn.004a59d0
cmp byte [0x535279], 0x41
jne 0x4a6932
call fcn.004812c0
call fcn.00433fb0
cmp dword [0x513950], ebx
je 0x4a694e
mov edx, dword [0x513948]
push edx
call fcn.004aef60
add esp, 4
mov esi, dword [0x514e78]
mov dword [0x571ba8], ebx
mov dword [0x571bac], ebx
mov dword [0x571bb0], ebx
mov dword [0x571bb4], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
cmp esi, ebx
je 0x4a6bd8
lea esp, [esp]
mov dword [esi + 0x78], ebx
cmp dword [0x514d7c], ebx
je 0x4a69a0
cmp dword [esi + 0x6c], ebx
setne al
mov byte [esi + 0x74], al
cmp al, bl
jne 0x4a69a0
add dword [esp + 0x18], ebp
adc dword [esp + 0x1c], ebx
cmp dword [esi + 0x6c], ebx
je 0x4a6bc7
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 0x4a6aeb
cmp al, 0x41
jne 0x4a69ee
cmp byte [0x533831], bl
jne 0x4a69ee
cmp byte [0x533830], bl
je 0x4a6aeb
cmp dword [esi + 0x60], ebx
jne 0x4a6a0e
mov eax, dword [esi + 0x58]
cmp eax, ebx
je 0x4a6a02
push eax
call fcn.004809e0
jmp 0x4a6a0b
mov ecx, dword [esi + 0x3c]
push ecx
call fcn.00480970
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.00480da0
mov edi, eax
cmp edi, ebx
sete al
cmp al, bl
jne 0x4a6a6d
cmp byte [0x533831], bl
jne 0x4a6a3d
cmp byte [0x533830], bl
je 0x4a6aa6
lea edx, [esp + 0x38]
push edx
push esi
call fcn.00481210
test al, al
je 0x4a6a63
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x64]
push ecx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, ebp
setne al
jmp 0x4a6a69
cmp edi, dword [esi + 8]
setbe al
cmp al, bl
je 0x4a6aa6
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 0x4a6bc7
mov eax, dword [esi + 0x18]
sub dword [0x571bb0], eax
mov ecx, dword [esi + 0x1c]
sbb dword [0x571bb4], ecx
jmp 0x4a6bc7
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x4a6ad8
cmp eax, 0xfffffffe
jne 0x4a6ac1
cmp ecx, 0xffffffff
je 0x4a6ad8
add dword [esp + 0x18], ebp
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x34]
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x1c], eax
jmp 0x4a6bc7
add dword [esp + 0x18], ebp
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
adc dword [esp + 0x1c], ebx
jmp 0x4a6bc7
add dword [esp + 0x18], ebp
adc dword [esp + 0x1c], ebx
cmp al, 0x44
je 0x4a6bc7
mov eax, dword [0x533810]
cmp eax, ebx
je 0x4a6bc7
cmp eax, 2
sete byte [esp + 0x17]
cmp eax, 4
jne case.default.0x4a6b94
mov edx, dword [esi + 0x60]
push 0x400
lea ecx, [esp + 0x150c]
push ecx
push edx
call fcn.00455630
lea eax, [esp + 0x1508]
push eax
mov edi, 2
call fcn.00455410
movzx ecx, word [eax]
push ecx
call fcn.00455490
test al, al
jne 0x4a6b8c
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.004aeb80
sub eax, dword [str.YNANC]
add esp, 8
add eax, ebp
mov edi, eax
add edi, 0xfffffffe
cmp edi, 3
ja case.default.0x4a6b94
jmp dword [edi*4 + 0x4a7ca4]
mov dword [0x533810], ebp
jmp case.default.0x4a6b94
mov dword [0x533810], 2
jmp case.0x4a6b94.2
push 0xff
mov ecx, 0x513904
call fcn.0042a000
cmp byte [esp + 0x17], bl
je 0x4a6bc7
mov dword [esi + 0x6c], ebx
mov esi, dword [esi + 0x7c]
cmp esi, ebx
jne 0x4a6980
mov esi, dword [0x514e78]
mov edi, dword [0x514e84]
cmp edi, ebx
je 0x4a6c7f
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 0x4a6c69
cmp byte [0x533830], bl
jne 0x4a6c17
mov edx, dword [edi + 0x14]
push ebx
push ebx
push ebx
push edx
call fcn.00480da0
cmp byte [0x535279], 0x44
je 0x4a6c69
cmp byte [0x533830], bl
jne 0x4a6c69
cmp eax, ebx
je 0x4a6c69
mov ecx, dword [0x513954]
mov eax, dword [edi + 0x1c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4a6c5b
cmp dx, bx
je 0x4a6c57
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4a6c5b
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x4a6c35
xor eax, eax
jmp 0x4a6c60
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4a6c69
mov edi, dword [edi + 0x2c]
jmp 0x4a6c71
push edi
call fcn.00433e90
mov edi, eax
cmp edi, ebx
jne 0x4a6be6
mov esi, dword [0x514e78]
mov eax, dword [esp + 0x18]
or eax, dword [esp + 0x1c]
mov edx, dword [0x571bc8]
jne 0x4a6ce3
cmp dword [0x514e84], ebx
jne 0x4a6ce3
cmp byte [esp + 0x16], bl
jne 0x4a6ce3
mov edi, dword [0x514d78]
mov eax, dword [0x53385c]
mov ebp, dword [0x514d80]
cmp esi, ebx
je 0x4a6d41
cmp eax, 2
je 0x4a6ce3
mov cl, byte [0x535279]
cmp cl, 0x53
je 0x4a6ce3
cmp edi, ebx
jne 0x4a6ce3
cmp ebp, ebx
jne 0x4a6ce3
cmp edx, ebx
jne 0x4a6ce3
cmp dword [0x571bbc], ebx
jne 0x4a6ce3
cmp word [0x531efa], bx
je 0x4a6d47
cmp word [0x533304], bx
je 0x4a6cfc
call fcn.004a4e90
mov esi, dword [0x514e78]
mov dword [0x571bb8], eax
mov ebp, 1
cmp esi, ebx
je 0x4a6dbd
cmp dword [0x514df4], ebp
je 0x4a6dbd
mov eax, dword [0x513968]
cmp eax, 4
jne 0x4a6dc2
cmp dword [0x51396c], ebx
jne 0x4a6dc2
xor eax, eax
mov dword [0x513968], eax
mov dword [0x51396c], ebx
jmp 0x4a6dc2
mov cl, byte [0x535279]
cmp byte [0x533831], bl
jne 0x4a6db1
cmp byte [0x533830], bl
jne 0x4a6db1
cmp esi, ebx
jne 0x4a6d73
cmp eax, 2
je 0x4a6d6c
cmp edi, ebx
jne 0x4a6d6c
cmp ebp, ebx
jne 0x4a6d6c
cmp edx, ebx
je 0x4a6d73
push 0xd
call fcn.004a59d0
cmp cl, 0x41
jne 0x4a6d8b
push 0x340
call fcn.00465ec0
push eax
mov eax, dword [0x513954]
push eax
jmp 0x4a6da2
cmp cl, 0x44
jne 0x4a6daa
push 0x346
call fcn.00465ec0
mov ecx, dword [0x513954]
push eax
push ecx
call fcn.00498be0
add esp, 8
push 0xc
call fcn.004a59d0
lea edx, [esp + 0x68]
push edx
push 0xc
jmp 0x4a7c75
mov eax, dword [0x513968]
cmp dword [0x571bc4], ebx
je 0x4a6de0
cmp esi, ebx
jne 0x4a6de0
mov ecx, eax
or ecx, dword [0x51396c]
jne 0x4a6de0
mov dword [0x514df0], ebx
jmp 0x4a6e25
mov edx, dword [0x513954]
push edx
push ebx
call fcn.004324b0
mov dword [0x514df0], eax
cmp eax, 0xffffffff
jne 0x4a6dfd
mov dword [0x514df0], ebx
mov eax, dword [0x513968]
cmp dword [0x514e78], ebx
jne 0x4a6e25
mov ecx, eax
or ecx, dword [0x51396c]
jne 0x4a6e25
mov edx, dword [0x513954]
push edx
call fcn.00432710
mov eax, dword [0x513968]
cmp dword [0x571bc8], ebx
je 0x4a6e3a
xor eax, eax
mov dword [0x513968], eax
mov dword [0x51396c], ebx
or eax, dword [0x51396c]
mov dword [0x513958], ebx
mov dword [0x51395c], ebx
je 0x4a6eb8
mov eax, dword [0x514de4]
push ebx
push eax
call fcn.00434ed0
push 0x4c7100
push eax
mov dword [0x514de8], eax
call fcn.004b2180
add esp, 8
mov dword [0x514de0], eax
cmp eax, ebx
jne 0x4a6eb8
push ebx
call fcn.00435830
test eax, eax
jne 0x4a6ed6
mov ecx, dword [0x514de8]
push ecx
call fcn.004aef60
mov edx, dword [0x514de4]
add esp, 4
push ebp
push edx
call fcn.00434ed0
push 0x4c7100
push eax
mov dword [0x514de8], eax
call fcn.004b2180
add esp, 8
mov dword [0x514de0], eax
cmp eax, ebx
je 0x4a6e76
mov ecx, dword [0x513954]
push ecx
call fcn.00432420
cmp al, bl
je 0x4a6eee
mov edx, dword [0x513954]
push edx
call fcn.00434110
jmp 0x4a6efc
mov eax, dword [0x514de8]
push eax
push ebx
mov ecx, 0x513904
call fcn.0042a0b0
push 9
call fcn.004a59d0
mov eax, dword [0x513954]
push eax
call fcn.004b0974
add esp, 4
mov dword [0x514dd8], eax
cmp eax, ebx
jne 0x4a6f0c
push 4
call fcn.004a59d0
push 0x4c70f8
push eax
call fcn.004b2180
add esp, 8
mov dword [0x514ddc], eax
cmp eax, ebx
je 0x4a67bd
push 0x4000
call fcn.004aee96
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
jne 0x4a6f43
push 4
jmp 0x4a67d2
mov ecx, dword [0x514ddc]
push 0x4000
push ebx
push eax
push ecx
call fcn.004b380f
mov edx, dword [0x514ddc]
add esp, 0x10
push edx
mov dword [0x4d6dd0], ebp
call fcn.004adc30
test eax, eax
jne 0x4a6f7b
mov dword [0x4d6dd0], ebx
mov dword [0x514db8], ebp
cmp word [0x5306f8], bx
je 0x4a716b
push 0x5306f8
mov esi, 0x4c5e40
call fcn.00455b40
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4a6fbd
cmp cx, bx
je 0x4a6fb9
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4a6fbd
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4a6f97
xor eax, eax
jmp 0x4a6fc2
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4a7052
push ebx
push 0x4c79e8
push 0x5306f8
call fcn.00432bd0
mov edi, eax
cmp edi, ebx
jne 0x4a6ff7
push 0x5362aa
push ebx
mov ecx, 0x513904
call fcn.0042a0b0
push 0x12
jmp 0x4a67d2
push edi
push 0x1000
lea eax, [esp + 0x1d38]
push ebp
push eax
call fcn.004b1faa
mov esi, eax
add esp, 0x10
cmp esi, ebx
jbe 0x4a7049
push ebx
push esi
push ebp
lea ecx, [esp + 0x1d3c]
push ecx
call fcn.00435170
cmp eax, esi
jne 0x4a7148
push edi
push 0x1000
lea edx, [esp + 0x1d38]
push ebp
push edx
call fcn.004b1faa
mov esi, eax
add esp, 0x10
cmp esi, ebx
ja 0x4a7014
push edi
call fcn.004b203e
add esp, 4
mov eax, dword [0x514de0]
cmp eax, ebx
je 0x4a7075
push eax
call fcn.004b203e
mov eax, dword [0x514de8]
push eax
mov dword [0x514de0], ebx
call fcn.004aef60
add esp, 8
mov ecx, dword [0x513968]
mov edx, dword [0x51396c]
mov dword [0x513958], ecx
mov dword [0x51395c], edx
cmp dword [0x514e50], ebx
je 0x4a70cc
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.00435170
add dword [0x513958], 4
adc dword [0x51395c], ebx
cmp byte [0x535279], 0x41
mov dword [esp + 0x2c], ebx
jne 0x4a70f4
cmp dword [0x514e78], ebx
mov edx, dword [0x513954]
setne al
movzx ecx, al
push ecx
push edx
push ebx
push ebp
call fcn.00409da0
mov esi, dword [0x514e78]
mov edi, 0x514e78
mov dword [esp + 0x20], edi
cmp esi, ebx
je 0x4a7536
jmp 0x4a7110
cmp dword [esi + 0x6c], ebp
jne 0x4a7324
cmp byte [0x535279], 0x44
je 0x4a7282
push esi
lea eax, [esp + 0x2c]
push eax
call fcn.004ac960
test eax, eax
je 0x4a71a1
mov cx, word [esi + 4]
xor edx, edx
mov word [esi + 0x2e], cx
mov word [esi + 0x22], dx
jmp 0x4a7205
mov eax, dword [0x514dd8]
push eax
push ebx
push eax
push ebx
mov ecx, 0x513904
call fcn.00429f60
push edi
call fcn.004b203e
add esp, 4
push 0xe
jmp 0x4a67d2
cmp dword [0x514de0], ebx
je 0x4a7075
mov ecx, dword [0x513968]
mov eax, dword [0x51396c]
mov edx, ecx
or edx, eax
je 0x4a7052
push eax
push ecx
call fcn.00435920
cmp eax, ebx
je 0x4a7052
push eax
jmp 0x4a67d2
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 0x4a71e7
mov edx, dword [eax + 0x4c]
push edx
call fcn.004aef60
mov eax, dword [esp + 0x2c]
add esp, 4
cmp word [eax + 0x20], bx
je 0x4a71e7
mov eax, dword [eax + 0x3c]
push eax
call fcn.004aef60
mov eax, dword [esp + 0x2c]
add esp, 4
cmp dword [eax + 0x58], ebx
je 0x4a71fc
mov ecx, dword [eax + 0x58]
push ecx
call fcn.004aef60
mov eax, dword [esp + 0x2c]
add esp, 4
push eax
call fcn.004aef60
add esp, 4
cmp dword [0x514d7c], ebx
je 0x4a721d
cmp dword [esi + 0x78], ebx
je 0x4a721d
push esi
call fcn.004ab920
jmp 0x4a751d
mov edx, dword [esi + 0x60]
push ebx
push ebx
push ebp
push edx
push ebx
push ebp
call fcn.00409de0
push esi
call fcn.004ade30
cmp eax, ebx
je 0x4a7243
cmp eax, 0x12
je 0x4a7251
cmp eax, 0xffffffff
jne 0x4a7594
cmp eax, 0x12
je 0x4a7251
cmp eax, 0xffffffff
jne 0x4a7525
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.00429d70
push esi
call fcn.004ab920
cmp eax, ebx
jne 0x4a670f
mov dword [esi + 0x6c], ebx
jmp 0x4a7525
cmp byte [0x527e58], bl
jne 0x4a7536
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.004aef60
mov ecx, dword [esi + 0x50]
push ecx
call fcn.004aef60
mov edx, dword [esi + 0x54]
push edx
call fcn.004aef60
mov eax, dword [esi + 0x58]
add esp, 0xc
cmp eax, ebx
je 0x4a72ca
push eax
call fcn.004aef60
add esp, 4
cmp word [esi + 0x22], bx
je 0x4a72e0
mov eax, dword [esi + 0x40]
cmp eax, ebx
je 0x4a72e0
push eax
call fcn.004aef60
add esp, 4
cmp word [esi + 0x24], bx
je 0x4a72f7
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x40]
je 0x4a72f7
push eax
call fcn.004aef60
add esp, 4
cmp word [esi + 0x26], bx
je 0x4a7309
mov eax, dword [esi + 0x48]
push eax
call fcn.004aef60
add esp, 4
push esi
call fcn.004aef60
mov dword [edi], ebp
add esp, 4
dec dword [0x513950]
mov ebp, 1
jmp 0x4a752c
cmp dword [0x514d7c], ebx
je 0x4a7335
cmp byte [esi + 0x74], bl
je 0x4a7525
cmp byte [0x535279], 0x44
jne 0x4a7349
mov ecx, dword [esi + 0x54]
push ebp
push ebx
push ecx
call fcn.0040ac30
mov edi, dword [0x514d78]
cmp byte [esp + 0x16], bl
je 0x4a7511
lea ecx, [esp + 0x1d30]
call fcn.00402160
mov dword [esp + 0x2d3c], ebx
push 0xce8
lea edx, [esp + 0x1d34]
push ebx
push edx
call fcn.004af620
mov eax, dword [esi + 0x4c]
add esp, 0xc
push eax
call fcn.00455ba0
movsx ecx, byte [eax]
push ecx
call fcn.00455490
push 0x3ff
lea edx, [esp + 0x1d64]
mov byte [esp + 0x1b], al
mov eax, dword [esi + 0x4c]
push edx
push eax
call fcn.00456c70
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.004721f0
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.00455630
push 0x3ff
lea ecx, [esp + 0x1d64]
push ecx
lea edx, [esp + 0x2168]
push edx
call fcn.00477920
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.00458550
test al, al
je 0x4a74fa
cmp byte [esp + 0x17], bl
je 0x4a745b
lea eax, [esp + 0x1d60]
push eax
call fcn.00456000
push 0x400
push ebx
lea ecx, [esp + 0x1d68]
push ecx
call fcn.00456d00
push 0x400
push ebx
lea edx, [esp + 0x2168]
push edx
call fcn.004556d0
push 0x3ff
lea eax, [esp + 0x1d64]
push eax
lea ecx, [esp + 0x2168]
push ecx
call fcn.00477920
mov edx, dword [esi + 0x4c]
push edx
mov byte [esp + 0x2163], bl
call fcn.004aef60
lea eax, [esp + 0x1d64]
push eax
call fcn.004c0547
mov ecx, dword [esi + 0x64]
push ecx
mov dword [esi + 0x4c], eax
call fcn.004aef60
lea edx, [esp + 0x216c]
push edx
call fcn.004b0974
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x58]
push eax
call fcn.004aef60
add esp, 0x14
lea ecx, [esp + 0x2160]
push ecx
call fcn.00480a60
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.004ab920
mov dword [0x514d78], edi
cmp eax, ebx
jne 0x4a670f
lea edi, [esi + 0x7c]
mov dword [esp + 0x20], edi
mov esi, dword [edi]
cmp esi, ebx
jne 0x4a7110
mov edi, dword [0x514e84]
cmp edi, ebx
je 0x4a76f4
cmp byte [0x527e58], bl
jne 0x4a76f4
push 0x80
call fcn.004aee96
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4a6435
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.00434790
cmp dword [esi + 0x58], ebx
jne 0x4a75a8
cmp eax, ebx
jne 0x4a75a2
mov ecx, dword [edi + 0x10]
mov dword [esi + 0x58], ecx
jmp 0x4a75b4
cmp byte [0x527e58], bl
jne 0x4a7536
push eax
jmp 0x4a67d2
mov edx, dword [edi + 0x10]
push edx
jmp 0x4a75ac
mov eax, dword [edi + 0x10]
push eax
call fcn.004aef60
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.00409de0
push esi
call fcn.004ade30
cmp eax, ebx
je 0x4a7633
cmp eax, 0x12
je 0x4a7652
cmp eax, 0xffffffff
jne 0x4a774c
cmp eax, 0x12
je 0x4a7652
cmp eax, 0xffffffff
je 0x4a7652
mov edx, dword [esp + 0x20]
mov dword [edx], esi
inc dword [0x513950]
mov dword [esp + 0x20], ebp
jmp 0x4a76e4
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.00429d70
mov eax, dword [esi + 0x3c]
push eax
call fcn.004aef60
mov ecx, dword [esi + 0x4c]
push ecx
call fcn.004aef60
mov edx, dword [esi + 0x50]
push edx
call fcn.004aef60
mov eax, dword [esi + 0x54]
push eax
call fcn.004aef60
mov eax, dword [esi + 0x58]
add esp, 0x10
cmp eax, ebx
je 0x4a76ab
push eax
call fcn.004aef60
add esp, 4
mov eax, dword [esi + 0x60]
cmp eax, ebx
je 0x4a76bb
push eax
call fcn.004aef60
add esp, 4
mov eax, dword [esi + 0x64]
cmp eax, ebx
je 0x4a76cb
push eax
call fcn.004aef60
add esp, 4
mov eax, dword [esi + 0x68]
cmp eax, ebx
je 0x4a76db
push eax
call fcn.004aef60
add esp, 4
push esi
call fcn.004aef60
add esp, 4
push edi
call fcn.00433e90
mov edi, eax
cmp edi, ebx
jne 0x4a7544
cmp word [0x531efa], bx
je 0x4a7904
cmp dword [0x514d78], ebx
jne 0x4a7904
push 0x4c7100
push 0x531efa
call fcn.004b2180
mov esi, eax
add esp, 8
mov dword [esp + 0x28], esi
cmp esi, ebx
jne 0x4a775a
mov ecx, dword [0x513954]
push 0x531efa
push 0x531afa
push ecx
push ebx
mov ecx, 0x513904
call fcn.00429d70
push 0x12
jmp 0x4a67d2
cmp byte [0x527e58], bl
jne 0x4a76f4
push eax
jmp 0x4a67d2
cmp word [0x51394c], bx
je 0x4a7772
mov edx, dword [0x514e80]
push edx
call fcn.004aef60
add esp, 4
push 0x8000
call fcn.004aee96
add esp, 4
mov dword [0x514e80], eax
cmp eax, ebx
jne 0x4a778f
push 4
jmp 0x4a67d2
push esi
push 0x7fff
push 1
push eax
call fcn.004b1faa
mov ecx, dword [0x514e80]
mov word [0x51394c], ax
movzx eax, ax
add esp, 0x10
mov byte [eax + ecx], bl
cmp dword [0x5326fc], 2
jne 0x4a77c8
mov eax, dword [0x514e80]
push eax
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
cmp dword [0x5326fc], 3
jne 0x4a78f7
mov ecx, dword [0x514e80]
mov al, byte [ecx]
mov dword [esp + 0x20], ecx
cmp al, 0xff
jne 0x4a77f2
cmp byte [ecx + 1], 0xfe
jne 0x4a77f2
mov edi, 1
jmp 0x4a77f4
xor edi, edi
cmp al, 0xfe
jne 0x4a7805
cmp byte [ecx + 1], 0xff
jne 0x4a7805
mov ebp, 1
jmp 0x4a7807
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 0x4a7836
cmp ebp, ebx
jne 0x4a7836
lea edi, [edx + 1]
xor ecx, ecx
movzx eax, word [0x51394c]
mov esi, dword [esp + 0x38]
cmp ecx, eax
jae 0x4a788f
lea eax, [ecx + ebp]
add eax, dword [esp + 0x20]
sub edi, ebp
mov dword [esp + 0x20], edi
jmp 0x4a7864
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 0x4a7860
xor ecx, ecx
push 0x7fff
mov word [esi + edx*2], cx
mov edx, dword [0x514e80]
push ebx
push edx
call fcn.004af620
mov eax, dword [0x514e80]
add esp, 0xc
push 0x7ffe
push eax
push esi
call fcn.00477920
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 0x4a78d0
sub eax, edx
mov word [0x51394c], ax
mov dword [esp + 0x2d3c], 0xffffffff
cmp esi, ebx
je 0x4a78f7
push esi
call fcn.004aef60
add esp, 4
mov edx, dword [esp + 0x28]
push edx
call fcn.004b203e
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 0x4a797e
cmp dword [0x514d7c], ebx
je 0x4a7933
cmp byte [esi + 0x74], bl
je 0x4a7977
push esi
call fcn.004ab130
cmp eax, ebx
jne 0x4a670f
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 0x4a7926
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.004ab520
cmp eax, ebx
je 0x4a79b2
push eax
jmp 0x4a67d2
mov edx, dword [0x514ddc]
push edx
call fcn.004b203e
add esp, 4
test eax, eax
jne 0x4a67bd
mov eax, dword [0x514de0]
mov dword [0x514ddc], ebx
cmp eax, ebx
je 0x4a79e7
push eax
call fcn.004b203e
add esp, 4
mov dword [0x514de0], ebx
call fcn.0040b140
cmp byte [0x527e58], bl
je 0x4a7a4c
mov eax, dword [0x514dd8]
push eax
call fcn.00432710
mov ecx, dword [0x533840]
or ecx, dword [0x533844]
je 0x4a7bfa
xor esi, esi
cmp dword [0x514e0c], ebx
jbe 0x4a7bfa
nop
mov edx, dword [0x513954]
push esi
push edx
call fcn.00435020
mov edi, eax
push edi
call fcn.00432710
push edi
call fcn.004aef60
inc esi
add esp, 4
cmp esi, dword [0x514e0c]
jb 0x4a7a20
jmp 0x4a7bfa
cmp word [0x5306f8], bx
je 0x4a7b41
push 0x5306f8
mov esi, 0x4c5e40
call fcn.00455b40
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4a7a8e
cmp cx, bx
je 0x4a7a8a
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4a7a8e
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4a7a68
xor eax, eax
jmp 0x4a7a93
sbb eax, eax
sbb eax, 0xffffffff
mov esi, 0x4c5abc
cmp eax, ebx
je 0x4a7aa1
mov esi, 0x4c5e00
mov eax, dword [0x513954]
push esi
push eax
call fcn.00455f40
test al, al
jne 0x4a7b41
mov ecx, dword [0x513954]
push 0x400
push ecx
lea edx, [esp + 0x1510]
push edx
call fcn.0046f260
push esi
lea eax, [esp + 0x150c]
push eax
call fcn.00457ac0
lea ecx, [esp + 0x1508]
push ecx
call fcn.00432420
test al, al
je 0x4a7b16
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea edx, [esp + 0x1518]
push edx
push ebx
call fcn.0040b080
cmp al, 0x43
je 0x4a7b0f
cmp al, 0x4e
jne 0x4a7b16
push 9
jmp 0x4a67d2
mov eax, dword [0x513954]
push eax
call fcn.004aef60
lea ecx, [esp + 0x150c]
push ecx
call fcn.004b0974
add esp, 8
mov dword [0x513954], eax
cmp eax, ebx
jne 0x4a7b46
push 4
jmp 0x4a67d2
mov eax, dword [0x513954]
mov edx, dword [0x514dd8]
push edx
push eax
call fcn.004355b0
mov esi, eax
cmp esi, ebx
je 0x4a7bbf
mov eax, dword [0x513954]
mov ecx, dword [0x514dd8]
push eax
push ecx
push 0x207
call fcn.00465ec0
push eax
push ebx
call fcn.00498be0
add esp, 0x10
mov ecx, 0x513904
call fcn.004298d0
cmp esi, 0xf
jne 0x4a7ba4
mov edx, dword [0x513954]
push edx
call fcn.00432420
test al, al
je 0x4a7ba4
mov eax, dword [0x513954]
push eax
call fcn.00432710
mov ecx, dword [0x514dd8]
push ecx
call fcn.004aef60
add esp, 4
mov dword [0x514dd8], ebx
push esi
jmp 0x4a67d2
mov edx, dword [0x514dd8]
push edx
call fcn.004aef60
mov eax, dword [0x514df0]
add esp, 4
cmp eax, ebx
je 0x4a7be4
push eax
mov eax, dword [0x513954]
push eax
push ebx
call fcn.004324e0
mov eax, dword [esp + 0x20]
or eax, dword [esp + 0x24]
jne 0x4a7bfa
mov ecx, dword [0x513954]
push ecx
call fcn.00432710
mov dword [0x514dd8], ebx
cmp byte [0x53382c], bl
je 0x4a7c57
cmp byte [0x527e58], bl
jne 0x4a7c57
mov esi, dword [0x514e78]
cmp esi, ebx
je 0x4a7c57
lea ebx, [ebx]
cmp dword [esi + 0x6c], ebx
je 0x4a7c50
mov edx, dword [esi + 0x60]
push edx
call fcn.004ae8c0
test eax, eax
jne 0x4a7c50
mov eax, dword [esi + 0x60]
push eax
push 0x4bf
call fcn.00465ec0
mov ecx, dword [0x513954]
push eax
push ecx
call fcn.00498be0
add esp, 0xc
mov esi, dword [esi + 0x7c]
cmp esi, ebx
jne 0x4a7c20
mov edx, dword [esp + 0x18]
push edx
call fcn.004aef60
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.004a5d70
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.004aedbb
add esp, 0x2d2c
ret