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

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xf8]
cmp eax, dword [ecx + 8]
jbe 0x619300
sub esp, 0x178
mov eax, dword [esp + 0x17c]
test byte [eax], al
lea ecx, [eax + 0x10]
mov dword [esp + 0x164], ecx
mov dword [esp], ecx
mov dword [esp + 4], 0x30
call fcn.00617110
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp ecx, 0x3141
setne dl
cmp eax, 0x59265359
setne bl
or edx, ebx
test dl, dl
je 0x618edc
cmp ecx, 0x1772
sete cl
cmp eax, 0x45385090
sete al
and ecx, eax
test cl, cl
jne 0x618df9
mov dword [esp], 4
lea eax, [0x73f7b3]
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
jmp 0x618edc
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov dword [esp + 4], 0x20
call fcn.00617110
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x17c]
cmp dword [ecx + 0x78], eax
je 0x618e5d
mov dword [esp], 4
lea eax, [0x73e4ac]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1b
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.006163d0
mov ecx, dword [esp + 0x17c]
mov dword [ecx + 0x78], 0
mov eax, dword [ecx + 0x38]
and eax, 7
mov dword [esp + 0x30], eax
mov edx, dword [ecx + 0x30]
mov ebx, dword [ecx + 0x34]
mov dword [esp + 0x50], ebx
mov ebp, ecx
mov ecx, eax
shr edx, cl
mov esi, ebx
shr ebx, cl
lea edi, [eax - 0x20]
mov ecx, edi
shr esi, cl
neg ecx
mov eax, dword [esp + 0x50]
shl eax, cl
nop
cmp ecx, 0x20
sbb ecx, ecx
and eax, ecx
or eax, edx
cmp edi, 0x20
sbb edx, edx
and esi, edx
or esi, eax
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x34], ebx
mov eax, dword [esp + 0x30]
sub dword [ebp + 0x38], eax
inc dword [ebp + 0x70]
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
add esp, 0x178
ret
mov eax, dword [esp + 0x17c]
mov dword [eax + 0x7c], 0
mov ecx, dword [esp + 0x164]
mov dword [esp], ecx
mov dword [esp + 4], 0x20
call fcn.00617110
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x17c]
mov dword [ecx + 0x74], eax
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00617110
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test ecx, ecx
setne cl
test eax, eax
setne al
or ecx, eax
test cl, cl
je 0x618f74
mov dword [esp], 3
lea eax, [0x7435c8]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x24
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.006163d0
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov dword [esp + 4], 0x18
call fcn.00617110
mov eax, dword [esp + 0x17c]
lea ecx, [eax + 0x10]
mov dword [esp + 0x160], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x2c], edx
lea edi, [esp + 0x54]
xor eax, eax
call fcn.004686c0
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.006119c0
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
lea ebx, [esp + 0x54]
mov ebp, 0x100
jmp 0x618fdf
add ecx, 0x10
shr ax, 1
mov dword [esp + 0x3c], edx
mov dword [esp + 0x158], ebx
cmp ecx, 0x100
jge 0x619041
test ax, 1
jbe 0x618fd9
mov dword [esp + 0x38], ecx
mov dword [esp + 0x40], ebp
mov word [esp + 0x22], ax
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.006119c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x158]
mov ebp, dword [esp + 0x40]
xor esi, esi
jmp 0x619295
movzx eax, word [esp + 0x22]
jmp 0x618fd9
mov eax, dword [esp + 0x17c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00619310
mov eax, dword [esp + 0x17c]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x154], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x24], ebx
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x28], ebp
mov esi, dword [esp + 0x3c]
cmp esi, 0x100
jle 0x6190e6
mov dword [esp], 1
lea eax, [0x738acf]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x12
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.006163d0
mov eax, dword [esp + 0x3c]
cmp eax, 0x100
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x154]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
jge 0x6190ec
mov edi, esi
jmp 0x6190f3
mov edi, esi
mov esi, 0x100
lea ebp, [eax + 0x180]
mov ebx, dword [esp + 0x158]
cmp ebx, ebp
je 0x61912a
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.00468df0
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x154]
mov edi, dword [esp + 0x3c]
mov dword [eax + 0x280], edi
imul ecx, ecx, 0x186a0
mov dword [eax + 0x29c], ecx
lea ecx, [eax + 0x180]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xc], ecx
call fcn.00616bd0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x15c], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x48], edx
mov ebx, dword [esp + 0x2c]
cmp eax, ebx
jg 0x619241
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
mov dword [esp], ebx
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
mov dword [esp], 4
lea eax, [0x749337]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x2e
lea eax, [esp + 0x168]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 2
call fcn.006163d0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x17c]
add ebp, 0x2a0
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.006161d0
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x188], eax
add esp, 0x178
ret
inc esi
shr ax, 1
cmp esi, 0x10
jge 0x61903a
test ax, 1
jbe 0x619291
inc edx
lea edi, [esi + ecx]
cmp ebp, edx
jae 0x6192f8
mov dword [esp + 0x34], esi
mov dword [esp + 0x4c], edi
mov word [esp + 0x20], ax
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx eax, word [esp + 0x20]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x4c]
xchg edi, eax
mov byte [edx + ebx - 1], al
xchg edi, eax
jmp 0x619291
call fcn.00467050
jmp fcn.00618d40