Function at 0x5447a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c]
cmp eax, dword [ecx + 8]
jbe 0x5453cb
sub esp, 0xac
mov edx, dword [0x8a8548]
mov ecx, dword [0x8a8544]
mov ebx, dword [str._n_____BEGIN]
cmp ecx, 1
jb 0x5453c0
dec edx
neg edx
sar edx, 0x1f
and edx, 1
add edx, ebx
lea ebx, [ecx - 1]
mov ecx, dword [esp + 0xb4]
cmp ecx, ebx
jge 0x54533b
xor eax, eax
test al, al
je 0x54527a
mov edx, dword [0x8a8544]
lea eax, [edx - 1]
cmp eax, ecx
ja 0x5453bb
sub ecx, eax
mov ebx, dword [esp + 0xb8]
sub ebx, eax
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov eax, dword [esp + 0xb0]
add ebx, eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.00544580
mov eax, dword [esp + 0x20]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xa8], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x2c], ebx
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x94], ebp
mov esi, dword [esp + 0x14]
mov dword [esp + 0x70], esi
mov edi, dword [0x8a8534]
mov eax, dword [0x8a8530]
cmp ebx, edi
jl 0x545273
mov dword [esp + 0x6c], edi
sub ebx, edi
mov edi, dword [esp + 0x2c]
cmp ebx, edi
ja 0x5453ad
sub edi, ebx
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebx
lea ebx, [ebp + esi]
mov esi, dword [esp + 0x6c]
cmp esi, edi
je 0x545247
xor eax, eax
test al, al
je 0x5451df
mov eax, dword [0x8a8534]
mov ebx, dword [esp + 0x2c]
sub ebx, eax
mov eax, dword [esp + 0x70]
cmp ebx, eax
ja 0x5453a4
mov dword [esp + 0x68], ebx
call fcn.0040b090
mov eax, dword [esp]
mov dword [esp + 0xa4], eax
lea ecx, [0x676580]
mov dword [esp], ecx
call fcn.0040a500
mov eax, dword [0x8c1190]
mov ecx, dword [esp + 4]
mov dword [esp + 0xa0], ecx
test eax, eax
jne 0x5451cb
mov eax, dword [esp + 0xa4]
mov dword [ecx + 8], eax
mov dword [esp], 0
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xc], edx
call fcn.0043f830
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0xa0]
mov dword [edi + 4], eax
mov eax, dword [0x8c1190]
test eax, eax
jne 0x5451bf
mov dword [edi], ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xa8]
jmp 0x544991
mov edi, dword [esp + 0xa0]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
test ecx, ecx
je 0x545183
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x80], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00544580
mov eax, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x88], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x54], ebx
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x64], ebp
mov esi, dword [esp + 0xc]
mov dword [esp + 0x8c], esi
nop
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov byte [esp + 0xc], 0x3a
call fcn.00402420
mov ecx, dword [esp + 0x10]
cmp ecx, 0xffffffff
je 0x544b60
mov edx, dword [esp + 0x54]
cmp ecx, edx
ja 0x54539f
lea eax, [ecx + 1]
mov ebx, dword [esp + 0x64]
cmp eax, ebx
ja 0x545398
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00465440
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x78]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x8c]
add eax, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x50], ebx
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x8c], ebp
mov esi, dword [esp + 0x14]
mov dword [esp + 0x54], esi
mov dword [esp], eax
mov eax, dword [esp + 0x64]
sub eax, ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00465440
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0043f830
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 8]
mov dword [esp + 0x9c], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x98], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x78], ebx
mov dword [esp], 0
mov ebp, dword [esp + 0x8c]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xc], ebp
call fcn.0043f830
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea edx, [0x65b840]
mov dword [esp], edx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.0040f7b0
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x78]
mov dword [edi + 4], eax
mov eax, dword [0x8c1190]
test eax, eax
jne 0x544b4f
mov eax, dword [esp + 0x98]
mov dword [edi], eax
jmp 0x54497b
mov eax, dword [esp + 0x98]
call fcn.00450d20
jmp 0x54497b
mov ebx, dword [esp + 0xa0]
mov ebp, dword [ebx + 8]
test ebp, ebp
je 0x54517c
mov ebp, dword [ebp]
test ebp, ebp
jne 0x545171
mov ecx, dword [0x8a8524]
mov ebp, dword [str._n_____END]
mov esi, dword [0x8a8528]
cmp ecx, 1
jb 0x54538e
dec esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add ebp, esi
lea esi, [ecx - 1]
mov ecx, dword [esp + 0x34]
cmp ecx, esi
jge 0x545145
xor eax, eax
test al, al
je 0x5450ef
mov ebp, dword [0x8a8524]
dec ebp
xor eax, eax
test eax, eax
jl 0x545080
cmp ebp, ecx
ja 0x545387
sub ecx, ebp
mov edx, dword [esp + 0x3c]
sub edx, ebp
mov dword [esp + 0x38], edx
neg edx
sar edx, 0x1f
and ebp, edx
mov ebx, dword [esp + 0x80]
add ebp, ebx
mov edi, dword [0x8a8534]
mov esi, dword [esp + 0x68]
add edi, esi
cmp ecx, edi
jl 0x545014
cmp edi, ecx
ja 0x545380
mov dword [esp + 0x58], eax
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x30], edi
sub ecx, edi
mov dword [esp + 0x40], ecx
mov ebx, dword [esp + 0x38]
sub ebx, edi
mov dword [esp + 0x44], ebx
neg ebx
sar ebx, 0x1f
and ebx, edi
add ebx, ebp
mov dword [esp + 0x84], ebx
cmp edi, esi
jl 0x54500d
mov eax, dword [esp + 0x38]
cmp esi, eax
ja 0x545377
mov dword [esp], ebp
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00402300
movzx eax, byte [esp + 0xc]
test al, al
je 0x545003
mov edx, dword [0x8a8534]
mov ebx, dword [0x8a8530]
mov eax, dword [esp + 0x30]
cmp eax, edx
jl 0x544ffc
mov ecx, eax
sub eax, edx
cmp eax, ecx
ja 0x545372
sub ecx, eax
mov ebp, dword [esp + 0x38]
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
mov ebp, dword [esp + 0x7c]
add eax, ebp
cmp edx, ecx
je 0x544fe2
xor eax, eax
xor eax, 1
test al, al
jne 0x544f6f
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
call fcn.00544580
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x544efc
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x3c]
cmp ecx, edx
ja 0x54536d
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.005446b0
mov eax, dword [0x8ad288]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x90], ebx
cmp dword [eax + 0x140], 0xffffffff
jne 0x544ef1
lea eax, [edx + edx*2]
mov ebp, eax
shl eax, 1
sar eax, 0x1f
shr eax, 0x1d
lea eax, [eax + ebp*2]
sar eax, 3
mov dword [esp + 0x28], eax
lea ecx, [0x659d80]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0043c2b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xa0]
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], ecx
mov ebx, dword [0x8c1190]
test ebx, ebx
jne 0x544ee4
mov dword [edx + 0xc], eax
mov eax, dword [0x8ad288]
mov ebx, dword [edx + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x90]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], eax
call fcn.004dac90
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x544e71
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + 0x14]
cmp ecx, edx
ja 0x545368
mov dword [ebx + 0x10], ecx
mov edx, dword [0x8a8524]
mov ebp, dword [esp + 0x58]
lea eax, [ebp + edx - 1]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
ja 0x545363
mov edx, dword [esp + 0x3c]
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
mov ebp, dword [esp + 0x80]
add edx, ebp
mov dword [esp], edx
sub ecx, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00544580
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], edx
add esp, 0xac
ret
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
call fcn.005453e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xac
ret
lea edi, [edx + 0xc]
call fcn.00450d20
jmp 0x544d9a
shr edx, 2
lea eax, [edx + edx*2]
jmp 0x544d5a
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
call fcn.005453e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xac
ret
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
call fcn.005453e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xac
ret
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.00402300
movzx eax, byte [esp + 0xc]
jmp 0x544cbc
xor eax, eax
jmp 0x544cbc
mov eax, 1
jmp 0x544cbf
xor eax, eax
jmp 0x544c6d
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
call fcn.005453e0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ebx
add esp, 0xac
ret
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
call fcn.005453e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], eax
add esp, 0xac
ret
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 8], edx
mov ebx, dword [0x8a8528]
mov ebp, dword [0x8a8524]
mov esi, dword [str._n_____END]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
call fcn.00465860
mov eax, dword [esp + 0x18]
mov ecx, dword [0x8a8524]
lea ebp, [ecx + eax]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0xa0]
jmp 0x544bc9
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00402300
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0xa0]
jmp 0x544bb8
mov ecx, dword [esp + 0x34]
xor eax, eax
jmp 0x544bb8
xor ebp, ebp
jmp 0x544b75
mov dword [esp + 0xbc], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
add esp, 0xac
ret
mov eax, ecx
call fcn.00450d20
jmp 0x54496a
lea edi, [ecx + 8]
mov eax, dword [esp + 0xa4]
call fcn.00450d20
jmp 0x544921
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 0x14], eax
call fcn.005453e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], ecx
add esp, 0xac
ret
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00402300
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x94]
jmp 0x5448bd
xor eax, eax
jmp 0x5448bd
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xb8]
mov dword [esp + 8], edx
mov ebx, dword [0x8a8548]
mov ebp, dword [0x8a8544]
mov esi, dword [str._n_____BEGIN]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
call fcn.00465860
mov eax, dword [esp + 0x18]
test eax, eax
jl 0x5452ff
mov edx, dword [0x8a8544]
add eax, edx
mov ecx, dword [esp + 0xb4]
cmp eax, ecx
ja 0x5453b6
sub ecx, eax
mov esi, dword [esp + 0xb8]
sub esi, eax
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and eax, esi
mov ebp, dword [esp + 0xb0]
add eax, ebp
mov esi, edi
mov ebx, eax
jmp 0x544830
mov dword [esp + 0xbc], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
add esp, 0xac
ret
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00402300
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xb4]
jmp 0x5447fa
call fcn.00450e00
call fcn.00450de0
call fcn.00450de0
call fcn.00450e00
mov ecx, esi
mov edx, eax
call fcn.00450de0
mov eax, edi
call fcn.00450e00
mov eax, ebp
call fcn.00450e00
mov eax, 1
call fcn.00450e00
mov ecx, ebx
call fcn.00450e00
call fcn.00450de0
mov ecx, ebx
mov edx, eax
call fcn.00450de0
mov eax, ebx
mov ecx, edi
call fcn.00450e00
call fcn.00450e00
call fcn.00450e00
mov eax, 1
call fcn.00450e00
nop
call fcn.0044f4e0
jmp fcn.005447a0