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

Disassembly:
mov ecx, dword [0x98cddc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x44]
cmp eax, dword [ecx + 8]
jbe 0x618dbb
sub esp, 0xc4
mov ebx, dword [esp + 0xc8]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0x38], ebx
mov ebp, dword [esp + 0xd0]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x38]
nop
cmp ebp, 2
jge 0x61811f
xor esi, esi
xor eax, eax
jmp 0x61814a
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
add eax, 0xfffffffe
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 2
add eax, esi
add ebp, 0xfffffffe
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x34], eax
mov eax, 2
test esi, esi
je 0x6181bb
test eax, eax
jbe 0x618db1
cmp eax, 1
jbe 0x618da5
lea ecx, [ebx - 2]
movzx ebx, word [esi]
rol bx, 8
cmp bx, cx
jne 0x618179
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x6181fd
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x618834
mov dword [esp + 0xb0], ecx
lea edi, [esp + 0x58]
mov ebx, eax
xor eax, eax
call fcn.00471d3e
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], esi
mov ecx, dword [esp + 0x38]
nop
cmp ecx, 2
jge 0x618245
xor ebp, ebp
xor eax, eax
jmp 0x618274
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
add esi, 0xfffffffe
mov eax, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 2
add esi, ebp
add ecx, 0xfffffffe
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], esi
mov eax, 2
test ebp, ebp
je 0x6187f2
test eax, eax
jbe 0x618d9c
cmp eax, 1
jbe 0x618d90
movzx ebp, word [ebp]
rol bp, 8
mov word [esp + 0x64], bp
mov ebp, dword [esp + 0x38]
nop
cmp ebp, 2
jge 0x6182aa
xor esi, esi
xor eax, eax
jmp 0x6182d5
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
add eax, 0xfffffffe
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 2
add eax, esi
add ebp, 0xfffffffe
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x34], eax
mov eax, 2
test esi, esi
je 0x6187b0
test eax, eax
jbe 0x618d87
cmp eax, 1
jbe 0x618d7b
movzx ebp, word [esi]
rol bp, 8
mov word [esp + 0x66], bp
movzx esi, bp
add esi, 4
mov eax, ebx
lea ebx, [esp + 0x58]
cmp dword [ebx + 4], esi
jl 0x61876e
mov ebx, dword [esp + 0x60]
add ebp, 4
movzx ecx, bp
cmp ebx, ecx
jb 0x618d74
mov dword [esp + 0x5c], ecx
cmp word [esp + 0x64], 0xfe0d
je 0x61836f
movzx ecx, word [esp + 0x66]
mov ebx, dword [esp + 0x38]
nop
cmp ebx, ecx
jl 0x618363
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
sub esi, ecx
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ecx
add ebp, esi
sub ebx, ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x34], ebp
mov ecx, dword [esp + 0xb0]
jmp 0x6181fd
mov ebx, dword [esp + 0x38]
nop
test ebx, ebx
jne 0x61837e
xor ebp, ebp
xor ecx, ecx
jmp 0x6183a9
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
dec esi
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add esi, ebp
dec ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x34], esi
mov ecx, 1
test ebp, ebp
je 0x61872c
test ecx, ecx
jbe 0x618d6b
movzx ebx, byte [ebp]
mov byte [esp + 0x68], bl
mov ebx, dword [esp + 0x38]
nop
cmp ebx, 2
jge 0x6183d1
xor ebp, ebp
xor ecx, ecx
jmp 0x618400
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
add esi, 0xfffffffe
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 2
add esi, ebp
add ebx, 0xfffffffe
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x34], esi
mov ecx, 2
test ebp, ebp
je 0x6186ea
test ecx, ecx
jbe 0x618d62
cmp ecx, 1
jbe 0x618d56
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], edx
movzx eax, word [ebp]
rol ax, 8
mov word [esp + 0x6a], ax
lea eax, [esp + 0x34]
mov dword [esp], eax
mov dword [esp + 4], 2
lea eax, [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.005a0c50
movzx eax, byte [esp + 0xc]
test al, al
je 0x6186a8
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
lea eax, [esp + 0x34]
mov dword [esp], eax
mov dword [esp + 4], 2
lea eax, [esp + 0xb4]
mov dword [esp + 8], eax
call fcn.005a0c50
movzx eax, byte [esp + 0xc]
test al, al
jne 0x618872
jmp 0x618666
mov edx, dword [esp + 0x38]
nop
test edx, edx
jne 0x6184b8
xor ebx, ebx
xor eax, eax
jmp 0x6184e3
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x3c]
dec ebp
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ebp, ebx
dec edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x34], ebp
mov eax, 1
test ebx, ebx
je 0x618acf
test eax, eax
jbe 0x618d23
movzx eax, byte [ebx]
mov byte [esp + 0x84], al
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
lea eax, [esp + 0x34]
mov dword [esp], eax
mov dword [esp + 4], 1
lea eax, [esp + 0x40]
mov dword [esp + 8], eax
call fcn.005a0c50
movzx eax, byte [esp + 0xc]
test al, al
je 0x618a8d
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
lea eax, [esp + 0x34]
mov dword [esp], eax
mov dword [esp + 4], 2
lea eax, [esp + 0x4c]
mov dword [esp + 8], eax
call fcn.005a0c50
movzx eax, byte [esp + 0xc]
test al, al
jne 0x618b15
jmp 0x618a4b
mov ecx, dword [esp + 0x24]
inc ecx
mov ebx, dword [esp + 0x30]
cmp ebx, ecx
jb 0x6185bf
mov eax, ecx
mov ecx, dword [esp + 0xb0]
mov edx, ebx
jmp 0x6185f4
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x711a20]
mov dword [esp + 0x10], eax
call fcn.0046cad0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xb0], ecx
mov ebx, dword [0x98d0b8]
lea ebp, [eax + eax*8]
lea edi, [ecx + ebp*8 - 0x48]
test ebx, ebx
je 0x61864b
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0xc0], edi
lea eax, [0x711a20]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x58]
mov dword [esp + 8], eax
call fcn.0040eba0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0xc0]
lea esi, [esp + 0x58]
call fcn.004721ac
mov ecx, dword [esp + 0xb0]
mov ebx, eax
mov eax, edx
mov edx, ebx
jmp 0x6181fd
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
add esp, 0xc4
ret
mov dword [esp + 0x7c], ebx
mov edx, dword [esp + 0x20]
mov dword [ebp + ebx*4 - 4], edx
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x6184a9
mov dword [esp + 0x20], 0
mov edx, dword [esp + 0xb8]
nop
cmp edx, 2
jge 0x61889c
xor ebx, ebx
xor eax, eax
jmp 0x6188da
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xbc]
add ebp, 0xfffffffe
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
add ebp, ebx
add edx, 0xfffffffe
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], esi
mov dword [esp + 0xb4], ebp
mov eax, 2
test ebx, ebx
je 0x618a09
test eax, eax
jbe 0x618d4d
cmp eax, 1
jbe 0x618d41
movzx edx, word [ebx]
rol dx, 8
mov word [esp + 0x20], dx
mov edx, dword [esp + 0xb8]
nop
cmp edx, 2
jge 0x618912
xor ebx, ebx
xor eax, eax
jmp 0x618950
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xbc]
add ebp, 0xfffffffe
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
add ebp, ebx
add edx, 0xfffffffe
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], esi
mov dword [esp + 0xb4], ebp
mov eax, 2
test ebx, ebx
je 0x6189c7
test eax, eax
jbe 0x618d38
cmp eax, 1
jbe 0x618d2c
movzx edx, word [ebx]
rol dx, 8
mov word [esp + 0x22], dx
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
inc ebx
mov ebp, dword [esp + 0x78]
cmp edx, ebx
jae 0x618866
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6f56c0]
mov dword [esp + 0x10], eax
call fcn.0046cad0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], ebp
jmp 0x618866
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov dword [eax + ebp + 4], esi
mov ebx, dword [esp + 0x50]
test ebx, ebx
je 0x6185a5
mov word [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov edx, dword [esp + 0x50]
nop
cmp edx, 2
jge 0x618b5c
xor ebx, ebx
xor eax, eax
jmp 0x618b8b
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x54]
add ebp, 0xfffffffe
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
add ebp, ebx
add edx, 0xfffffffe
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x4c], ebp
mov eax, 2
test ebx, ebx
je 0x618ccc
test eax, eax
jbe 0x618d1a
cmp eax, 1
jbe 0x618d0e
movzx eax, word [ebx]
rol ax, 8
mov word [esp + 0xa0], ax
lea eax, [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], 2
lea eax, [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.005a0c50
movzx eax, byte [esp + 0xc]
test al, al
je 0x618c8a
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x98]
inc ebp
mov eax, dword [esp + 0x94]
cmp ebx, ebp
jae 0x618c35
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6f5720]
mov dword [esp + 0x10], eax
call fcn.0046cad0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebp
movzx ebx, word [esp + 0xa0]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
dec ebp
shl ebp, 4
mov esi, dword [esp + 0xa4]
mov word [eax + ebp], bx
mov dword [eax + ebp + 8], ecx
mov dword [eax + ebp + 0xc], edx
mov ebx, dword [0x98d0b8]
test ebx, ebx
je 0x618b11
call fcn.00471ac0
mov dword [edi], esi
mov ebx, dword [eax + ebp + 4]
mov dword [edi + 4], ebx
jmp 0x618b11
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov eax, dword [0x960440]
mov ecx, dword [0x960444]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
add esp, 0xc4
ret
mov eax, 1
mov ecx, eax
call fcn.00471b30
xor eax, eax
mov ecx, eax
call fcn.00471b30
xor eax, eax
mov ecx, eax
call fcn.00471b30
mov eax, 1
mov ecx, eax
call fcn.00471b30
xor eax, eax
mov ecx, eax
call fcn.00471b30
mov eax, 1
mov ecx, eax
call fcn.00471b30
xor eax, eax
mov ecx, eax
call fcn.00471b30
mov eax, 1
mov ecx, eax
call fcn.00471b30
xor eax, eax
mov ecx, eax
call fcn.00471b30
xor eax, eax
mov ecx, eax
call fcn.00471b30
mov edx, ebx
call fcn.00471b70
mov eax, 1
mov ecx, eax
call fcn.00471b30
xor eax, eax
mov ecx, eax
call fcn.00471b30
mov eax, 1
mov ecx, eax
call fcn.00471b30
xor eax, eax
mov ecx, eax
call fcn.00471b30
mov eax, 1
mov ecx, eax
call fcn.00471b30
xor eax, eax
mov ecx, eax
call fcn.00471b30
nop
call fcn.004706b0
jmp fcn.006180d0