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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x610671
sub esp, 0x6c
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.006107b0
mov eax, dword [esp + 4]
test eax, eax
jg 0x61062d
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x54], edx
lea ebx, [0xb3f9a0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
call fcn.0040c820
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx]
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.0060ae10
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 8]
test eax, eax
je 0x61057f
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x2c]
jmp 0x610209
mov edx, eax
mov eax, ecx
mov ecx, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x70]
mov dword [esp], edx
lea ebx, [0xbd5344]
mov dword [esp + 4], ebx
call fcn.0060ee40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
test eax, eax
je 0x61056b
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x3c], ebx
nop
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0x3a
call fcn.00402a50
mov ecx, dword [esp + 0x10]
test ecx, ecx
jl 0x61050b
mov edx, dword [esp + 0x44]
cmp edx, ecx
jb 0x610664
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.006109f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x6102b6
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x54]
jmp 0x610203
mov edx, dword [esp + 0x34]
inc edx
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x64]
jmp 0x6102c6
inc edx
cmp ebx, edx
jle 0x6102e5
jbe 0x61065b
movzx esi, byte [ebp + edx]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x6102c5
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x6102c5
cmp ebx, edx
jb 0x610652
mov dword [esp + 0x30], eax
mov dword [esp + 0x5c], ecx
mov dword [esp], 0
mov eax, dword [esp + 0x44]
sub eax, edx
neg eax
sar eax, 0x1f
and eax, edx
add eax, ebp
mov dword [esp + 4], eax
sub ebx, edx
mov dword [esp + 8], ebx
call fcn.0044a5c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
lea edx, [0xb3f9a0]
mov dword [esp], edx
mov ebx, dword [esp + 0x58]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x5c]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x30]
mov dword [esp + 0xc], esi
call fcn.00410690
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
test ecx, ecx
je 0x610464
lea ebx, [edx + 1]
cmp ebx, eax
ja 0x610428
mov dword [esp + 0x68], ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], eax
lea ebp, [ecx + edx*8 + 4]
mov esi, dword [esp + 0x24]
mov dword [ebp], esi
mov ebp, dword [0x10fd360]
lea edi, [ecx + edx*8]
test ebp, ebp
jne 0x61041a
mov edx, dword [esp + 0x50]
mov dword [edi], edx
lea eax, [0xb3f9a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], edx
call fcn.00410d60
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x48]
mov dword [edi + 8], eax
mov eax, dword [0x10fd360]
test eax, eax
jne 0x61040f
mov eax, dword [esp + 0x68]
mov dword [edi], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x610203
mov eax, dword [esp + 0x58]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 0x7c], eax
add esp, 0x6c
ret
mov eax, dword [esp + 0x68]
call fcn.00460b40
jmp 0x6103e3
mov eax, dword [esp + 0x50]
call fcn.00460b40
jmp 0x61039b
mov dword [esp + 0x20], edx
lea ebp, [0xaa9660]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
call fcn.00447080
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, edx
mov edx, dword [esp + 0x20]
jmp 0x61036d
mov ebx, dword [esp + 0x28]
test ebx, ebx
jle 0x610362
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x54]
mov dword [edi + 4], ecx
lea ecx, [ebx - 1]
mov dword [esp + 0x28], ecx
neg ecx
sar ecx, 0x1f
and ecx, 8
add ecx, edi
mov dword [esp + 0x68], ecx
mov ebx, dword [0x10fd360]
test ebx, ebx
jne 0x610500
mov eax, dword [esp + 0x50]
mov dword [edi], eax
lea eax, [0xb3f9a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], edx
call fcn.00410d60
mov edi, dword [esp + 0x10]
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov eax, dword [0x10fd360]
test eax, eax
jne 0x6104f5
mov eax, dword [esp + 0x54]
mov dword [edi], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x68]
jmp 0x6103eb
mov eax, dword [esp + 0x54]
call fcn.00460b40
jmp 0x6104e8
mov eax, dword [esp + 0x50]
call fcn.00460b40
jmp 0x6104a0
mov dword [esp], 0
lea eax, [0xba757c]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1c
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
call fcn.0044a440
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x74], ecx
lea ecx, [0xc84580]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x6c
ret
mov eax, dword [esp + 0x58]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebp
add esp, 0x6c
ret
test ecx, ecx
jbe 0x610669
movzx eax, byte [edx]
cmp al, 0x20
jne 0x61061f
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.0060ea90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x6105c7
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ebx
add esp, 0x6c
ret
mov dword [esp], 0
lea eax, [0xbb033a]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x24
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.0044a440
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x74], ecx
lea ecx, [0xc84580]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x6c
ret
cmp al, 9
je 0x610593
jmp 0x6101f9
mov dword [esp + 0x38], eax
lea ecx, [0xaa9660]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00446f30
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x38]
mov ecx, eax
jmp 0x6101a5
mov eax, edx
mov ecx, ebx
call fcn.00460c20
mov eax, edx
mov ecx, ebx
call fcn.00460bc0
call fcn.00460c00
xor eax, eax
call fcn.00460bc0
nop
call fcn.0045f5f0
jmp fcn.00610170