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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x59f7c7
sub esp, 0x94
mov eax, dword [esp + 0x98]
mov dword [esp], eax
mov ecx, dword [esp + 0x9c]
mov dword [esp + 4], ecx
call fcn.0059fbf0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x9c]
cmp eax, ecx
ja 0x59f7c1
mov ebx, ecx
sub ecx, eax
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov esi, dword [esp + 0x98]
mov edx, ebx
lea ebx, [esi + ecx]
test ebp, ebp
je 0x59f64d
movzx ecx, byte [esi + ecx]
cmp cl, 0x5c
jne 0x59f642
mov ecx, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0x98], ebx
mov byte [esp + 0x25], cl
lea edi, [esp + 0x70]
xor eax, eax
call fcn.00451727
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], edx
mov esi, dword [esp + 0x28]
mov dword [esp + 0x90], esi
movzx esi, byte [esp + 0x25]
xchg esi, eax
test al, al
xchg esi, eax
je 0x59f63b
test ecx, ecx
je 0x59f5a9
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
mov eax, dword [esp + 0x84]
cmp eax, ecx
jae 0x59f7b5
mov byte [edi + eax], 0x5c
inc dword [esp + 0x84]
mov eax, 1
mov ecx, eax
jmp 0x59ece7
mov eax, edi
cmp eax, ebp
jge 0x59f3c4
jae 0x59f7ae
movzx edi, byte [ebx + eax]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
jne 0x59f3b7
mov edx, 1
test dl, dl
je 0x59ed12
lea edi, [eax + 1]
jmp 0x59ece5
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x59f3b0
mov edx, esi
lea esi, [eax + 1]
cmp esi, ebp
jne 0x59f383
mov dword [esp + 0x44], eax
mov eax, 1
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x44]
movzx ebx, byte [esp + 0x27]
test bl, bl
je 0x59ed51
mov ebx, dword [esp + 0x98]
mov edi, esi
mov esi, edx
jmp 0x59ece5
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x59f375
lea ebx, [eax + 1]
cmp ebx, ebp
jae 0x59f79c
mov ebx, dword [esp + 0x98]
movzx esi, byte [eax + ebx + 1]
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x59f36e
lea esi, [eax + 2]
cmp esi, ebp
jne 0x59f341
mov edi, 1
xchg edi, eax
test al, al
xchg edi, eax
je 0x59f0c9
mov edi, dword [esp + 0x84]
cmp edi, ecx
jle 0x59ee1d
dec edi
mov dword [esp + 0x84], edi
jmp 0x59edbe
lea edi, [eax - 1]
mov dword [esp + 0x84], edi
mov ebx, dword [esp + 0x98]
mov eax, dword [esp + 0x84]
cmp eax, ecx
jle 0x59edef
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
test edi, edi
je 0x59ee07
cmp eax, ebx
jae 0x59f78c
movzx ebx, byte [edi + eax]
cmp bl, 0x5c
jne 0x59edff
mov ebx, 1
test bl, bl
je 0x59edad
mov ebx, dword [esp + 0x98]
mov edi, esi
mov esi, edx
jmp 0x59ece5
cmp bl, 0x2f
sete bl
jmp 0x59edeb
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
cmp eax, ebx
jae 0x59f785
movzx ebx, byte [edi + eax]
jmp 0x59ede1
test dl, dl
jne 0x59edef
mov dword [esp + 0x3c], esi
test edi, edi
jle 0x59f0c2
mov eax, ebx
mov ebx, dword [esp + 0x78]
test ebx, ebx
je 0x59f01a
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x84]
cmp edi, ecx
jae 0x59f777
mov byte [ebx + edi], 0x5c
inc dword [esp + 0x84]
mov ebx, dword [esp + 0x78]
test ebx, ebx
je 0x59ef6c
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x84]
cmp edi, ecx
jae 0x59f762
mov byte [ebx + edi], 0x2e
inc dword [esp + 0x84]
mov ebx, dword [esp + 0x78]
test ebx, ebx
je 0x59eec1
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x84]
cmp edi, ecx
jae 0x59f74b
mov byte [ebx + edi], 0x2e
inc dword [esp + 0x84]
mov ecx, dword [esp + 0x84]
jmp 0x59edef
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
cmp ebx, ecx
jge 0x59eeef
jae 0x59f75b
movzx edi, byte [edi + ebx]
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x59eeef
inc ebx
mov dword [esp + 0x84], ebx
jmp 0x59eeb5
mov dword [esp + 0x38], ecx
lea eax, [0x7488c0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0043c700
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x84]
cmp ebp, ebx
ja 0x59f752
cmp ecx, ebp
jle 0x59ef68
cmp eax, edx
je 0x59ef4f
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00451e30
mov eax, dword [esp + 0x98]
movzx edx, byte [esp + 0x25]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp 0x59ee93
mov ebp, ecx
jmp 0x59ef3b
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
cmp ebx, ecx
jge 0x59ef9d
jae 0x59f770
movzx edi, byte [ebx + edi]
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x59ef9d
inc ebx
mov dword [esp + 0x84], ebx
jmp 0x59ee8b
mov dword [esp + 0x38], ecx
lea eax, [0x7488c0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0043c700
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x84]
cmp ebp, edx
ja 0x59f769
cmp ecx, ebp
jle 0x59f016
cmp eax, ebx
je 0x59effd
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.00451e30
mov eax, dword [esp + 0x98]
movzx edx, byte [esp + 0x25]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp 0x59ee69
mov ebp, ecx
jmp 0x59efe9
mov ebx, dword [esp + 0x74]
mov ecx, ebp
mov ebp, dword [esp + 0x70]
cmp edi, ebx
jge 0x59f045
movzx ebp, byte [ebp + edi]
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x59f045
lea ebx, [edi + 1]
mov dword [esp + 0x84], ebx
mov ebp, ecx
jmp 0x59ee5d
mov dword [esp + 0x38], ebx
lea eax, [0x7488c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.0043c700
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x84]
cmp ebp, edx
ja 0x59f77e
cmp ecx, ebp
jle 0x59f0be
cmp eax, ebx
je 0x59f0a5
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.00451e30
mov eax, dword [esp + 0x98]
movzx edx, byte [esp + 0x25]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp 0x59ee3b
mov ebp, ecx
jmp 0x59f091
mov eax, ebx
jmp 0x59ee5d
test dl, dl
mov dword [esp + 0x30], ecx
je 0x59f31c
cmp dword [esp + 0x84], 1
je 0x59f31a
mov esi, dword [esp + 0x78]
test esi, esi
je 0x59f264
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x84]
cmp ebx, esi
jae 0x59f732
mov byte [edi + ebx], 0x5c
inc dword [esp + 0x84]
mov ebx, dword [esp + 0x98]
jmp 0x59f12a
inc eax
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x98]
mov ebx, edi
mov ebp, esi
cmp eax, ebp
jge 0x59f24a
jae 0x59f72b
movzx esi, byte [eax + ebx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x59f253
mov edi, 1
xchg edi, eax
test al, al
xchg edi, eax
jne 0x59f24a
mov edi, dword [esp + 0x78]
test edi, edi
je 0x59f183
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x84]
cmp ebp, ebx
jae 0x59f712
xchg esi, eax
mov byte [edi + ebp], al
xchg esi, eax
inc dword [esp + 0x84]
jmp 0x59f11a
mov dword [esp + 0x2c], eax
xchg esi, eax
mov byte [esp + 0x26], al
xchg esi, eax
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
cmp edi, ebx
jge 0x59f1c4
jae 0x59f722
movzx ebp, byte [ebp + edi]
xchg ebp, eax
xchg esi, ebx
cmp al, bl
xchg esi, ebx
xchg ebp, eax
jne 0x59f1c4
lea ebx, [edi + 1]
mov dword [esp + 0x84], ebx
jmp 0x59f11a
mov dword [esp + 0x38], ebx
lea eax, [0x7488c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.0043c700
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x84]
cmp ebp, edx
ja 0x59f71b
cmp ecx, ebp
jle 0x59f246
cmp eax, ebx
je 0x59f224
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.00451e30
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
movzx edx, byte [esp + 0x25]
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x40]
movzx esi, byte [esp + 0x26]
jmp 0x59f15e
mov ebp, ecx
jmp 0x59f210
mov esi, edx
mov edi, eax
jmp 0x59ece5
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
xchg edi, ebx
sete bl
xchg edi, ebx
jmp 0x59f14c
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
cmp esi, edi
jge 0x59f299
jae 0x59f742
movzx ebx, byte [ebx + esi]
cmp bl, 0x5c
jne 0x59f299
lea ebx, [esi + 1]
mov dword [esp + 0x84], ebx
jmp 0x59f111
mov dword [esp + 0x38], edi
lea eax, [0x7488c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.0043c700
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x84]
cmp ebp, edx
ja 0x59f73b
cmp ecx, ebp
jle 0x59f316
cmp eax, ebx
je 0x59f2f9
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.00451e30
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
movzx edx, byte [esp + 0x25]
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x40]
jmp 0x59f0ef
mov ebp, ecx
jmp 0x59f2e5
test dl, dl
je 0x59f32f
xor esi, esi
xchg esi, eax
test al, al
xchg esi, eax
jne 0x59f0e3
jmp 0x59f111
mov edi, dword [esp + 0x84]
test edi, edi
xchg esi, ebx
setne bl
xchg esi, ebx
jmp 0x59f320
jae 0x59f793
movzx edi, byte [eax + ebx + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
jne 0x59f35d
mov edi, 1
jmp 0x59ed8e
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
xchg edi, ebx
sete bl
xchg edi, ebx
jmp 0x59ed8e
test dl, dl
jmp 0x59f0cb
test dl, dl
mov ebx, dword [esp + 0x98]
jmp 0x59f0cb
jae 0x59f7a5
movzx ebx, byte [eax + ebx + 1]
cmp bl, 0x5c
jne 0x59f3a8
mov ebx, 1
mov byte [esp + 0x27], bl
mov ebx, dword [esp + 0x98]
jmp 0x59ed3b
cmp bl, 0x2f
sete bl
jmp 0x59f398
mov edx, esi
jmp 0x59ed56
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
sete dl
jmp 0x59ed09
mov ebx, dword [esp + 0x84]
test ebx, ebx
jne 0x59f3fd
mov ebp, dword [esp + 0x78]
test ebp, ebp
je 0x59f515
mov ebx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x84]
cmp eax, ecx
jae 0x59f704
mov byte [ebx + eax], 0x2e
inc dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x78]
test eax, eax
je 0x59f4e6
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
cmp ecx, ebp
ja 0x59f6f8
mov ebp, dword [esp + 0x84]
cmp ebp, edx
ja 0x59f6f1
mov dword [esp + 0x40], ecx
mov dword [esp + 0x6c], ebx
lea ecx, [esp + 0x4c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
call fcn.0043fc80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043fb00
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
nop
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x7a5371]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x7a538a]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004e87b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
add esp, 0x94
ret
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
add ecx, dword [esp + 0x84]
cmp ecx, edx
ja 0x59f6ff
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x59f490
mov eax, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
cmp ebx, eax
jge 0x59f53c
movzx ebp, byte [ebp + ebx]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x59f53c
lea eax, [ebx + 1]
mov dword [esp + 0x84], eax
jmp 0x59f3fd
mov dword [esp + 0x40], eax
lea ecx, [0x7488c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0043c700
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x84]
cmp ebp, ebx
ja 0x59f709
cmp ecx, ebp
jle 0x59f5a5
cmp eax, edx
je 0x59f3db
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00451e30
jmp 0x59f3db
mov ebp, ecx
jmp 0x59f588
mov edi, dword [esp + 0x70]
test ebp, ebp
jle 0x59f5c6
cmp byte [edi], 0x5c
jne 0x59f5c6
mov dword [esp + 0x84], 1
jmp 0x59ecdc
lea eax, [0x7488c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0043c700
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x84]
cmp ebp, edx
ja 0x59f7ba
cmp ecx, ebp
jle 0x59f637
cmp eax, ebx
je 0x59f622
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.00451e30
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x40]
movzx esi, byte [esp + 0x25]
jmp 0x59ecba
mov ebp, ecx
jmp 0x59f60e
xor eax, eax
jmp 0x59ece1
cmp cl, 0x2f
sete cl
jmp 0x59ec60
cmp eax, 1
jle 0x59f658
cmp byte [esi + 1], 0x3a
jne 0x59f69b
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], edx
lea eax, [0x7a5370]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0043fb00
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
add esp, 0x94
ret
nop
mov dword [esp], esi
mov dword [esp + 4], edx
lea eax, [0x7a5371]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x7a538a]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004e87b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
add esp, 0x94
ret
mov ecx, ebp
call fcn.00451540
mov edx, ebp
call fcn.00451520
call fcn.00451520
call fcn.00451500
mov ecx, ebp
mov edx, ebx
call fcn.00451520
mov eax, ebp
mov ecx, ebx
call fcn.00451500
mov ecx, ebp
call fcn.00451520
mov eax, edi
mov ecx, ebx
call fcn.00451500
mov ecx, ebp
call fcn.00451500
mov eax, ebx
mov ecx, esi
call fcn.00451500
mov ecx, ebp
call fcn.00451520
mov eax, esi
mov ecx, edi
call fcn.00451500
mov eax, edi
call fcn.00451500
mov ecx, ebp
mov edx, ebx
call fcn.00451520
mov eax, ebx
call fcn.00451500
mov eax, edi
call fcn.00451500
mov ecx, ebp
call fcn.00451520
mov eax, ebx
call fcn.00451500
mov eax, edi
call fcn.00451500
mov ecx, ebp
call fcn.00451520
mov ecx, ebx
call fcn.00451500
mov ecx, ebx
call fcn.00451500
mov eax, esi
mov ecx, ebp
call fcn.00451500
mov eax, ebx
mov ecx, ebp
call fcn.00451500
mov eax, esi
mov ecx, ebp
call fcn.00451500
mov ecx, ebp
call fcn.00451500
call fcn.00451500
mov ecx, ebp
call fcn.00451520
call fcn.00451560
nop
call fcn.0044fc40
jmp fcn.0059ebe0