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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c]
cmp eax, dword [ecx + 8]
jbe 0x57a9f6
sub esp, 0x9c
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov edx, dword [esp + 0xa0]
mov ebx, dword [edx + 0x80]
mov dword [esp + 0x38], ebx
mov ebp, dword [edx + 0x84]
mov dword [esp + 0x34], ebp
mov esi, dword [edx + 0x88]
mov dword [esp + 0x30], esi
cmp dword [edx + 0x64], 2
jl 0x57a98b
mov ecx, dword [edx + 0x58]
mov edi, dword [edx + 0x54]
mov eax, esi
mov esi, dword [edx + 0x60]
lea ebp, [esi + 1]
cmp ebp, ecx
jae 0x57a9ee
lea ebp, [esi + edi + 1]
cmp byte [ebp], 0x3c
jne 0x57a7fe
nop
mov ebp, dword [edx + 0x80]
lea esi, [ebp + 1]
mov dword [edx + 0x80], esi
mov esi, dword [edx + 0x88]
mov dword [esp + 0x2c], esi
lea edi, [esi + 1]
mov dword [edx + 0x88], edi
mov edi, dword [edx + 0x64]
mov dword [esp + 0x28], edi
mov ecx, ebx
lea ebx, [edi - 1]
mov dword [edx + 0x64], ebx
mov ebx, dword [edx + 0x58]
mov edi, dword [edx + 0x54]
mov esi, dword [edx + 0x60]
cmp esi, ebx
jae 0x57a9e5
movzx ebx, byte [edi + esi]
test bl, 0x80
jne 0x57a7bb
mov ebx, 1
add ebx, esi
mov dword [edx + 0x60], ebx
nop
add ebp, 2
mov dword [edx + 0x80], ebp
mov ebp, dword [esp + 0x2c]
add ebp, 2
mov dword [edx + 0x88], ebp
mov ebp, dword [esp + 0x28]
add ebp, 0xfffffffe
mov dword [edx + 0x64], ebp
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x54]
cmp ebx, ebp
jae 0x57a9dc
movzx ebp, byte [ebx + esi]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x57a774
mov ebp, 1
add ebx, ebp
mov dword [edx + 0x60], ebx
mov dword [esp], edx
mov byte [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
lea ebp, [esp + 0x3c]
mov dword [esp + 0x20], ebp
call fcn.0057ad80
movzx eax, byte [esp + 0x24]
test al, al
je 0x57a765
mov edx, dword [esp + 0xa0]
mov ecx, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x57a9d7
add ebx, eax
cmp byte [ebx], 0x3e
je 0x57a50c
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x14
mov ecx, dword [0x770e60]
test ecx, ecx
jne 0x57a4fc
lea ecx, [0x5f0f1f]
mov dword [edx + 0x20], ecx
mov ecx, dword [esp + 0x38]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0x34]
mov dword [edx + 0x2c], ecx
mov ecx, dword [esp + 0x30]
mov dword [edx + 0x30], ecx
mov dword [edx + 8], 0x1d
mov ecx, dword [0x770e60]
test ecx, ecx
jne 0x57a4ec
lea eax, [0x5f4ddb]
mov dword [edx + 4], eax
mov eax, dword [edx + 0x84]
mov ecx, dword [edx + 0x88]
mov ebx, dword [edx + 0x80]
mov dword [edx + 0x14], ebx
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
mov byte [esp + 0xa8], 0
add esp, 0x9c
ret
lea edi, [edx + 4]
lea eax, [0x5f4ddb]
call fcn.0045df70
jmp 0x57a4c2
lea edi, [edx + 0x20]
lea eax, [0x5f0f1f]
call fcn.0045df70
jmp 0x57a493
nop
inc dword [edx + 0x80]
inc dword [edx + 0x88]
dec dword [edx + 0x64]
mov ecx, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x57a9d2
movzx ecx, byte [ebx + eax]
test cl, 0x80
jne 0x57a724
mov ecx, 1
add eax, ecx
mov dword [edx + 0x60], eax
cmp dword [edx + 0x64], 1
jl 0x57a6f0
mov eax, dword [edx + 0x54]
mov ecx, dword [edx + 0x58]
mov ebx, dword [edx + 0x5c]
mov ebp, dword [edx + 0x60]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.00583b90
movzx eax, byte [esp + 0x10]
test al, al
je 0x57a64f
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x84]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 0x88]
mov eax, dword [eax + 0x80]
lea edi, [esp + 0x54]
lea esi, [0x63c5f4]
call fcn.0045e65c
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov edi, dword [esp + 0xa4]
test byte [edi], al
mov eax, dword [0x770e60]
test eax, eax
jne 0x57a633
lea esi, [esp + 0x54]
call fcn.0045e65c
mov byte [esp + 0xa8], 1
add esp, 0x9c
ret
lea eax, [0x5dd120]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x54]
mov dword [esp + 8], eax
call fcn.004106b0
jmp 0x57a624
nop
mov ecx, dword [esp + 0xa0]
mov dword [ecx], 3
mov dword [ecx + 0x24], 0x14
mov edx, dword [0x770e60]
test edx, edx
jne 0x57a6e0
lea edx, [0x5f0f1f]
mov dword [ecx + 0x20], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 0x28], edx
mov edx, dword [esp + 0x34]
mov dword [ecx + 0x2c], edx
mov edx, dword [esp + 0x30]
mov dword [ecx + 0x30], edx
mov dword [ecx + 8], 0x2e
mov edx, dword [0x770e60]
test edx, edx
jne 0x57a6d0
lea eax, [0x5fa0d0]
mov dword [ecx + 4], eax
mov eax, dword [ecx + 0x84]
mov edx, dword [ecx + 0x88]
mov ebx, dword [ecx + 0x80]
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov byte [esp + 0xa8], 0
add esp, 0x9c
ret
lea edi, [ecx + 4]
lea eax, [0x5fa0d0]
call fcn.0045df70
jmp 0x57a6a6
lea edi, [ecx + 0x20]
lea eax, [0x5f0f1f]
call fcn.0045df70
jmp 0x57a677
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00571e80
movzx eax, byte [esp + 8]
test al, al
je 0x57a715
mov edx, dword [esp + 0xa0]
jmp 0x57a54e
mov byte [esp + 0xa8], 0
add esp, 0x9c
ret
mov ebx, ecx
and ecx, 0xffffffe0
cmp cl, 0xc0
jne 0x57a738
mov ecx, 2
jmp 0x57a53f
mov ecx, ebx
and ebx, 0xfffffff0
cmp bl, 0xe0
jne 0x57a74c
mov ecx, 3
jmp 0x57a53f
and ecx, 0xfffffff8
cmp cl, 0xf0
jne 0x57a75e
mov ecx, 4
jmp 0x57a53f
xor ecx, ecx
jmp 0x57a53f
mov byte [esp + 0xa8], 0
add esp, 0x9c
ret
mov esi, ebp
and ebp, 0xffffffe0
xchg ebp, eax
cmp al, 0xc0
xchg ebp, eax
jne 0x57a78a
mov ebp, 2
jmp 0x57a400
mov ebp, esi
and esi, 0xfffffff0
xchg esi, eax
cmp al, 0xe0
xchg esi, eax
jne 0x57a7a0
mov ebp, 3
jmp 0x57a400
and ebp, 0xfffffff8
xchg ebp, eax
cmp al, 0xf0
xchg ebp, eax
jne 0x57a7b4
mov ebp, 4
jmp 0x57a400
xor ebp, ebp
jmp 0x57a400
mov edi, ebx
and ebx, 0xffffffe0
cmp bl, 0xc0
jne 0x57a7cf
mov ebx, 2
jmp 0x57a3b8
mov ebx, edi
and edi, 0xfffffff0
xchg edi, eax
cmp al, 0xe0
xchg edi, eax
jne 0x57a7e5
mov ebx, 3
jmp 0x57a3b8
and ebx, 0xfffffff8
cmp bl, 0xf0
jne 0x57a7f7
mov ebx, 4
jmp 0x57a3b8
xor ebx, ebx
jmp 0x57a3b8
mov dword [esp], edx
mov byte [esp + 4], 0
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
lea ebp, [esp + 0x48]
mov dword [esp + 0x14], ebp
call fcn.0057aa00
movzx eax, byte [esp + 0x18]
test al, al
je 0x57a97c
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x48]
test ecx, ecx
jbe 0x57a9cb
cmp byte [ebx], 0x21
jne 0x57a85b
cmp ecx, 1
jle 0x57a85b
lea eax, [ecx + ebx - 1]
cmp byte [eax], 0x21
je 0x57a918
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov byte [esp + 4], 0
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x1c], ebx
lea ebp, [esp + 0x3c]
mov dword [esp + 0x20], ebp
call fcn.0057ad80
movzx eax, byte [esp + 0x24]
test al, al
je 0x57a909
lea eax, [0x5ba740]
mov dword [esp], eax
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov byte [eax], 0x21
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], 1
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x44]
test ecx, ecx
jne 0x57a8fd
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], 1
mov edx, dword [esp + 0xa0]
jmp 0x57a544
mov byte [esp + 0xa8], 0
add esp, 0x9c
ret
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov byte [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x1c], ebx
lea ebp, [esp + 0x3c]
mov dword [esp + 0x20], ebp
call fcn.0057ad80
movzx eax, byte [esp + 0x24]
test al, al
jne 0x57a8fd
mov byte [esp + 0xa8], 0
add esp, 0x9c
ret
mov byte [esp + 0xa8], 0
add esp, 0x9c
ret
mov dword [esp], edx
mov dword [esp + 4], 2
call fcn.00571e80
movzx eax, byte [esp + 8]
test al, al
je 0x57a9bc
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
jmp 0x57a33f
mov byte [esp + 0xa8], 0
add esp, 0x9c
ret
xor eax, eax
call fcn.0045dff0
call fcn.0045dff0
call fcn.0045dff0
mov eax, ebx
mov ecx, ebp
call fcn.0045dff0
mov eax, esi
mov ecx, ebx
call fcn.0045dff0
mov eax, ebp
call fcn.0045dff0
nop
call fcn.0045ca10
jmp fcn.0057a2c0