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

Disassembly:
mov ecx, dword [0x98cddc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x57e4cf
sub esp, 0x94
mov ecx, dword [esp + 0xa8]
test ecx, ecx
je 0x57e04a
cmp ecx, 1
jne 0x57de24
mov ebx, dword [esp + 0xa4]
mov eax, dword [ebx]
mov ebx, dword [esp + 0xa0]
cmp ebx, 2
jl 0x57dde0
mov ecx, dword [esp + 0x98]
jmp 0x57de11
mov dword [esp + 0x68], eax
lea eax, [0x6e11e0]
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], 6
call fcn.0046ca20
mov eax, dword [esp + 0xc]
mov ecx, eax
mov ebx, 6
mov eax, dword [esp + 0x68]
mul eax
nop
nop
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov eax, 2
jmp 0x57e499
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x57de56
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + eax*4 - 4]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
lea edi, [esi + edx*4 - 4]
cmp edi, ebp
jne 0x57de6b
xor eax, eax
xor ebx, ebx
jmp 0x57de6b
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov ebx, dword [esp + 0x98]
cmp dword [0x92f4b0], ecx
jg 0x57df69
mov ebp, dword [0x92f4b4]
cmp ecx, ebp
jl 0x57de91
nop
mov edi, ecx
xor ecx, ecx
mov dword [esp + 0x64], ecx
mov ecx, edi
jmp 0x57e108
mov ebp, ecx
shl ebp, 1
cmp eax, ebp
jl 0x57dea4
jae 0x57df2e
jmp 0x57e0ed
cmp ebp, 1
jne 0x57deec
lea eax, [0x6e11e0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0046ca20
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov eax, 1
mov ebp, 1
jmp 0x57df2e
mov dword [esp + 0x5c], ebp
lea eax, [0x6e11e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [ebp + 4]
mov dword [esp + 0x3c], eax
mov dword [esp + 8], eax
call fcn.0046ca20
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], ebp
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.0057d6b0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x30]
jmp 0x57e0b8
mov ebp, ecx
shl ebp, 1
cmp eax, ebp
jl 0x57df7c
jae 0x57e006
jmp 0x57e0ae
cmp ebp, 1
jne 0x57dfc4
lea eax, [0x6e11e0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0046ca20
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov eax, 1
mov ebp, 1
jmp 0x57e006
mov dword [esp + 0x60], ebp
lea eax, [0x6e11e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [ebp + 4]
mov dword [esp + 0x40], eax
mov dword [esp + 8], eax
call fcn.0046ca20
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], ebp
mov dword [esp + 0x84], ebx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
call fcn.0057bf40
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x34]
jmp 0x57e079
mov eax, dword [esp + 0x98]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 0
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xb8], eax
add esp, 0x94
ret
dec ecx
test ecx, ecx
jle 0x57e085
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x57e078
mov edx, dword [esp + 0x40]
cmp ecx, edx
ja 0x57e0a9
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], edx
add esp, 0x94
ret
call fcn.00471b70
mov ecx, ebp
mov edx, eax
call fcn.00471b70
dec ecx
test ecx, ecx
jle 0x57e0c4
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x57e0b7
mov edx, dword [esp + 0x3c]
cmp ecx, edx
ja 0x57e0e8
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], edx
add esp, 0x94
ret
call fcn.00471b70
mov ecx, ebp
mov edx, eax
call fcn.00471b70
sar ecx, 1
mov esi, dword [esp + 0x64]
inc esi
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0xa4]
cmp ecx, ebp
jg 0x57e0f6
mov ebp, ecx
mov ecx, dword [esp + 0x64]
shl ebp, cl
cmp ecx, 0x20
sbb ecx, ecx
and ecx, ebp
cmp edx, ecx
jb 0x57e493
lea ebp, [ecx + ecx*2]
shl ebp, 1
shl edi, 1
cmp edi, ebp
jle 0x57e132
mov ebp, edi
jmp 0x57e140
mov dword [esp + 0x6c], eax
mov eax, ebp
mov ebp, edi
mov edi, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x78], ebp
cmp edi, eax
jg 0x57e157
jbe 0x57e1db
jmp 0x57e48a
cmp edi, 1
jne 0x57e19c
lea eax, [0x6e11e0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0046ca20
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov eax, 1
mov edi, 1
jmp 0x57e1db
mov dword [esp + 0x58], edi
lea eax, [0x6e11e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [edi + 4]
mov dword [esp + 0x38], eax
mov dword [esp + 8], eax
call fcn.0046ca20
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x38], eax
mov dword [esp + 0x7c], ebx
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.0057d980
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x78]
cmp edx, ecx
jb 0x57e485
mov eax, dword [esp + 0x44]
mov ebx, eax
shl ebx, 1
cmp ebx, ecx
ja 0x57e47e
mov dword [esp + 0x74], ebx
mov ebp, ecx
sub ecx, ebx
mov esi, edx
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
mov edi, eax
shl eax, 3
sar esi, 0x1f
and eax, esi
mov esi, dword [esp + 0x7c]
add eax, esi
test ecx, ecx
je 0x57e268
mov dword [esp], eax
shl ecx, 2
mov dword [esp + 4], ecx
call fcn.00472270
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0xa8]
cmp eax, edi
jle 0x57e441
mov dword [esp], ebx
call fcn.0057e4e0
nop
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x44]
mov edx, ecx
jmp 0x57e290
dec ecx
test ecx, ecx
jle 0x57e29c
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x57e28f
mov ebx, dword [esp + 0xac]
cmp ebx, ecx
jb 0x57e477
mov ebp, dword [esp + 4]
mov dword [esp + 0x8c], ebp
mov esi, dword [ebp]
mov edi, dword [ebp + 4]
mov ebp, dword [ebp + 8]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
sub ebx, edx
mov dword [esp + 0x4c], ebx
mov ecx, ebx
neg ebx
mov ebp, edx
shl edx, 2
sar ebx, 0x1f
and edx, ebx
add eax, edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0xa8]
sub edx, ebp
mov dword [esp + 0x48], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
call fcn.0057cdc0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x78]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x44]
mov dword [esp + 0x18], edi
call fcn.0057ccb0
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x38]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x90]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x54]
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x18], edi
call fcn.0057ccb0
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
call fcn.0057dd90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x78]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x18], eax
call fcn.0057ccb0
nop
lea eax, [0x96d180]
mov dword [esp], eax
lea eax, [0x723220]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
call fcn.0047c070
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
jmp 0x57e444
dec ebp
test ebp, ebp
jle 0x57e450
mov eax, dword [esi + ebp*4 - 4]
test eax, eax
je 0x57e443
cmp ebp, edx
ja 0x57e470
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb8], edx
add esp, 0x94
ret
mov ecx, ebp
call fcn.00471b70
mov edx, ebx
call fcn.00471b70
mov eax, ebx
call fcn.00471b90
call fcn.00471b70
mov ecx, edi
mov edx, eax
call fcn.00471b70
call fcn.00471b70
dec eax
test eax, eax
jle 0x57e4a5
mov ebp, dword [ecx + eax*4 - 4]
test ebp, ebp
je 0x57e498
cmp eax, ebx
ja 0x57e4c5
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ebx
add esp, 0x94
ret
mov ecx, eax
mov edx, ebx
call fcn.00471b70
nop
call fcn.004706b0
jmp fcn.0057dd90