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

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x618bc7
sub esp, 0x58
mov eax, 0
mov dword [esp + 0x54], eax
mov byte [esp + 0x1b], 0
mov eax, dword [esp + 0x5c]
test byte [eax], al
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
lea ecx, [eax + 0x64]
lea edx, [0x618be0]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x54], ecx
mov byte [esp + 0x1b], 1
mov ecx, dword [eax + 0x70]
test ecx, 1
je 0x618856
mov ecx, dword [eax + 0x74]
cmp dword [eax + 0x7c], ecx
je 0x618846
mov dword [esp], 4
lea eax, [0x73dc14]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1a
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.006163d0
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x78]
rol ecx, 1
xor ecx, dword [eax + 0x74]
mov dword [eax + 0x78], ecx
jmp 0x618a73
lea ecx, [eax + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.00611df0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x618b11
mov eax, dword [esp + 0x5c]
lea ecx, [eax + 0x10]
mov dword [esp + 0x40], ecx
mov dword [esp], ecx
mov dword [esp + 4], 0x10
call fcn.00617110
mov eax, dword [esp + 0xc]
test eax, eax
setne al
cmp dword [esp + 8], 0x425a
setne cl
or ecx, eax
test cl, cl
je 0x6188e4
mov dword [esp], 4
lea eax, [0x739fe1]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x14
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.006163d0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.00617110
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test ecx, ecx
setne dl
cmp eax, 0x68
setne bl
or ebx, edx
test bl, bl
je 0x6189d0
test ecx, ecx
sete dl
cmp eax, 0x30
sete bl
and edx, ebx
test dl, dl
je 0x61896c
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp], 3
lea eax, [0x73f796]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1d
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.006163d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00409d40
mov eax, dword [esp + 8]
lea ecx, [0x6e45c0]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
mov dword [esp], 4
lea eax, [0x739677]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x13
lea eax, [esp + 0x4c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.006163d0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.00617110
mov eax, dword [esp + 8]
lea ecx, [eax - 0x31]
cmp ecx, 8
jbe 0x618a64
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
imul ecx, eax, 0x186a0
add ecx, 0xffb6c200
mov dword [esp], ecx
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
mov dword [esp], 4
lea eax, [0x73b40b]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x16
lea eax, [esp + 0x4c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.006163d0
mov eax, dword [esp + 0x30]
add eax, 0xffffffd0
mov ecx, dword [esp + 0x5c]
mov dword [ecx + 0x6c], eax
inc dword [ecx + 0x70]
mov eax, ecx
mov dword [esp], eax
call fcn.00618d40
mov eax, dword [0x9eca70]
mov ecx, dword [esp + 0x5c]
lea edi, [ecx + 0x2c4]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
test eax, eax
je 0x618ae3
mov dword [esp + 0x34], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebp
mov eax, edi
call fcn.00468460
mov dword [edi], edx
mov ebx, dword [ecx + 0x2c4]
mov dword [edi + 4], ebx
lea ebx, [0x70a9c0]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00411930
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
xor eax, eax
call fcn.004686fa
mov ecx, dword [esp + 0x5c]
mov dword [ecx + 0x2c4], edx
mov dword [ecx + 0x2c8], ebx
mov dword [ecx + 0x2cc], ebp
mov byte [esp + 0x1b], 0
mov edx, dword [esp + 0x54]
mov ecx, dword [edx]
call ecx
add esp, 0x58
ret
mov edx, dword [esp + 8]
cmp dword [0x9a3bd8], edx
je 0x618b8a
xor edx, edx
test dl, dl
je 0x618b3a
mov edx, dword [esp + 0x5c]
mov edx, dword [edx + 0x70]
test edx, edx
jle 0x618b3a
mov eax, dword [0x9a3bd0]
mov ecx, dword [0x9a3bd4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], ecx
lea edx, [0x6f0660]
mov dword [esp], edx
call fcn.0040c5b0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x24]
mov dword [eax], ecx
mov ecx, dword [0x9eca70]
test ecx, ecx
jne 0x618b7d
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
lea ecx, [0x6f3660]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004386b0
call fcn.00468450
mov ecx, dword [esp + 0x38]
mov dword [edi], ecx
jmp 0x618b64
mov dword [esp + 0x38], ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [0x9a3bdc]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00404340
movzx edx, byte [esp + 0xc]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
jmp 0x618b1f
call fcn.00467050
jmp fcn.006187a0