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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x5c]
cmp eax, dword [ecx + 8]
jbe 0x617039
sub esp, 0xdc
mov eax, 0
mov dword [esp + 0xd8], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov eax, dword [esp + 0xe0]
movzx ecx, byte [eax + 0x68]
test cl, cl
jne 0x61663d
mov ecx, dword [eax + 0x70]
test ecx, ecx
jge 0x61665e
mov eax, dword [0x86d7c8]
mov ecx, dword [0x86d7cc]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ecx
add esp, 0xdc
ret
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.0061c770
movzx eax, byte [esp + 4]
test al, al
jne 0x6167e6
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.00620050
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.004665d0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
lea eax, [0x617050]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x44]
mov dword [esp + 0xd8], ecx
mov byte [esp + 0x23], 1
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx]
test edx, edx
jne 0x6166de
xor edx, edx
jmp 0x616712
mov edx, dword [eax + 0x18]
lea ebp, [0x660220]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0040deb0
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
test eax, eax
setne al
mov ecx, dword [esp + 0xe4]
mov edx, eax
mov eax, dword [esp + 0xe0]
test dl, dl
jne 0x6167b9
lea esi, [ecx + 0xc]
lea edi, [esp + 0x84]
call fcn.0045ff9a
lea edi, [esp + 0xbc]
lea esi, [esp + 0x84]
call fcn.0045ff9a
lea edi, [esp + 0xa0]
xor eax, eax
call fcn.0045fac9
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x10]
lea ebx, [0x6606e0]
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [esp + 0xbc]
mov dword [esp + 8], edx
call fcn.0040c470
movzx ecx, byte [esp + 0x10]
mov byte [esp + 0x21], cl
mov esi, dword [esp + 0xc]
lea edi, [esp + 0xa0]
call fcn.0045ff9a
lea edi, [esp + 0x68]
lea esi, [esp + 0xa0]
call fcn.0045ff9a
movzx ecx, byte [esp + 0x21]
test cl, cl
je 0x616807
mov edx, dword [esp + 0xe4]
mov ebx, dword [edx]
test ebx, ebx
jne 0x616f6f
jmp 0x616d5b
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xd8]
mov eax, dword [edx]
call eax
add esp, 0xdc
ret
mov eax, dword [0x86d7b8]
mov ecx, dword [0x86d7bc]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ecx
add esp, 0xdc
ret
mov eax, dword [esp + 0xe0]
movzx ecx, byte [eax + 8]
test cl, cl
jne 0x6168f0
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x616852
call fcn.0040bed0
mov eax, dword [0x894e10]
mov ecx, dword [esp]
test eax, eax
jne 0x61683f
mov eax, dword [esp + 0xe0]
mov dword [eax + 0xc], ecx
jmp 0x616852
mov edx, dword [esp + 0xe0]
lea edi, [edx + 0xc]
mov eax, ecx
call fcn.0045f830
mov eax, edx
lea edi, [esp + 0xbc]
lea esi, [esp + 0x84]
call fcn.0045ff9a
mov ecx, dword [eax + 0xc]
lea edx, [0x660660]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0xbc]
mov dword [esp + 8], ecx
call fcn.0040c2a0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [eax + 8]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [ebx + 0x70]
test ebp, ebp
jne 0x6168a4
mov ebp, 2
cmp ebp, ecx
jle 0x6168bf
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x38], edx
mov ebp, dword [esp + 0xe4]
xor esi, esi
jmp 0x616924
mov eax, dword [0x86d830]
mov ecx, dword [0x86d834]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xd8]
mov eax, dword [edx]
call eax
add esp, 0xdc
ret
mov eax, dword [0x86d7a8]
mov ecx, dword [0x86d7ac]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xd8]
mov eax, dword [edx]
call eax
add esp, 0xdc
ret
inc esi
mov ebx, edi
cmp esi, ecx
jge 0x6169a1
mov edi, ebx
lea ebx, [edx + esi*4]
cmp dword [ebx], ebp
jne 0x616921
mov dword [esp + 0x34], esi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
lea eax, [0x689680]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebp
lea ecx, [0x69b855]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
lea edx, [esp + 0x4c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004de1b0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0xe0]
jmp 0x616921
lea edi, [esp + 0xbc]
lea esi, [esp + 0x84]
call fcn.0045ff9a
mov ecx, dword [esp + 0x28]
mov esi, ebx
lea ebx, [ecx + 1]
cmp eax, ebx
jae 0x616a02
lea ebp, [0x689680]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
call fcn.00448480
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0xe0]
mov eax, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x40], edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], eax
mov ebx, dword [0x894e10]
lea esi, [edx + ecx*4]
test ebx, ebx
jne 0x616a20
mov dword [edx + ecx*4], ebp
jmp 0x616a29
mov edi, esi
mov eax, ebp
call fcn.0045f830
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0xc]
lea edx, [0x660660]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0xbc]
mov dword [esp + 8], ecx
call fcn.0040c7f0
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 8], eax
mov eax, dword [0x894e10]
test eax, eax
jne 0x616a74
mov eax, dword [esp + 0x40]
mov dword [edi], eax
jmp 0x616a7d
mov eax, dword [esp + 0x40]
call fcn.0045f830
mov eax, dword [esp + 0xe0]
lea ecx, [eax + 0x14]
mov dword [esp], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
call fcn.00620b10
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
je 0x616bd4
mov edx, dword [eax + 0x18]
test edx, edx
je 0x616ab7
mov edx, dword [edx]
jmp 0x616ab9
xor edx, edx
cmp edx, ecx
jle 0x616bd4
mov ecx, dword [eax + 0x14]
nop
mov edx, dword [ecx + 0x14]
test edx, edx
jne 0x616ad0
xor edx, edx
jmp 0x616ad3
mov edx, dword [ecx + 4]
mov ebx, dword [edx + 0x10]
mov ebp, dword [edx + 0xc]
lea esi, [0x689680]
cmp ebp, esi
jne 0x616d3e
nop
cmp dword [edx + 8], ecx
jne 0x616b77
mov edi, dword [edx + 4]
test byte [edi], al
mov ebp, dword [0x894e10]
mov esi, dword [edx]
test ebp, ebp
jne 0x616b06
mov dword [edi], esi
jmp 0x616b11
mov ebp, eax
mov eax, esi
call fcn.0045f830
mov eax, ebp
mov ebp, dword [edx]
test byte [ebp], al
mov esi, dword [0x894e10]
mov edi, ebx
mov ebx, dword [edx + 4]
test esi, esi
jne 0x616b3e
mov dword [ebp + 4], ebx
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
jmp 0x616b72
add ebp, 4
mov esi, edi
mov edi, ebp
mov eax, ebx
call fcn.0045f830
mov edi, edx
xor eax, eax
call fcn.0045f830
lea ebx, [edx + 4]
mov edi, ebx
call fcn.0045f830
lea edi, [edx + 8]
xor eax, eax
call fcn.0045f830
mov eax, dword [esp + 0xe0]
mov edi, esi
dec dword [ecx + 0x14]
jmp 0x616b79
mov edi, ebx
mov dword [esp + 0x3c], edi
mov edx, dword [eax + 0x18]
lea ebx, [0x660220]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
call fcn.0040e730
mov eax, dword [0x86d828]
mov ecx, dword [0x86d82c]
mov edx, dword [esp + 0x3c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.006200a0
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
call fcn.006178e0
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x78]
test ecx, ecx
seta dl
mov ebx, dword [eax + 0x7c]
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setg bl
xchg esi, ebx
and ebp, edx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x616cc0
mov edx, dword [esp + 0xe4]
mov ebp, dword [edx]
test ebp, ebp
jne 0x616cc7
mov ebp, dword [edx + 0x78]
test ebp, ebp
je 0x616c31
mov dword [esp], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
call fcn.004ae450
mov eax, dword [esp + 0xe4]
jmp 0x616cc7
lea eax, [0x666780]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
lea ecx, [0x627720]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x616c61
mov ecx, dword [esp + 0xe4]
mov dword [eax + 4], ecx
jmp 0x616c74
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe4]
call fcn.0045f830
mov eax, ecx
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 8], eax
call fcn.004ae550
mov eax, dword [0x894e10]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x616cab
mov eax, dword [esp + 0xe4]
mov dword [eax + 0x78], ecx
jmp 0x616cc7
mov edx, dword [esp + 0xe4]
lea edi, [edx + 0x78]
mov eax, ecx
call fcn.0045f830
mov eax, edx
jmp 0x616cc7
mov edx, dword [esp + 0xe4]
call fcn.004b08a0
lea edi, [esp + 0x54]
lea esi, [esp]
call fcn.0045ffae
mov eax, dword [esp + 0xe4]
lea edi, [eax + 0x64]
mov eax, dword [0x894e10]
test eax, eax
jne 0x616cf7
lea esi, [esp + 0x54]
call fcn.0045ffae
jmp 0x616d11
lea eax, [0x68e2e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x54]
mov dword [esp + 8], eax
call fcn.004109f0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xd8]
mov eax, dword [edx]
call eax
add esp, 0xdc
ret
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x65eb40]
mov dword [esp + 8], eax
call fcn.00408a10
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov eax, edx
mov edx, dword [esp + 0x70]
mov ecx, ebp
mov ebp, dword [esp + 0x74]
mov esi, ebx
sub ebx, ebp
mov edi, edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], edx
add ebx, edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x78]
test ebx, ebx
jle 0x616e47
mov dword [esp + 0x24], ebx
cmp esi, ebp
jg 0x616dd5
mov ebp, dword [esp + 0x34]
test ebp, ebp
jne 0x616daa
xor ecx, ecx
jmp 0x616e11
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x68], edx
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], edi
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x74]
cmp ecx, ebp
jbe 0x616f43
mov ecx, dword [edx + ebp*4]
lea edi, [edx + ebp*4]
mov esi, dword [0x894e10]
test esi, esi
jne 0x616e02
mov dword [edx + ebp*4], 0
jmp 0x616e0d
mov edx, eax
xor eax, eax
call fcn.0045f830
mov eax, edx
inc dword [esp + 0x74]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.006180a0
movzx eax, byte [esp + 0x10]
test al, al
je 0x616d54
mov eax, dword [esp + 0x24]
test eax, eax
mov eax, dword [esp + 0xe4]
setg cl
mov byte [esp + 0x22], cl
mov edx, dword [esp + 0x6c]
sub edx, dword [esp + 0x74]
add edx, dword [esp + 0x7c]
test edx, edx
jne 0x616e9a
lea edi, [esp + 0xbc]
lea esi, [esp + 0x84]
call fcn.0045ff9a
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x10]
lea edx, [0x6606e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0xbc]
mov dword [esp + 8], ecx
call fcn.0040ccd0
jmp 0x616f09
lea edi, [esp + 0xbc]
lea esi, [esp + 0x84]
call fcn.0045ff9a
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x10]
lea edx, [0x6606e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0xbc]
mov dword [esp + 8], ecx
call fcn.0040c7f0
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x894e10]
test eax, eax
jne 0x616eef
lea esi, [esp + 0x68]
call fcn.0045ff9a
jmp 0x616f09
lea eax, [0x674b00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x68]
mov dword [esp + 8], eax
call fcn.004109f0
movzx eax, byte [esp + 0x22]
test al, al
je 0x616807
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xd8]
mov eax, dword [edx]
call eax
add esp, 0xdc
ret
mov eax, ebp
call fcn.0045f8b0
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.006180a0
mov eax, dword [esp + 0xe4]
mov edx, eax
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov eax, edx
mov edx, dword [esp + 0x70]
mov ecx, ebp
mov ebp, dword [esp + 0x74]
mov esi, ebx
sub ebx, ebp
mov edi, edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], edx
add ebx, edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x78]
test ebx, ebx
jle 0x61701e
cmp ebp, esi
jl 0x616fe1
mov ebx, dword [esp + 0x34]
test ebx, ebx
jne 0x616fb6
xor ecx, ecx
jmp 0x616f4a
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x68], edx
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], edi
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x74]
cmp ecx, ebx
jbe 0x617025
mov ecx, dword [edx + ebx*4]
lea edi, [edx + ebx*4]
mov ebp, dword [0x894e10]
test ebp, ebp
jne 0x61700a
mov dword [edx + ebx*4], 0
jmp 0x617015
mov edx, eax
xor eax, eax
call fcn.0045f830
mov eax, edx
inc dword [esp + 0x74]
jmp 0x616f4a
xor ecx, ecx
jmp 0x616e4a
mov eax, ebx
call fcn.0045f8b0
nop
call fcn.00433730
add esp, 0xdc
ret
call fcn.0045e420
jmp fcn.006165e0