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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x30]
cmp eax, dword [ecx + 8]
jbe 0x5d610a
sub esp, 0xb0
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
call fcn.005d6350
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xb8]
mov edx, ecx
sub ecx, eax
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebp, dword [esp + 0xb4]
lea esi, [ebp + ecx]
test ebx, ebx
je 0x5d5a72
movzx ecx, byte [ebp + ecx]
cmp cl, 0x5c
jne 0x5d5966
mov ecx, 1
jmp 0x5d596c
cmp cl, 0x2f
sete cl
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x64], esi
mov byte [esp + 0x26], cl
lea edi, [esp + 0x8c]
xor eax, eax
call fcn.0045f767
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], ebx
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa8], edx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xac], ecx
lea edi, [esp + 0x68]
mov eax, esi
lea esi, [esp + 0x8c]
call fcn.0045fc26
movzx ecx, byte [esp + 0x26]
test cl, cl
je 0x5d5a69
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x5d5a53
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
cmp ebp, edx
jle 0x5d59f6
add esi, edx
cmp byte [esi], 0x5c
jne 0x5d59f6
inc edx
mov dword [esp + 0x7c], edx
jmp 0x5d5a62
mov dword [esp + 0x3c], ebp
lea eax, [0x67e920]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00447740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x7c]
cmp ebx, ecx
jl 0x5d5a32
mov ebx, ecx
cmp edx, eax
je 0x5d5a46
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.0045fe60
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
add edx, dword [esp + 0x7c]
mov byte [edx], 0x5c
inc dword [esp + 0x7c]
mov edx, 1
jmp 0x5d5a6b
xor edx, edx
mov ebp, edx
jmp 0x5d5b2c
cmp eax, 1
jle 0x5d5ae9
movzx eax, byte [ebp]
cmp al, 0x5c
je 0x5d5a85
cmp al, 0x2f
jne 0x5d5ae9
movzx eax, byte [ebp + 1]
cmp al, 0x5c
je 0x5d5a93
cmp al, 0x2f
jne 0x5d5ae9
nop
mov dword [esp], ebp
mov dword [esp + 4], edx
lea eax, [0x6b6d37]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x893968]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.0051f490
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
lea eax, [0x893888]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0044afd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
cmp edx, ebx
jge 0x5d5e90
movzx esi, byte [edx + eax]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x5d5b46
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
jne 0x5d5b49
inc edx
jmp 0x5d5b2c
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x5d5db3
lea edi, [edx + 1]
cmp ebx, edi
je 0x5d5b74
movzx ebx, byte [edx + eax + 1]
cmp bl, 0x5c
jne 0x5d5b6b
mov ebx, dword [esp + 0x40]
jmp 0x5d5b74
cmp bl, 0x2f
jne 0x5d5b78
mov ebx, dword [esp + 0x40]
mov edx, edi
jmp 0x5d5b2c
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x5d5dab
lea ebx, [edx + eax + 1]
cmp byte [ebx], 0x2e
jne 0x5d5da3
lea ebx, [edx + 2]
mov esi, dword [esp + 0x40]
cmp esi, ebx
je 0x5d5bb2
movzx edi, byte [edx + eax + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x5d5bb2
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x5d5d9f
mov edx, dword [esp + 0x7c]
cmp ebp, edx
jge 0x5d5bc4
dec edx
mov dword [esp + 0x7c], edx
jmp 0x5d60d5
test cl, cl
jne 0x5d60c7
mov dword [esp + 0x38], ebx
test edx, edx
jle 0x5d5c6a
mov ebp, dword [esp + 0x70]
test ebp, ebp
jne 0x5d5c5b
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebp, edx
jle 0x5d5bfa
add edi, edx
cmp byte [edi], 0x5c
jne 0x5d5bfa
inc edx
mov dword [esp + 0x7c], edx
jmp 0x5d5c6a
mov dword [esp + 0x3c], ebp
lea eax, [0x67e920]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00447740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x7c]
cmp ebx, ecx
jl 0x5d5c36
mov ebx, ecx
cmp edx, eax
je 0x5d5c4a
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.0045fe60
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
add edx, dword [esp + 0x7c]
mov byte [edx], 0x5c
inc dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x5d5cf1
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebp, edx
jle 0x5d5c90
add edi, edx
cmp byte [edi], 0x2e
jne 0x5d5c90
inc edx
mov dword [esp + 0x7c], edx
jmp 0x5d5d00
mov dword [esp + 0x3c], ebp
lea eax, [0x67e920]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00447740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x7c]
cmp ebx, ecx
jl 0x5d5ccc
mov ebx, ecx
cmp edx, eax
je 0x5d5ce0
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.0045fe60
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
add edx, dword [esp + 0x7c]
mov byte [edx], 0x2e
inc dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x5d5d87
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebp, edx
jle 0x5d5d26
add edi, edx
cmp byte [edi], 0x2e
jne 0x5d5d26
inc edx
mov dword [esp + 0x7c], edx
jmp 0x5d5d96
mov dword [esp + 0x3c], ebp
lea eax, [0x67e920]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00447740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x7c]
cmp ebx, ecx
jl 0x5d5d62
mov ebx, ecx
cmp edx, eax
je 0x5d5d76
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.0045fe60
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
add edx, dword [esp + 0x7c]
mov byte [edx], 0x2e
inc dword [esp + 0x7c]
mov ebp, dword [esp + 0x7c]
jmp 0x5d60c7
test cl, cl
jmp 0x5d5db7
test cl, cl
mov esi, dword [esp + 0x40]
jmp 0x5d5db7
test cl, cl
mov esi, dword [esp + 0x40]
jmp 0x5d5db7
test cl, cl
mov esi, ebx
mov dword [esp + 0x30], ebp
je 0x5d5dcc
cmp dword [esp + 0x7c], 1
jne 0x5d5dd8
test cl, cl
jne 0x5d5fef
mov ebx, dword [esp + 0x7c]
test ebx, ebx
je 0x5d5fef
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x5d5e75
mov dword [esp + 0x2c], edx
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
cmp ebx, edi
jge 0x5d5e10
add ecx, ebx
cmp byte [ecx], 0x5c
jne 0x5d5e10
lea ecx, [ebx + 1]
mov dword [esp + 0x7c], ecx
movzx ecx, byte [esp + 0x26]
jmp 0x5d5fef
mov dword [esp + 0x3c], edi
lea eax, [0x67e920]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00447740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x7c]
cmp ebx, ecx
jl 0x5d5e4c
mov ebx, ecx
cmp edx, eax
je 0x5d5e60
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.0045fe60
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x70]
add ebx, dword [esp + 0x7c]
mov byte [ebx], 0x5c
inc dword [esp + 0x7c]
jmp 0x5d5fef
mov ebx, esi
jmp 0x5d5b2c
mov eax, dword [esp + 0x7c]
test eax, eax
jne 0x5d5f1e
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x5d5f0f
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
test eax, eax
jle 0x5d5ebf
cmp byte [ecx], 0x2e
jne 0x5d5ebf
mov dword [esp + 0x7c], 1
jmp 0x5d5f1e
mov dword [esp + 0x40], eax
lea ecx, [0x67e920]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00447740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x7c]
cmp ebx, ecx
jl 0x5d5efb
mov ebx, ecx
cmp edx, eax
je 0x5d5f0f
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.0045fe60
mov eax, dword [esp + 0x70]
add eax, dword [esp + 0x7c]
mov byte [eax], 0x2e
inc dword [esp + 0x7c]
lea eax, [esp + 0x68]
mov dword [esp], eax
call fcn.005d6cc0
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x5d5f46
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x7c]
jmp 0x5d5f98
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x7c]
lea ebp, [esp + 0x44]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0044b280
mov dword [esp], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
call fcn.0044afd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x6b6d37]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x893968]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.0051f490
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
inc edx
cmp edx, esi
jge 0x5d5e89
movzx ebx, byte [edx + eax]
cmp bl, 0x5c
je 0x5d5e89
cmp bl, 0x2f
je 0x5d5e89
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x5d60b4
mov dword [esp + 0x34], edx
mov byte [esp + 0x27], bl
mov edi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
cmp ecx, edi
jle 0x5d604a
add ebp, edi
cmp byte [ebp], bl
jne 0x5d604a
lea ecx, [edi + 1]
mov dword [esp + 0x7c], ecx
movzx ecx, byte [esp + 0x26]
mov ebp, dword [esp + 0x30]
jmp 0x5d5fee
mov dword [esp + 0x3c], ecx
lea eax, [0x67e920]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00447740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x7c]
cmp ebx, ecx
jl 0x5d6086
mov ebx, ecx
cmp edx, eax
je 0x5d609a
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.0045fe60
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x34]
movzx ebx, byte [esp + 0x27]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x70]
add edi, dword [esp + 0x7c]
mov byte [edi], bl
inc dword [esp + 0x7c]
jmp 0x5d5fee
mov edx, ebx
mov ebx, esi
jmp 0x5d5b2c
dec edx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x7c]
cmp ebp, edx
jge 0x5d60c7
mov edi, dword [esp + 0x70]
test edi, edi
je 0x5d60eb
movzx edi, byte [edi + edx]
jmp 0x5d60fa
mov ecx, dword [esp + 0x68]
movzx ecx, byte [ecx + edx]
mov edi, ecx
movzx ecx, byte [esp + 0x26]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x5d60c7
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x5d60d0
jmp 0x5d60c7
call fcn.0045e260
jmp fcn.005d58f0