Function at 0x579e50
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 0x57a2b5
sub esp, 0x9c
mov edx, dword [esp + 0xa0]
mov ebx, dword [edx + 0x80]
mov dword [esp + 0x48], ebx
mov ebp, dword [edx + 0x84]
mov esi, dword [edx + 0x88]
nop
mov eax, esi
lea esi, [ebx + 1]
mov dword [edx + 0x80], esi
inc dword [edx + 0x88]
mov esi, dword [edx + 0x64]
dec esi
mov dword [edx + 0x64], esi
mov ecx, dword [edx + 0x58]
mov edi, ebp
mov ebp, dword [edx + 0x54]
mov ebx, dword [edx + 0x60]
cmp ebx, ecx
jae 0x57a2ad
movzx ebp, byte [ebp + ebx]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x57a25a
mov ecx, 1
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edi
add ebx, ecx
mov dword [edx + 0x60], ebx
cmp esi, 1
jl 0x57a21e
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
jmp 0x579eff
mov edi, dword [esp + 0x40]
mov ebx, edx
mov ebp, eax
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x4c], ebp
mov esi, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov ebp, dword [edx + 0x5c]
mov dword [esp + 0x30], ebp
mov ebp, dword [edx + 0x60]
cmp ebp, esi
jae 0x57a2a4
mov dword [esp + 0x2c], ebp
movzx ebp, byte [ebx + ebp]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x579fc2
xchg ebp, eax
cmp al, 0x39
xchg ebp, eax
ja 0x579fc2
mov dword [esp], edx
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], eax
call fcn.00574850
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa0]
cmp dword [ebx + 0x64], 1
jge 0x579eec
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x50], eax
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.00571e80
movzx eax, byte [esp + 8]
test al, al
je 0x579fb3
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0xa0]
jmp 0x579eec
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
xchg ebp, eax
cmp al, 0x41
xchg ebp, eax
jb 0x579fd4
xchg ebp, eax
cmp al, 0x5a
xchg ebp, eax
jbe 0x579f3d
xchg ebp, eax
cmp al, 0x61
xchg ebp, eax
jb 0x579fe6
xchg ebp, eax
cmp al, 0x7a
xchg ebp, eax
jbe 0x579f3d
xchg ebp, eax
cmp al, 0x5f
xchg ebp, eax
je 0x579f3d
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
je 0x579f3d
mov ebp, dword [edx + 0x84]
mov dword [esp + 0x3c], ebp
mov ebp, dword [edx + 0x88]
mov dword [esp + 0x38], ebp
mov ebp, dword [edx + 0x80]
test ecx, ecx
jne 0x57a0d7
mov ecx, dword [esp + 0xa8]
cmp ecx, 0x13
jne 0x57a0c7
lea ecx, [0x5f2e98]
mov ebx, 0x18
nop
mov dword [edx], 3
mov dword [edx + 0x24], ebx
mov ebx, dword [0x770e60]
test ebx, ebx
jne 0x57a0b1
mov dword [edx + 0x20], ecx
mov ecx, dword [esp + 0x48]
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], edi
mov dword [edx + 0x30], eax
mov dword [edx + 8], 0x35
mov ecx, dword [0x770e60]
test ecx, ecx
jne 0x57a0a1
lea eax, [0x5fb032]
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 + 0xac], 0
add esp, 0x9c
ret
lea edi, [edx + 4]
lea eax, [0x5fb032]
call fcn.0045df70
jmp 0x57a077
lea ebx, [edx + 0x20]
mov ebp, edi
mov edi, ebx
mov esi, eax
mov eax, ecx
call fcn.0045df70
mov eax, esi
mov edi, ebp
jmp 0x57a050
lea ecx, [0x5f283a]
mov ebx, 0x17
jmp 0x57a039
mov dword [esp + 0x34], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp], ebx
mov dword [esp + 4], esi
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
call fcn.00583b90
movzx eax, byte [esp + 0x10]
test al, al
je 0x57a1ad
lea edi, [esp + 0x54]
xor eax, eax
call fcn.0045e1ee
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x7c], ecx
mov edi, dword [esp + 0xa4]
test byte [edi], al
mov ecx, dword [0x770e60]
test ecx, ecx
jne 0x57a191
lea esi, [esp + 0x54]
call fcn.0045e65c
mov byte [esp + 0xac], 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 0x57a182
mov edx, dword [esp + 0xa0]
mov ecx, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x57a29f
movzx ecx, byte [ebx + eax]
cmp cl, 0x3f
je 0x57a108
cmp cl, 0x3a
je 0x57a108
cmp cl, 0x2c
je 0x57a108
cmp cl, 0x5d
je 0x57a108
cmp cl, 0x7d
je 0x57a108
cmp cl, 0x25
je 0x57a108
cmp cl, 0x40
je 0x57a108
cmp cl, 0x60
je 0x57a108
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
jmp 0x57a01e
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00571e80
movzx eax, byte [esp + 8]
test al, al
je 0x57a24b
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0xa0]
mov edi, dword [esp + 0x40]
jmp 0x579ee4
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov ecx, ebp
and ebp, 0xffffffe0
xchg ebp, eax
cmp al, 0xc0
xchg ebp, eax
jne 0x57a270
mov ecx, 2
jmp 0x579ece
mov ebp, ecx
and ecx, 0xfffffff0
cmp cl, 0xe0
jne 0x57a284
mov ecx, 3
jmp 0x579ece
and ebp, 0xfffffff8
xchg ebp, eax
cmp al, 0xf0
xchg ebp, eax
jne 0x57a298
mov ecx, 4
jmp 0x579ece
xor ecx, ecx
jmp 0x579ece
call fcn.0045dff0
mov eax, ebp
mov ecx, esi
call fcn.0045dff0
mov eax, ebx
call fcn.0045dff0
nop
call fcn.0045ca10
jmp fcn.00579e50