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

Disassembly:
mov ecx, dword [0x82b814]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x56a388
sub esp, 0xc0
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xc4]
mov eax, ebx
mov ecx, ebp
mov esi, edx
jmp 0x569a56
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc4]
mov ebp, ebx
mov edx, edi
mov ebx, esi
mov esi, dword [esp + 0xcc]
mov edi, dword [0x7e74dc]
cmp edi, 1
jb 0x56a37b
dec edi
mov esi, dword [str._n_____BEGIN]
mov eax, dword [0x7e74e0]
dec eax
neg eax
sar eax, 0x1f
and eax, 1
add esi, eax
cmp ebx, edi
jge 0x569a85
xor eax, eax
jmp 0x569abf
mov dword [esp + 0x94], ebp
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], ebx
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], edi
call fcn.00403230
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x94]
test al, al
je 0x569ae9
mov esi, dword [0x7e74dc]
lea eax, [esi - 1]
cmp ebx, eax
jb 0x56a374
sub edx, esi
sub ebx, esi
inc edx
mov esi, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, ebp
lea edx, [ebx + 1]
jmp 0x569b32
mov eax, dword [str._n_____BEGIN]
mov ecx, dword [0x7e74dc]
mov esi, dword [0x7e74e0]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
call fcn.0047abe0
movzx eax, byte [esp + 0x30]
test al, al
je 0x56a04e
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov esi, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.005697f0
mov ecx, dword [esp + 0x10]
mov eax, dword [0x7e74fc]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x8c], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xbc], ebx
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x84], esi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x80], edi
cmp eax, ecx
jg 0x569bf1
mov dword [esp + 0x40], ecx
sub ecx, eax
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x56a36b
mov dword [esp + 0x44], ebp
sub ebx, ecx
sub ebp, ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ecx, ebp
lea ebp, [edx + ecx]
cmp eax, ebx
je 0x569bb0
xor eax, eax
jmp 0x569be0
mov eax, dword [0x7e74f8]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00403230
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x44]
jmp 0x569bf3
xor eax, eax
test al, al
je 0x569a3b
mov eax, dword [0x7e74fc]
sub ecx, eax
cmp ebp, ecx
jb 0x56a364
mov dword [esp + 0x40], ecx
call fcn.0040dd00
mov eax, dword [esp]
mov dword [esp + 0xb8], eax
lea ecx, [0x6423a0]
mov dword [esp], ecx
call fcn.0040d2d0
mov eax, dword [0x82b968]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x569c43
mov eax, dword [esp + 0xb8]
jmp 0x569c51
call fcn.0046b930
mov eax, dword [esp + 0xb8]
mov dword [edi], eax
mov dword [esp + 0xb4], ecx
mov dword [ecx + 8], eax
mov dword [esp], 0
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
call fcn.00453e70
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xb4]
mov dword [edx + 4], eax
mov eax, dword [0x82b968]
test eax, eax
je 0x569ca2
call fcn.0046b940
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0xbc]
jmp 0x56a0a2
mov edx, dword [esp + 0xb4]
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x569cd0
mov ebx, dword [ebx]
jmp 0x569cd2
xor ebx, ebx
test ebx, ebx
jne 0x569d43
mov ebx, dword [0x7e74ec]
cmp ebx, 1
jb 0x56a358
mov ebp, dword [str._n_____END]
mov esi, dword [0x7e74f0]
dec ebx
dec esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add ebp, esi
mov ecx, dword [esp + 0x48]
cmp ecx, ebx
jge 0x569d0d
xor eax, eax
jmp 0x569d34
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00403230
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xb4]
test al, al
je 0x569d47
mov ebx, dword [0x7e74ec]
dec ebx
xor eax, eax
jmp 0x569d98
mov ecx, dword [esp + 0x48]
mov eax, dword [str._n_____END]
mov edx, dword [0x7e74ec]
mov ebx, dword [0x7e74f0]
mov ebp, dword [esp + 0x90]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov esi, dword [esp + 0x50]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call fcn.0047a770
mov eax, dword [esp + 0x18]
mov ecx, dword [0x7e74ec]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xb4]
test eax, eax
jge 0x569dae
mov edi, dword [esp + 0x50]
mov esi, ecx
mov ebx, dword [esp + 0x90]
jmp 0x569a3b
cmp ebx, ecx
ja 0x56a351
mov ebp, ecx
sub ebp, ebx
mov esi, dword [esp + 0x50]
sub esi, ebx
mov dword [esp + 0x70], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebx, esi
mov esi, dword [0x7e74fc]
mov edx, dword [esp + 0x40]
add esi, edx
mov edi, dword [esp + 0x90]
add ebx, edi
cmp ebp, esi
jge 0x569dfa
mov edi, dword [esp + 0x50]
mov esi, ecx
mov ebx, dword [esp + 0x90]
jmp 0x569a3b
jb 0x56a348
mov dword [esp + 0x74], eax
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x70]
sub edi, esi
mov dword [esp + 0x5c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
sub ebp, esi
mov dword [esp + 0x58], ebp
add edi, ebx
mov dword [esp + 0x98], edi
cmp edx, esi
jle 0x569e34
xor edx, edx
jmp 0x569e77
mov dword [esp + 0xa4], ebx
mov dword [esp], ebx
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00403230
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x98]
mov edx, eax
mov eax, dword [esp + 0x74]
test dl, dl
je 0x569ee9
mov edx, dword [0x7e74fc]
cmp edx, esi
jg 0x569ee2
sub esi, edx
mov ebp, dword [esp + 0x6c]
cmp esi, ebp
ja 0x56a33f
sub ebp, esi
mov edi, dword [esp + 0x70]
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and esi, edi
add ebx, esi
cmp edx, ebp
je 0x569eb0
xor edx, edx
jmp 0x569ed5
mov eax, dword [0x7e74f8]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00403230
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x48]
mov edx, eax
mov eax, dword [esp + 0x74]
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x98]
jmp 0x569ee4
xor edx, edx
xor edx, 1
jmp 0x569eee
mov edx, 1
test dl, dl
je 0x569f04
mov edi, dword [esp + 0x50]
mov esi, ecx
mov ebx, dword [esp + 0x90]
jmp 0x569a3b
mov dword [esp], edi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.005697f0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x569f34
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x90]
jmp 0x569a3b
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x50]
cmp ecx, edx
ja 0x56a33a
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00569910
mov eax, dword [0x7ec420]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa8], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x78], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x7c], ebx
cmp dword [eax + 0x140], 0xffffffff
jne 0x569fa7
mov eax, edx
shr edx, 2
lea edx, [edx + edx*2]
and eax, 3
lea eax, [eax + eax*2]
mov esi, eax
shl eax, 1
sar eax, 0x1f
shr eax, 0x1d
lea eax, [eax + esi*2]
sar eax, 3
add eax, edx
jmp 0x569fad
shr edx, 2
lea eax, [edx + edx*2]
mov dword [esp + 0x34], eax
lea ecx, [0x630a60]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00450080
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xb4]
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], ecx
mov ebx, dword [0x82b968]
test ebx, ebx
je 0x569ff3
call fcn.0046b940
mov dword [edi], eax
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], eax
mov eax, dword [0x7ec420]
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 + 0xa8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], eax
call fcn.005693e0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x56a25b
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x90]
jmp 0x569a3b
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xdc], eax
add esp, 0xc0
ret
mov dword [eax], ecx
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x9c]
test eax, eax
je 0x56a2f4
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x90], ebx
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005697f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [0x7e7508]
mov ebp, dword [0x7e750c]
mov esi, dword [0x7e7510]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x9c], edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x64], edi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
call fcn.0047abe0
movzx eax, byte [esp + 0x30]
test al, al
je 0x569cbe
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x38], ebp
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x3c], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.0047a5e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x88]
mov dword [esp], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 8], edx
call fcn.0047a5e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00453e70
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 8]
mov dword [esp + 0xb0], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xac], ebx
mov dword [esp], 0
mov ebp, dword [esp + 0xa0]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x68]
mov dword [esp + 8], ebp
call fcn.00453e70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x632a40]
mov dword [esp], edx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00411980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x84]
mov dword [eax + 4], ecx
mov ecx, dword [0x82b968]
test ecx, ecx
jne 0x56a243
mov ecx, dword [esp + 0xac]
jmp 0x56a08a
call fcn.0046b940
mov ecx, dword [esp + 0xac]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x56a08a
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xb4]
mov edx, dword [ebx + 0x14]
cmp edx, ecx
jb 0x56a335
mov dword [ebx + 0x10], ecx
mov edx, dword [0x7e74ec]
mov ebp, dword [esp + 0x74]
lea eax, [ebp + edx - 1]
add edx, ebp
mov ecx, dword [esp + 0x48]
cmp ecx, eax
jb 0x56a330
mov ebx, dword [esp + 0x50]
sub ebx, edx
sub ecx, edx
lea edx, [ebx + 1]
mov ebx, edx
neg edx
inc ecx
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x90]
add eax, edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.005697f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], edx
add esp, 0xc0
ret
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xdc], eax
add esp, 0xc0
ret
call fcn.0046ba10
call fcn.0046b9f0
call fcn.0046b9f0
mov eax, esi
mov ecx, ebp
call fcn.0046ba10
mov eax, esi
mov ecx, ebp
call fcn.0046ba10
mov eax, ebx
call fcn.0046ba10
mov eax, 1
xor ecx, ecx
call fcn.0046ba10
mov edx, ebp
call fcn.0046b9f0
mov eax, ecx
mov ecx, ebx
call fcn.0046ba10
mov ecx, ebx
call fcn.0046ba10
mov eax, 1
xor ecx, ecx
call fcn.0046ba10
nop
call fcn.0046a530
jmp fcn.00569a00