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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x38]
cmp eax, dword [ecx + 8]
jbe 0x580034
sub esp, 0xb8
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
test edx, edx
je 0x57ffb8
lea ebx, [eax + 0x24]
test byte [ebx], al
mov ebp, dword [esp + 0xc0]
mov esi, dword [ebp + 8]
mov edi, dword [ebp]
mov ebp, dword [ebp + 4]
cmp esi, 5
jb 0x58002d
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0xc4]
add ecx, 5
cmp ecx, ebp
ja 0x58002d
mov dword [esp + 0x84], ebp
mov edx, dword [edx + 0x10]
mov dword [esp + 0x80], edx
mov edx, dword [eax + 0x5c]
mov ebp, dword [eax + 0x64]
mov eax, dword [eax + 0x60]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 8
mov dword [esp + 0x18], 8
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], 5
mov dword [esp + 0x24], esi
sub esi, ecx
mov eax, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ecx
lea edx, [edi + esi]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x84]
sub edx, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
call eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xa0], edx
mov ebx, dword [esp + 0xc0]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x84], ebp
mov dword [esp], ebx
lea esi, [eax + ebp]
mov dword [esp + 4], esi
call fcn.00580040
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
mov ebp, dword [esp + 0x84]
cmp ebp, edx
ja 0x580026
sub ecx, ebp
neg ecx
sar ecx, 0x1f
and ecx, ebp
add ecx, ebx
sub edx, ebp
mov ebx, dword [esp + 0x60]
cmp edx, ebx
jle 0x57ffad
mov edx, ebx
mov ebp, dword [esp + 0xa0]
cmp ecx, ebp
je 0x57fa37
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.0044d190
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xbc]
mov dword [edx + 0x60], ecx
mov ecx, dword [esp + 0x64]
mov dword [edx + 0x64], ecx
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x57ff99
mov eax, dword [esp + 0xa0]
mov dword [edx + 0x5c], eax
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov ebp, dword [eax]
cmp ebx, 5
jb 0x58001f
add ecx, 0xfffffffb
mov esi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 5
add ecx, ebp
mov ebp, dword [edx + 0x18]
mov edi, dword [edx + 0x14]
test edi, edi
je 0x57fb1f
je 0x580005
mov dword [esp + 0x84], esi
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], edi
mov dword [esp + 0xb4], ebp
lea eax, [0x7ca5e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call fcn.00407b60
mov eax, dword [esp + 0x7c]
add eax, 0xfffffffb
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
movzx ebx, byte [esp + 0x14]
test bl, bl
je 0x57fb76
mov edx, dword [edx + 0x10]
mov ebx, dword [esp + 0x9c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov ebp, dword [esp + 0x84]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebp
mov dword [esp], ecx
call edx
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
cmp edx, 3
jbe 0x57ffc6
add edx, 0xfffffffb
mov ebx, edx
sar edx, 8
mov byte [ecx + 3], dl
mov ecx, dword [eax + 4]
mov eax, dword [eax]
cmp ecx, 4
jbe 0x57ffbf
mov byte [eax + 4], bl
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
call fcn.0057eca0
mov byte [esp + 0xc8], 1
mov byte [esp + 0xc9], 0
add esp, 0xb8
ret
mov dword [esp + 0x54], eax
lea eax, [0x7ef360]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xb4]
mov dword [esp + 8], ecx
call fcn.00407b60
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x14]
test dl, dl
je 0x57fd6d
mov dword [esp + 0xac], eax
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0xc0]
mov ebx, dword [edx + 4]
mov dword [esp + 0x84], ebx
mov ebp, dword [ecx + 0x18]
mov dword [esp], eax
call ebp
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc0]
mov dword [esp], ecx
mov edx, dword [esp + 0x84]
add eax, edx
mov dword [esp + 4], eax
call fcn.00580040
mov eax, dword [esp + 0x84]
add eax, 0xfffffffb
mov ecx, dword [esp + 0xc4]
sub eax, ecx
mov edx, dword [esp + 0xc0]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
mov esi, dword [edx]
lea edi, [ecx + 5]
cmp edi, 5
jb 0x57fffe
cmp edi, ebx
ja 0x57fffe
lea edx, [ebx - 5]
mov dword [esp + 0x5c], edx
neg edx
sar edx, 0x1f
and edx, 5
add edx, esi
test ecx, ecx
jne 0x57fd48
mov ecx, dword [esp + 0xbc]
lea edx, [ecx + 0x24]
test byte [edx], al
mov dword [esp + 0x90], eax
mov eax, 8
mov dword [esp + 0x5c], eax
mov eax, 8
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x90]
cmp edi, ebp
ja 0x57fff7
sub ebx, edi
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, edi
add ebx, esi
cmp eax, ebp
ja 0x57fff0
lea esi, [ecx + 0x30]
mov dword [esp + 0xb0], esi
test byte [esi], al
lea edi, [ecx + 0x24]
test byte [edi], al
mov edi, dword [ecx + 0x28]
mov esi, dword [ecx + 0x24]
mov dword [ecx + 0x30], esi
mov dword [ecx + 0x34], edi
mov esi, dword [esp + 0xc0]
mov edi, dword [esi + 8]
mov esi, dword [esi]
cmp edi, 3
jb 0x57ffe9
lea edi, [ecx + 0x38]
cmp esi, edi
je 0x57fcd8
movzx edi, word [esi]
movzx esi, byte [esi + 2]
mov word [ecx + 0x38], di
xchg esi, eax
mov byte [ecx + 0x3a], al
xchg esi, eax
mov esi, eax
sar eax, 8
mov byte [ecx + 0x3b], al
xchg esi, eax
mov byte [ecx + 0x3c], al
xchg esi, eax
mov eax, dword [esp + 0x70]
mov eax, dword [eax + 0x1c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], 0xd
mov dword [esp + 0x30], 0xd
mov edx, dword [esp + 0xac]
mov dword [esp], edx
call eax
jmp 0x57fb1f
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x88]
jmp 0x57fc72
lea eax, [0x7da200]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
call fcn.00407b60
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x10]
test cl, cl
je 0x580005
mov dword [esp + 0x74], eax
mov dword [esp + 0xa8], edx
mov ecx, dword [eax + 0x10]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0xc4]
test ecx, ecx
jle 0x57ff82
mov edx, dword [esp + 0x84]
cmp ecx, edx
ja 0x57ffe2
mov eax, dword [esp + 0x74]
mov ebx, dword [eax + 0x18]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov esi, dword [esp + 0xa8]
mov dword [esp], esi
call ebx
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
ja 0x57ffdb
sub ecx, eax
mov edx, dword [esp + 0x84]
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
mov ebp, dword [esp + 0x9c]
add edx, ebp
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], eax
call fcn.0057f750
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x4c], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x98], ebx
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0x20]
mov dword [esp + 0x68], esi
mov edi, dword [esp + 0xc0]
mov dword [esp], edi
mov ebp, dword [esp + 0xc4]
lea eax, [edx + ebp]
lea eax, [esi + eax + 5]
mov dword [esp + 4], eax
call fcn.00580040
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
mov ebp, dword [esp + 0xc4]
lea esi, [ebp + 5]
cmp esi, edx
ja 0x57ffd4
mov eax, dword [esp + 0x74]
mov ebp, dword [eax + 0x14]
sub ecx, esi
mov edi, ecx
neg ecx
sar ecx, 0x1f
and ecx, esi
add ecx, ebx
mov dword [esp + 4], ecx
sub edx, esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xa8]
mov dword [esp], edx
call ebp
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebx, dword [eax + 8]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x4c]
lea ebp, [esi + ebp + 5]
cmp ebp, ecx
ja 0x57ffcd
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x14]
sub ebx, ebp
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, ebp
add edx, ebx
mov dword [esp + 4], edx
sub ecx, ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
call eax
jmp 0x57fb1f
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x9c]
jmp 0x57fe35
lea edi, [edx + 0x5c]
mov eax, dword [esp + 0xa0]
call fcn.0044c990
jmp 0x57fa64
mov ebx, edx
mov edx, dword [esp + 0x60]
jmp 0x57fa1c
mov edx, eax
jmp 0x57fa64
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004265e0
ud2
call fcn.004265e0
ud2
call fcn.004265e0
ud2
call fcn.004265e0
ud2
call fcn.004265e0
ud2
call fcn.004265e0
ud2
call fcn.004265e0
ud2
lea eax, [0x7b48a0]
mov dword [esp], eax
lea eax, [0x8b0dd8]
mov dword [esp + 4], eax
call fcn.004273c0
ud2
call fcn.004265e0
ud2
call fcn.004265e0
ud2
call fcn.004265e0
ud2
call fcn.0044b230
jmp fcn.0057f8a0