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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x57c7e4
sub esp, 0x84
mov eax, dword [esp + 0x88]
cmp byte [eax + 0x49], 0xff
je 0x57c04f
lea eax, [0x7a2120]
mov dword [esp], eax
call fcn.0046b290
mov eax, dword [esp + 8]
lea ecx, [0x5d85e0]
cmp dword [esp + 4], ecx
je 0x57bfe1
lea eax, [0x5ecf80]
mov dword [esp], eax
call fcn.0040bd40
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov edx, dword [eax + 0x2c]
mov ecx, dword [esp + 0xac]
cmp ecx, edx
jg 0x57bffe
ja 0x57c7de
mov dword [eax + 0x28], ecx
jmp 0x57c048
lea eax, [0x5e17a0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044a130
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xac]
mov edi, dword [esp + 0x78]
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], ecx
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x57c038
mov dword [edi + 0x24], eax
jmp 0x57c046
lea edx, [edi + 0x24]
mov ecx, edi
mov edi, edx
call fcn.00463730
mov edi, ecx
mov eax, edi
mov edx, dword [eax + 0x28]
xor ecx, ecx
jmp 0x57c080
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
add esp, 0x84
ret
mov dword [ebp + ecx*4], 0xffffffff
inc ecx
cmp ecx, edx
jge 0x57c093
mov ebx, dword [eax + 0x28]
mov ebp, dword [eax + 0x24]
cmp ecx, ebx
jb 0x57c077
jmp 0x57c7d5
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x57c0eb
nop
mov ecx, dword [esp + 0x8c]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x57c0bf
mov ecx, dword [esp + 0x90]
mov dword [eax + 0x18], ecx
jmp 0x57c0d2
lea edi, [eax + 0x18]
mov ecx, eax
mov eax, dword [esp + 0x90]
call fcn.00463730
mov eax, ecx
mov byte [eax + 0x1c], 0
mov dword [eax + 0x20], 0
lea ecx, [eax + 0x14]
lea edx, [0x662554]
jmp 0x57c16b
mov ecx, dword [esp + 0x94]
test ecx, ecx
je 0x57c12e
nop
mov edx, dword [esp + 0x98]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x9c]
mov dword [eax + 8], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x57c119
mov dword [eax], ecx
jmp 0x57c124
mov edi, eax
mov eax, ecx
call fcn.00463730
mov eax, edi
lea edx, [0x662530]
mov ecx, eax
jmp 0x57c16b
nop
mov ecx, dword [esp + 0xa4]
mov dword [eax + 0x10], ecx
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x57c14f
mov ecx, dword [esp + 0xa0]
mov dword [eax + 0xc], ecx
jmp 0x57c162
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xa0]
call fcn.00463730
mov eax, ecx
lea ecx, [eax + 0xc]
lea edx, [0x662578]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x20], edx
mov eax, dword [edx + 0x20]
mov dword [esp], ecx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 4], ebx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
cmp eax, 0xffffffff
jne 0x57c1a4
mov edx, 0xffffffff
xor ebx, ebx
jmp 0x57c1d7
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 0x20]
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebp, dword [esp + 0xa8]
lea esi, [ebp + ecx]
mov dword [esp + 4], esi
call edx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, eax
mov ebx, ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], edx
mov ebp, dword [esp + 0xa8]
test ebp, ebp
jne 0x57c1f3
mov esi, eax
mov edi, 0xffffffff
jmp 0x57c228
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov dword [esp + 4], ebp
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x34]
mov edi, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x40], edi
mov edx, dword [esp + 0x88]
mov ebx, dword [edx + 0xc]
mov esi, dword [ebx + 0xc]
mov edi, dword [ebx + 4]
mov ebx, dword [ebx]
cmp edi, esi
jbe 0x57c7cc
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], eax
lea edi, [esi + esi*8]
test ebp, ebp
je 0x57c259
xor ebx, ebx
jmp 0x57c292
mov ecx, dword [ebx + edi*4 + 8]
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp], eax
mov byte [esp + 8], cl
call fcn.0057af00
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x38]
mov ebx, eax
mov eax, dword [esp + 0x3c]
test bl, bl
je 0x57c2d4
mov ebx, dword [edx + 0x28]
test ebx, ebx
jne 0x57c2a1
xor ebx, ebx
jmp 0x57c2d6
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x74]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x38]
mov ebx, eax
mov eax, dword [esp + 0x3c]
jmp 0x57c2d6
xor ebx, ebx
test bl, bl
jne 0x57c2e7
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x2c]
jmp 0x57c3a8
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x18]
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov dword [esp + 4], edx
call ecx
movzx eax, byte [esp + 8]
test al, al
je 0x57c3cd
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x20]
mov ebx, dword [edx + 0x20]
mov ebp, dword [esp + 0x74]
mov dword [esp], ebp
mov esi, dword [esp + 0xa8]
add ecx, esi
mov dword [esp + 0x58], ecx
mov dword [esp + 4], ecx
call ebx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x20]
mov ebx, dword [edx + 0x20]
mov ebp, dword [esp + 0x74]
mov dword [esp], ebp
mov esi, dword [esp + 0x58]
lea edi, [esi + eax]
mov dword [esp + 4], edi
call ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x20]
mov ebx, dword [edx + 0x14]
mov ebp, dword [esp + 0x74]
mov dword [esp], ebp
mov esi, dword [esp + 0x58]
mov dword [esp + 4], esi
call ebx
mov eax, dword [esp + 0x88]
mov esi, dword [eax + 0x3c]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x64]
jmp 0x57c504
xor eax, eax
test al, al
je 0x57c4ad
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xb4]
lea ebx, [edx + ecx]
mov ebp, dword [eax + 0x24]
mov esi, dword [esp + 0xb8]
cmp esi, ebx
jb 0x57c3ff
mov edi, dword [esp + 0xb0]
jmp 0x57c451
mov dword [esp + 0x80], ebp
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
lea eax, [0x5e17a0]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x80]
mov edi, eax
mov esi, ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x80], edi
lea eax, [edi + edx*4]
mov dword [esp], eax
mov dword [esp + 4], ebp
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.00464050
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.0057bea0
mov eax, dword [esp + 0x80]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc4], eax
add esp, 0x84
ret
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.0057bea0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
add esp, 0x84
ret
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], ecx
mov ecx, edi
mov eax, dword [esp + 0x5c]
mov edi, ebx
mov ebx, ebp
mov ebp, edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x34], ebx
mov edx, dword [edx + 0xc]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
cmp esi, edx
jae 0x57c7c3
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], ecx
lea edx, [esi + esi*8]
lea esi, [ebx + edx*4]
mov dword [esp + 0x7c], esi
mov esi, dword [ebx + edx*4 + 4]
mov dword [esp + 0x50], esi
lea esi, [ebx + edx*4]
movzx esi, byte [esi]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x57c62b
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edi
xchg esi, eax
cmp al, 2
xchg esi, eax
ja 0x57c5d6
xchg esi, eax
cmp al, 1
xchg esi, eax
jbe 0x57c599
mov edx, dword [ebx + edx*4 + 8]
mov ebx, dword [esp + 0x78]
mov esi, dword [ebx + 0x28]
mov ebx, dword [ebx + 0x24]
cmp edx, esi
jge 0x57c578
jae 0x57c7ba
mov dword [ebx + edx*4], ebp
mov esi, dword [esp + 0x50]
mov ebx, edi
mov edi, ecx
mov ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
jmp 0x57c4e1
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call fcn.0057ce00
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x54]
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
jmp 0x57c4e1
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x57c739
mov ecx, dword [ebx + edx*4 + 8]
mov dword [esp + 4], edi
mov dword [esp], eax
mov byte [esp + 8], cl
call fcn.0057af00
movzx eax, byte [esp + 0xc]
test al, al
je 0x57c732
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x54]
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
jmp 0x57c4e1
xchg esi, eax
cmp al, 7
xchg esi, eax
ja 0x57c686
xchg esi, eax
cmp al, 6
xchg esi, eax
jne 0x57c65a
mov esi, dword [esp + 0x50]
mov ebx, edi
mov edi, ecx
mov ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
jmp 0x57c4e1
lea eax, [ebx + edx*4]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call fcn.00575490
cmp dword [esp + 8], 0xffffffff
je 0x57c773
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x58]
jmp 0x57c6d1
xchg esi, eax
cmp al, 8
xchg esi, eax
jne 0x57c6aa
mov esi, dword [ebx + edx*4 + 0x10]
mov edx, dword [ebx + edx*4 + 0xc]
test esi, esi
jbe 0x57c7a7
mov ebx, dword [esp + 0x30]
cmp dword [edx], ebx
je 0x57c6d1
jmp 0x57c77a
xchg esi, eax
cmp al, 9
xchg esi, eax
jne 0x57c6b7
mov ebx, dword [esp + 0x30]
jmp 0x57c6d1
xchg esi, eax
cmp al, 0xa
xchg esi, eax
jne 0x57c78f
mov edx, dword [esp + 0x30]
cmp edx, 0xa
je 0x57c788
mov ebx, edx
test ecx, ecx
je 0x57c781
lea edx, [ebp + ecx]
mov ebp, dword [esp + 0x34]
cmp ebp, 0xffffffff
jne 0x57c6ee
mov eax, ebp
mov ecx, dword [esp + 0x28]
jmp 0x57c725
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x20]
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebp, dword [esp + 0x28]
lea esi, [edx + ebp]
mov dword [esp + 4], esi
call ecx
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x44]
mov ebp, ebx
mov ecx, eax
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x28]
jmp 0x57c4e1
xor eax, eax
jmp 0x57c3cf
xchg esi, eax
cmp al, 4
xchg esi, eax
jne 0x57c76c
mov edx, dword [esp + 0x78]
mov ebx, dword [edx + 0x28]
mov esi, dword [edx + 0x24]
test ebx, ebx
je 0x57c762
mov dword [esi], 0
mov ecx, dword [edx + 0x28]
mov ebx, dword [edx + 0x24]
cmp ecx, 1
jbe 0x57c7b0
mov dword [ebx + 4], ebp
mov eax, 1
jmp 0x57c3cf
xor eax, eax
jmp 0x57c3cf
xor eax, eax
jmp 0x57c3cf
xor eax, eax
jmp 0x57c3cf
xor eax, eax
jmp 0x57c3cf
xor eax, eax
jmp 0x57c3cf
lea eax, [0x5e1fa0]
mov dword [esp], eax
lea eax, [0x661794]
mov dword [esp + 4], eax
call fcn.00435720
xor eax, eax
mov ecx, eax
call fcn.004637b0
mov eax, 1
call fcn.004637b0
mov eax, edx
mov ecx, esi
call fcn.004637c0
mov eax, esi
mov ecx, edx
call fcn.004637b0
mov eax, esi
mov ecx, edi
call fcn.004637b0
mov eax, ecx
mov ecx, ebx
call fcn.004637b0
call fcn.004637f0
nop
call fcn.00462320
jmp fcn.0057bf80