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

Disassembly:
push 0xffffffffffffffff
push 0x68d10b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x514
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0xac]
mov dword [esp + 0x20], esi
call fcn.0066c92c
xor ebp, ebp
lea eax, [esp + 0x34c]
mov dword [esp + 0x52c], ebp
mov ecx, 0x1e
mov dword [eax - 8], ebp
mov dword [eax - 4], ebp
mov dword [eax], ebp
mov dword [eax + 4], ebp
add eax, 0x10
dec ecx
jne 0x57bad7
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
lea eax, [esp + 0x13c]
mov ecx, 0x1e
mov dword [eax], ebp
mov dword [eax + 4], ebp
add eax, 8
dec ecx
jne 0x57bb04
mov eax, dword [esp + 0x53c]
dec eax
cmp eax, 8
ja case.default.0x57bb1c
jmp dword [eax*4 + 0x57c210]
push 0x71f450
jmp 0x57bb60
push 0x71f9a0
jmp 0x57bb60
push 0x71f1b0
jmp 0x57bb60
push 0x71fa40
jmp 0x57bb60
push 0x71fae0
jmp 0x57bb60
push 0x71f160
jmp 0x57bb60
push 0x71fa90
jmp 0x57bb60
push 0x71f9f0
jmp 0x57bb60
push 0x71f400
mov ecx, 0x71f450
call fcn.0066c43c
mov edx, dword [esp + 0x534]
mov ecx, 0x3c
xor eax, eax
lea edi, [esp + 0x13c]
rep stosd dword es:[edi], eax
lea ecx, [esi + 0x30f44]
push edx
call fcn.00574c56
mov ebx, dword [eax + 0x6a]
lea eax, [esp + 0x44]
push eax
mov ecx, 0x71f450
mov dword [esp + 0x18], ebx
call fcn.0066c52b
cmp ebx, ebp
mov byte [esp + 0x10], 0
je 0x57bda4
cmp dword [ebx + 0x28], fcn.0057ab9a
jne 0x57bd95
mov al, byte [ebx + 0x73]
test al, al
jne 0x57bd95
mov eax, dword [ebx + 0x30]
cmp eax, ebp
je 0x57bd95
push eax
call fcn.0059b214
mov esi, dword [esp + 0x14]
add esp, 4
and esi, 0xff
lea edx, [esp + 0x64]
mov ecx, esi
mov ebp, eax
shl ecx, 4
push edx
mov dword [esp + esi*4 + 0x258], ebp
lea edi, [esp + ecx + 0x348]
mov ecx, ebx
call fcn.00570e81
mov edx, dword [eax]
mov ecx, edi
push edi
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x24]
mov dword [ecx + 0xc], eax
lea ecx, [esp + 0x130]
push ecx
lea ecx, [edx + 0x30f44]
call fcn.00574d22
mov edx, dword [eax]
mov ecx, edi
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebx + 0x38]
and eax, 0xffff
cmp eax, 3
mov dword [esp + esi*4 + 0x2cc], eax
ja case.default.0x57bc67
jmp dword [eax*4 + 0x57c238]
lea ecx, [esp + 0x44]
push 2
push ecx
lea ecx, [esp + 0xb4]
call fcn.0066ca98
push 2
lea edx, [esp + 0x3c]
jmp 0x57bcda
lea eax, [esp + 0x40]
push 0
push eax
lea ecx, [esp + 0xb4]
call fcn.0066ca98
lea ecx, [esp + 0x18]
push 2
push ecx
jmp 0x57bcdb
lea edx, [esp + 0x3c]
push 1
push edx
lea ecx, [esp + 0xb4]
call fcn.0066ca98
lea eax, [esp + 0x1c]
push 2
push eax
jmp 0x57bcdb
lea ecx, [esp + 0x24]
push 3
push ecx
lea ecx, [esp + 0xb4]
call fcn.0066ca98
push 3
lea edx, [esp + 0x64]
push edx
lea ecx, [esp + 0xb4]
call fcn.0066ca2c
lea eax, [esp + 0x48]
lea ecx, [esp + 0x58]
push eax
push 0x71f450
push ebp
push edi
push ecx
lea ecx, [esp + 0xc0]
call fcn.0066cd9f
mov ecx, dword [esp + 0x538]
mov ebx, dword [esp + 0x20]
and ecx, 0xff
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
lea ecx, [ecx + ecx*2]
mov eax, dword [esp + 0x54]
sub edx, 8
sub edi, 8
lea ecx, [ecx + ecx*4]
add ebp, 8
mov dword [esp + 0x50], ebp
add eax, 8
lea ecx, [esi + ecx*2]
mov dword [esp + 0x48], edx
shl ecx, 4
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], edi
lea ecx, [ecx + ebx + 0x2e00d]
mov ebx, dword [esp + 0x14]
shl esi, 3
mov dword [ecx], edx
lea edx, [edx + edx*2]
shl edx, 1
mov dword [ecx + 4], edi
mov dword [ecx + 8], ebp
add ebp, 0x10
mov dword [ecx + 0xc], eax
lea ecx, [ebp + ebp*2]
shl ecx, 1
sub eax, edi
sub ecx, edx
add eax, 0x10
mov dword [esp + esi + 0x13c], ecx
mov dword [esp + esi + 0x140], eax
mov al, byte [esp + 0x10]
inc al
xor ebp, ebp
mov byte [esp + 0x10], al
mov ebx, dword [ebx + 0x7c]
cmp ebx, ebp
mov dword [esp + 0x14], ebx
jne 0x57bbb0
mov al, byte [esp + 0x10]
xor esi, esi
test al, al
lea ecx, [esp + 0x13c]
jbe 0x57bdcd
mov edx, dword [esp + 0x10]
and edx, 0xff
mov eax, dword [ecx]
cmp eax, esi
jbe 0x57bdc7
mov esi, eax
add ecx, 8
dec edx
jne 0x57bdbf
mov cl, byte [esp + 0x10]
xor eax, eax
test cl, cl
jbe 0x57bdf2
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x140]
and edx, 0xff
mov edi, dword [ecx]
add ecx, 8
add eax, edi
dec edx
jne 0x57bde8
mov dword [esp + 0x78], eax
push ebp
push ebp
lea eax, [esp + 0x7c]
push 0x77be10
push eax
lea ecx, [esp + 0x23c]
mov dword [esp + 0x84], esi
call fcn.005f8b60
mov ecx, dword [esp + 0x538]
mov edx, dword [esp + 0x20]
and ecx, 0xff
mov esi, eax
mov dword [esp + 0x14], ecx
lea ecx, [ecx + ecx*4]
lea ebp, [edx + ecx*8]
mov ecx, 6
lea ebx, [ebp + 0x2dd8d]
mov edi, ebx
mov dword [esp + 0x3c], ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x18]
mov dword [ebx + 0x18], ecx
mov edx, dword [eax + 0x1c]
mov dword [ebx + 0x1c], edx
mov ecx, dword [eax + 0x20]
mov dword [ebx + 0x20], ecx
mov edx, dword [eax + 0x24]
lea eax, [esp + 0x58]
mov ecx, ebx
push eax
mov dword [ebx + 0x24], edx
call fcn.005f8ba4
mov ecx, dword [ebp + 0x2ddb1]
mov edi, dword [ebp + 0x2dda5]
imul ecx, dword [ebp + 0x2ddad]
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
mov dword [esp + 0x1c], 0
and ecx, 3
rep stosb byte es:[edi], al
mov al, byte [esp + 0x10]
test al, al
jbe 0x57c1ca
lea eax, [esp + 0x140]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
imul eax, eax, 0xb40
shl ecx, 5
mov dword [esp + 0x14], 0
lea ebp, [ecx + edx + 0x11c01]
mov ecx, edx
lea edx, [eax + ecx + 0x6761]
mov eax, dword [esp + 0x10]
and eax, 0xff
mov dword [esp + 0x18], edx
mov dword [esp + 0x38], eax
jmp 0x57bef8
mov ebx, dword [esp + 0x3c]
push ebx
call fcn.005f7193
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
add esp, 4
xor edi, edi
mov ecx, dword [eax - 4]
mov eax, 0xaaaaaaab
sub ecx, 0x60
mov dword [esp + 0x18], 6
mul ecx
mov ecx, dword [esp + 0x1c]
mov esi, edx
mov edx, dword [esp + 0x24]
shr esi, 2
mov eax, dword [edx]
add esi, 0x10
mov dword [esp + 0x44], eax
add ecx, eax
lea eax, [ebp - 0xa0]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x1c]
mov edx, ebx
lea eax, [edi + esi]
push ebx
mov dword [edx], edi
mov edi, eax
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x44]
mov dword [edx + 8], eax
lea eax, [esp + 0x5c]
mov dword [edx + 0xc], ecx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
push edx
push eax
call fcn.005f8c0e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add ebx, 0x10
add ecx, 0x28
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
jne 0x57bf46
lea ecx, [esp + 0x30]
lea edx, [esp + 0x60]
push ecx
push edx
mov ecx, 0x71f450
mov byte [esp + 0x38], 0xbf
mov byte [esp + 0x39], 0xbf
mov byte [esp + 0x3a], 0xbf
mov byte [esp + 0x3b], 0xff
mov byte [esp + 0x3c], 0
call fcn.0066c4bb
push ebp
call fcn.005f7193
mov edi, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + edi + 0x2cc]
cmp eax, 3
ja case.default.0x57bfd7
jmp dword [eax*4 + 0x57c248]
lea eax, [esp + 0x8c]
push 2
push eax
lea ecx, [esp + 0xb4]
call fcn.0066ca98
push 2
lea ecx, [esp + 0xa0]
jmp 0x57c05f
lea edx, [esp + 0x98]
push 0
push edx
lea ecx, [esp + 0xb4]
call fcn.0066ca98
lea eax, [esp + 0xa4]
push 2
push eax
jmp 0x57c060
lea ecx, [esp + 0x80]
push 1
push ecx
lea ecx, [esp + 0xb4]
call fcn.0066ca98
lea edx, [esp + 0x84]
push 2
push edx
jmp 0x57c060
lea eax, [esp + 0x7c]
push 3
push eax
lea ecx, [esp + 0xb4]
call fcn.0066ca98
push 3
lea ecx, [esp + 0x98]
push ecx
lea ecx, [esp + 0xb4]
call fcn.0066ca2c
mov edx, dword [esp + 0x44]
add esi, 0xfffffff8
mov eax, 8
mov dword [esp + 0x6c], esi
mov esi, dword [esp + edi + 0x254]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
push 0
push 0x71f450
lea eax, [esp + 0x6c]
push esi
lea ecx, [esp + 0x94]
push eax
add edx, 0xfffffff8
push ecx
lea ecx, [esp + 0xc0]
mov dword [esp + 0x84], edx
call fcn.0066cb08
lea edx, [ebp + 0x28]
push edx
call fcn.005f7193
mov edi, dword [esp + 0x24]
add esp, 4
lea ecx, [esp + 0xa0]
lea eax, [edi + 0x3031e]
push eax
push ecx
mov ecx, 0x71f450
call fcn.0066c4bb
push 0
push 0x71f450
lea edx, [esp + 0x6c]
push esi
lea eax, [esp + 0x9c]
push edx
push eax
lea ecx, [esp + 0xc0]
call fcn.0066cb08
lea ecx, [esp + 0x28]
lea esi, [ebp - 0x28]
push ecx
push 3
add edi, 0x2dd61
push ebp
lea edx, [esp + 0xb4]
push esi
push edx
mov ecx, edi
mov byte [esp + 0x3c], 0
mov byte [esp + 0x3d], 0xa8
mov byte [esp + 0x3e], 0xff
mov byte [esp + 0x3f], 0xff
mov byte [esp + 0x40], 0
call fcn.00599ddc
lea eax, [ebp - 0xa0]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 3
fild dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
push ecx
lea ecx, [esp + 0x60]
fmul dword [0x7dbb78]
fstp dword [esp]
push esi
push eax
push ecx
mov ecx, edi
call fcn.00599f05
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
add edx, 0x28
inc ecx
dec eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
jne 0x57c154
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x14]
add ebp, 0xf0
add edx, 4
add ecx, 8
dec eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x38], eax
jne 0x57bef4
lea eax, [esp + 0x5c]
mov ecx, 0x71f450
push eax
call fcn.0066c4fd
lea ecx, [esp + 0xac]
mov dword [esp + 0x52c], 0xffffffff
call fcn.0066c9e0
mov ecx, dword [esp + 0x524]
pop edi
pop esi
pop ebp
mov al, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x520
ret 0xc