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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x592067
sub esp, 0x6c
mov eax, dword [esp + 0x74]
test eax, eax
je 0x592019
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x67991d]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.004b9cb0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x591fad
lea ecx, [eax + 1]
mov edx, dword [esp + 0x74]
cmp ecx, edx
je 0x591f84
mov dword [esp + 0x5c], eax
mov dword [esp + 0x28], ecx
lea eax, [0x642e40]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], edx
call fcn.00444130
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
cmp ecx, 0xffffffff
je 0x591f73
mov edx, dword [esp + 0x74]
cmp ecx, edx
ja 0x592061
mov ebx, dword [esp + 0x70]
mov ebp, edx
xor esi, esi
xor edi, edi
jmp 0x5919ae
mov dword [eax + edi*4], ebp
mov ebp, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
mov edi, ebx
mov ebx, dword [esp + 0x70]
cmp ecx, esi
jle 0x591a4e
mov dword [esp + 0x2c], edi
movzx ebp, byte [ebx + esi]
cmp ebp, 0x80
jge 0x591a15
inc esi
lea ebx, [edi + 1]
cmp ebx, edx
jbe 0x59199d
mov dword [esp + 0x24], ebp
mov dword [esp + 0x58], esi
lea ecx, [0x642e40]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x2c]
jmp 0x59199d
mov dword [esp + 0x30], edx
mov dword [esp + 0x68], eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.00453ad0
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x2c]
jmp 0x5919c7
mov esi, dword [esp + 0x28]
xor ecx, ecx
mov ecx, 0x48
mov dword [esp + 0x44], ecx
mov ecx, pe_nt_image_headers32
mov dword [esp + 0x38], ecx
xor ecx, ecx
jmp 0x591cbd
mov edx, dword [esp + 0x3c]
add edx, 0x24
mov ebp, dword [esp + 0x74]
mov ecx, edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x2c]
cmp ebp, esi
je 0x591ec5
jbe 0x592058
movzx edx, byte [ebx + esi]
lea edi, [edx - 0x30]
xchg edi, eax
cmp al, 9
xchg edi, eax
ja 0x591e8e
add edx, 0xffffffea
movzx edx, dl
mov edi, 1
xchg edi, eax
test al, al
xchg edi, eax
je 0x591e22
mov edi, dword [esp + 0x20]
imul edi, edx
add edi, ecx
test edi, edi
jl 0x591db6
mov ecx, ebx
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x44]
sub ebx, ebp
cmp ebx, 1
jge 0x591da3
mov ebx, 1
inc esi
cmp edx, ebx
jl 0x591b7b
lea edx, [ebx - 0x24]
neg edx
mov ebx, dword [esp + 0x20]
imul ebx, edx
cmp ebx, 0x38e38e3
jl 0x591a6d
lea eax, [0x660a20]
mov dword [esp], eax
call fcn.0040c800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x591b70
mov eax, dword [esp + 0x70]
mov dword [edi], eax
mov dword [edi + 0xc], 2
lea eax, [0x679975]
mov dword [edi + 8], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x6cb270]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
add esp, 0x6c
ret
mov eax, dword [esp + 0x70]
call fcn.0045c920
jmp 0x591b38
mov dword [esp + 0x68], eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x40], edi
mov eax, dword [esp + 0x34]
sub edi, eax
mov dword [esp], edi
mov edx, dword [esp + 0x2c]
lea ebx, [edx + 1]
mov dword [esp + 0x5c], ebx
mov dword [esp + 4], ebx
test eax, eax
sete al
mov byte [esp + 8], al
call fcn.00592810
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x592053
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x40]
mov ebx, eax
cdq
idiv ecx
mov edx, dword [esp + 0x38]
add edx, eax
mov eax, ebx
mov ebx, edx
cdq
idiv ecx
cmp ebx, 0x10ffff
jg 0x591d37
mov ebp, dword [esp + 0x2c]
cmp ebp, 0x400
jge 0x591d37
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], edx
mov esi, dword [esp + 0x30]
cmp ecx, esi
ja 0x591cf7
mov eax, dword [esp + 0x68]
mov dword [eax + ebp*4], 0
lea ebp, [edx + 1]
cmp ecx, ebp
jb 0x59204c
mov dword [esp + 0x30], esi
mov dword [esp + 0x48], ebp
mov edi, ecx
sub ecx, ebp
sub esi, ebp
xchg esi, ebx
neg ebx
xchg esi, ebx
shl ebp, 2
sar esi, 0x1f
and ebp, esi
add ebp, eax
cmp edx, edi
ja 0x592043
mov dword [esp + 0x5c], edi
sub edi, edx
mov esi, dword [esp + 0x30]
sub esi, edx
xchg esi, ebx
neg ebx
xchg esi, ebx
shl edx, 2
sar esi, 0x1f
and edx, esi
add edx, eax
cmp ecx, edi
jle 0x591cf0
mov dword [esp + 0x68], eax
cmp ebp, edx
je 0x591c82
mov dword [esp], ebp
mov dword [esp + 4], edx
shl edi, 2
mov dword [esp + 8], edi
call fcn.0045d2c0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x68]
mov dword [edx + eax*4], ecx
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x44]
mov ebp, eax
mov edi, esi
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], ecx
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x48]
cmp esi, ebp
jge 0x591f31
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x60], eax
mov eax, 1
mov dword [esp + 0x20], eax
mov eax, 0x24
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
jmp 0x591a8e
mov edi, ecx
jmp 0x591c67
lea eax, [0x642e40]
mov dword [esp], eax
mov edx, dword [esp + 0x68]
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
inc ecx
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x2c]
jmp 0x591c0b
lea eax, [0x660a20]
mov dword [esp], eax
call fcn.0040c800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x591d98
mov eax, dword [esp + 0x70]
mov dword [edi], eax
mov dword [edi + 0xc], 2
lea eax, [0x679975]
mov dword [edi + 8], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x6cb270]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
add esp, 0x6c
ret
mov eax, dword [esp + 0x70]
call fcn.0045c920
jmp 0x591d60
cmp ebx, 0x1a
jle 0x591aee
mov ebx, 0x1a
jmp 0x591aee
lea eax, [0x660a20]
mov dword [esp], eax
call fcn.0040c800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x591e17
mov eax, dword [esp + 0x70]
mov dword [edi], eax
mov dword [edi + 0xc], 2
lea eax, [0x679975]
mov dword [edi + 8], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x6cb270]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
add esp, 0x6c
ret
mov eax, dword [esp + 0x70]
call fcn.0045c920
jmp 0x591ddf
lea eax, [0x660a20]
mov dword [esp], eax
call fcn.0040c800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x591e83
mov eax, dword [esp + 0x70]
mov dword [edi], eax
mov dword [edi + 0xc], 2
lea eax, [0x679975]
mov dword [edi + 8], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x6cb270]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
add esp, 0x6c
ret
mov eax, dword [esp + 0x70]
call fcn.0045c920
jmp 0x591e4b
lea edi, [edx - 0x41]
xchg edi, eax
cmp al, 0x19
xchg edi, eax
ja 0x591ea7
xchg edi, eax
movzx edx, al
xchg edi, eax
mov edi, 1
jmp 0x591ab9
add edx, 0xffffff9f
cmp dl, 0x19
ja 0x591ebc
movzx edx, dl
mov edi, 1
jmp 0x591ab9
xor edx, edx
xor edi, edi
jmp 0x591ab9
lea eax, [0x660a20]
mov dword [esp], eax
call fcn.0040c800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x591f26
mov eax, dword [esp + 0x70]
mov dword [edi], eax
mov dword [edi + 0xc], 2
lea eax, [0x679975]
mov dword [edi + 8], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x6cb270]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
add esp, 0x6c
ret
mov eax, dword [esp + 0x70]
call fcn.0045c920
jmp 0x591eee
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
call fcn.00447a70
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
add esp, 0x6c
ret
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
xor edi, edi
mov edx, ebp
jmp 0x591a4e
mov eax, dword [esp + 0x70]
mov dword [esp + 0x78], eax
lea eax, [edx - 1]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
add esp, 0x6c
ret
lea eax, [0x660a20]
mov dword [esp], eax
call fcn.0040c800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x59200e
mov eax, dword [esp + 0x70]
mov dword [edi], eax
mov dword [edi + 0xc], 2
lea eax, [0x679975]
mov dword [edi + 8], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x6cb270]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
add esp, 0x6c
ret
mov eax, dword [esp + 0x70]
call fcn.0045c920
jmp 0x591fd6
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
add esp, 0x6c
ret
mov eax, edx
mov ecx, edi
call fcn.0045ca00
mov eax, ebp
call fcn.0045ca00
call fcn.004309e0
mov eax, esi
mov ecx, ebp
call fcn.0045c9a0
call fcn.0045c9c0
nop
call fcn.0045b380
jmp fcn.005918f0