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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x24c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1a4], eax
movzx eax, word [ebp + 0x14]
mov word [ebp - 0x1a], ax
mov dword [ebp - 0x174], 0x80c9e4
mov dword [ebp - 0x170], 0x99b7c4
lea edx, [ebp - 0x18]
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x168], 0x66612e
mov dword [ebp - 0x164], esp
lea eax, [ebp - 0x18c]
mov dword [esp], eax
call fcn.0080f6e4
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov dword [esp], 0x9f3c80
mov dword [ebp - 0x188], 0xffffffff
call fcn.0048dbc6
mov dword [ebp - 0x1a8], eax
test eax, eax
je 0x665c91
mov ecx, eax
mov eax, dword [eax]
mov dword [esp], ecx
call dword [eax + 0x34]
test al, al
je 0x665ca0
mov dword [ebp - 0x1a0], 0
jmp 0x666e19
mov eax, dword [ebp - 0x1a4]
add eax, 0xc
mov dword [ebp - 0x1ac], eax
lea edx, [ebp - 0x1a]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.009764e4
mov dword [ebp - 0x1b4], eax
mov cl, 0
mov eax, dword [ebp - 0x1a4]
add eax, 0x10
mov edx, dword [ebp - 0x1b4]
cmp edx, eax
je 0x665ce3
movzx eax, word [edx + 0x10]
cmp ax, word [ebp - 0x1a]
jbe 0x665ce5
mov cl, 1
test cl, cl
je 0x665f17
lea ecx, [ebp - 0x98]
mov dword [esp], ecx
call fcn.00921bc4
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
lea edx, [ebp - 0xa8]
mov dword [esp], edx
call fcn.00920b50
lea ecx, [ebp - 0xa8]
mov dword [esp + 4], ecx
lea eax, [ebp - 0x88]
mov dword [esp], eax
call fcn.00920b64
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
lea eax, [ebp - 0x84]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
lea edx, [ebp - 0xa8]
mov dword [esp], edx
call fcn.00920b80
lea ecx, [ebp - 0x98]
mov dword [esp], ecx
call fcn.00921bec
lea eax, [ebp - 0x88]
mov dword [esp + 8], eax
lea edx, [ebp - 0x1a]
mov dword [esp + 4], edx
lea ecx, [ebp - 0x68]
mov dword [esp], ecx
mov dword [ebp - 0x188], 0x14
call fcn.0094e04c
lea eax, [ebp - 0x68]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x1b4]
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0x1ac]
mov dword [esp], ecx
mov dword [ebp - 0x188], 0x13
call fcn.00945364
jmp 0x665e0c
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x5c]
mov dword [esp + 4], eax
lea ecx, [ebp - 0x64]
mov dword [esp], ecx
mov dword [ebp - 0x188], 0x11
call fcn.0096cc40
jmp 0x665eb7
lea edx, [ebp - 0x64]
mov dword [esp], edx
call fcn.00920b94
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
lea ecx, [ebp - 0x88]
mov dword [esp], ecx
mov dword [ebp - 0x188], 0xf
call fcn.0096cc40
jmp 0x665f09
lea ecx, [ebp - 0x88]
mov dword [esp], ecx
call fcn.00920b94
mov eax, dword [ebp - 0x1b4]
add eax, 0x14
mov dword [ebp - 0x1b0], eax
lea edx, [ebp - 0x48]
mov dword [ebp - 0x1c4], edx
mov dword [esp + 4], eax
lea ecx, [ebp - 0x98]
mov dword [esp], ecx
call fcn.00921bd8
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
lea edx, [ebp - 0xa8]
mov dword [esp], edx
call fcn.00920b50
lea ecx, [ebp - 0xa8]
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x1c4]
mov dword [esp], eax
call fcn.00920b64
mov edx, dword [ebp - 0x1c4]
mov dword [edx + 0x14], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
add edx, 4
mov dword [ebp - 0x1c8], edx
mov ecx, dword [ebp - 0x1c4]
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], edx
lea eax, [ebp - 0xa8]
mov dword [esp], eax
call fcn.00920b80
lea edx, [ebp - 0x98]
mov dword [esp], edx
call fcn.00921bec
mov ecx, dword [ebp - 0x1b0]
cmp dword [ecx + 8], 0
je 0x6660ba
mov eax, dword [ebp - 0x1c4]
mov dword [esp], eax
mov dword [ebp - 0x188], 0xe
call fcn.0096cc1c
mov dword [ebp - 0x1cc], eax
mov edx, dword [ebp - 0x1b0]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x1c8]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [esp], eax
call fcn.0096c958
mov edx, dword [ebp - 0x1cc]
mov dword [edx], eax
mov ecx, dword [ebp - 0x1c4]
mov dword [esp], ecx
call fcn.0096cc1c
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0096c3d8
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x1c4]
mov dword [esp], eax
call fcn.0096c3f0
mov edx, dword [ebp - 0x1d0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1c4]
mov dword [esp], ecx
call fcn.0096cc1c
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0096c3c0
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [esp], eax
call fcn.0096c440
mov edx, dword [ebp - 0x1d4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ecx + 0x14]
mov edx, dword [ebp - 0x1c4]
mov dword [edx + 0x14], eax
jmp 0x6660ba
lea eax, [ebp + 0x10]
mov dword [esp + 4], eax
lea edx, [ebp - 0x48]
mov dword [esp], edx
mov dword [ebp - 0x188], 0xd
call fcn.009420e8
mov dword [ebp - 0x194], eax
lea ecx, [ebp - 0x48]
mov dword [esp], ecx
call fcn.009420dc
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x190]
mov dword [esp + 4], eax
lea eax, [ebp - 0x194]
mov dword [esp], eax
call fcn.0090c5fc
test al, al
je 0x66622b
mov eax, dword [ebp - 0x40]
mov dword [esp + 4], eax
lea eax, [ebp - 0x48]
mov dword [esp], eax
mov dword [ebp - 0x188], 1
call fcn.0096cc40
jmp 0x666211
lea edx, [ebp - 0x48]
mov dword [esp], edx
call fcn.00920b94
mov dword [ebp - 0x1a0], 0
jmp 0x666e19
lea eax, [ebp - 0x194]
mov dword [esp], eax
mov dword [ebp - 0x188], 0xd
call fcn.0090c62c
mov dword [ebp - 0x1d8], eax
add eax, 4
mov ecx, dword [ebp - 0x1d8]
movzx edx, byte [ecx + 4]
mov byte [ebp - 0x158], dl
movzx edx, byte [eax + 1]
mov byte [ebp - 0x157], dl
movzx edx, byte [eax + 2]
mov byte [ebp - 0x156], dl
movzx edx, byte [eax + 3]
mov byte [ebp - 0x155], dl
movzx edx, byte [eax + 4]
mov byte [ebp - 0x154], dl
mov edx, dword [eax + 8]
mov dword [ebp - 0x150], edx
movzx edx, word [eax + 0xc]
mov word [ebp - 0x14c], dx
mov edx, dword [eax + 0xe]
mov dword [ebp - 0x14a], edx
movzx edx, word [eax + 0x12]
mov word [ebp - 0x146], dx
movzx edx, word [eax + 0x14]
mov word [ebp - 0x144], dx
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x140], edx
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x13c], edx
mov edx, dword [eax + 0x20]
mov dword [ebp - 0x138], edx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x134], edx
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x130], edx
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x12c], edx
mov edx, dword [eax + 0x30]
mov dword [ebp - 0x128], edx
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x124], edx
mov edx, dword [eax + 0x38]
mov dword [ebp - 0x120], edx
mov edx, dword [eax + 0x3c]
mov dword [ebp - 0x11c], edx
mov edx, dword [eax + 0x40]
mov dword [ebp - 0x118], edx
mov edx, dword [eax + 0x44]
mov dword [ebp - 0x114], edx
mov edx, dword [eax + 0x48]
mov dword [ebp - 0x110], edx
mov edx, dword [eax + 0x4c]
mov dword [ebp - 0x10c], edx
mov edx, dword [eax + 0x50]
mov dword [ebp - 0x108], edx
mov edx, dword [eax + 0x54]
mov dword [ebp - 0x104], edx
mov edx, dword [eax + 0x58]
mov dword [ebp - 0x100], edx
mov edx, dword [eax + 0x5c]
mov dword [ebp - 0xfc], edx
mov edx, dword [eax + 0x60]
mov dword [ebp - 0xf8], edx
mov edx, dword [eax + 0x64]
mov dword [ebp - 0xf4], edx
mov edx, dword [eax + 0x68]
mov dword [ebp - 0xf0], edx
mov edx, dword [eax + 0x6c]
mov dword [ebp - 0xec], edx
mov edx, dword [eax + 0x70]
mov dword [ebp - 0xe8], edx
mov edx, dword [eax + 0x74]
mov dword [ebp - 0xe4], edx
mov edx, dword [eax + 0x78]
mov dword [ebp - 0xe0], edx
mov edx, dword [eax + 0x7c]
mov dword [ebp - 0xdc], edx
mov edx, dword [eax + 0x80]
mov dword [ebp - 0xd8], edx
mov edx, dword [eax + 0x84]
mov dword [ebp - 0xd4], edx
mov edx, dword [eax + 0x88]
mov dword [ebp - 0xd0], edx
mov edx, dword [eax + 0x8c]
mov dword [ebp - 0xcc], edx
mov edx, dword [eax + 0x90]
mov dword [ebp - 0xc8], edx
mov edx, dword [eax + 0x94]
mov dword [ebp - 0xc4], edx
mov eax, dword [eax + 0x98]
mov dword [ebp - 0xc0], eax
mov eax, ecx
add eax, 0xa0
mov dword [esp + 4], eax
lea eax, [ebp - 0xbc]
mov dword [esp], eax
call fcn.0092bbc8
mov eax, dword [ebp - 0x1d8]
add eax, 0xa4
mov dword [esp + 4], eax
lea eax, [ebp - 0xb8]
mov dword [esp], eax
mov dword [ebp - 0x188], 0xc
call fcn.0092bbc8
jmp 0x66651a
cmp byte [ebp - 0x155], 0
je 0x66654b
mov dword [esp + 8], 0xb
mov dword [esp + 4], pe_nt_image_headers32
mov eax, dword [ebp - 0x1a8]
mov dword [esp], eax
mov dword [ebp - 0x188], 0xa
call fcn.0045b32e
cmp byte [ebp - 0x156], 0
je 0x66657c
mov dword [esp + 8], 0xb
mov dword [esp + 4], 0x200
mov edx, dword [ebp - 0x1a8]
mov dword [esp], edx
mov dword [ebp - 0x188], 0xa
call fcn.0045b32e
cmp dword [ebp - 0xe0], 0
je 0x6665b1
mov eax, dword [ebp - 0xe0]
neg eax
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x1a8]
mov dword [esp + 4], ecx
mov dword [esp], 0x9f3c80
mov dword [ebp - 0x188], 0xa
call fcn.004b0568
cmp dword [ebp - 0xcc], 0
je 0x6665f2
mov dword [esp + 8], 1
mov eax, dword [ebp - 0xcc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1a8]
mov dword [esp], eax
mov dword [ebp - 0x188], 0xa
call fcn.00679b88
mov edx, dword [ebp - 0x1a8]
mov dword [esp], edx
call fcn.0067bcb8
cmp byte [ebp - 0x154], 0
je 0x666623
mov dword [esp + 8], 0xb
mov dword [esp + 4], 0x2000
mov ecx, dword [ebp - 0x1a8]
mov dword [esp], ecx
mov dword [ebp - 0x188], 0xa
call fcn.0045b32e
mov byte [ebp - 0x1e9], 0
mov dword [ebp - 0x1f0], 0
mov eax, dword [ebp - 0x1f0]
cmp dword [ebp + eax*4 - 0x140], 0
je 0x666668
mov byte [ebp - 0x1e9], 1
mov edx, eax
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ecx + eax*4 + 0x488]
sub eax, dword [ebp + edx*4 - 0x140]
mov dword [ecx + edx*4 + 0x488], eax
mov eax, dword [ebp - 0x1f0]
cmp dword [ebp + eax*4 - 0x124], 0
je 0x66670a
mov byte [ebp - 0x1e9], 1
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x1a8]
mov dword [esp], edx
mov dword [ebp - 0x188], 0xa
call fcn.0067bfc2
push eax
fild dword [esp]
mov ecx, dword [ebp - 0x1f0]
mov eax, dword [ebp + ecx*4 - 0x124]
sub eax, 0x64
mov dword [esp], eax
fild dword [esp]
lea esp, [esp + 4]
fdiv dword [0x9c336c]
fmulp st(1)
fnstcw word [ebp - 0x196]
movzx eax, word [ebp - 0x196]
or ax, 0xc00
mov word [ebp - 0x198], ax
fldcw word [ebp - 0x198]
fistp dword [ebp - 0x19c]
fldcw word [ebp - 0x196]
mov eax, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x1a8]
sub dword [edx + ecx*4 + 0x488], eax
inc dword [ebp - 0x1f0]
cmp dword [ebp - 0x1f0], 6
jbe 0x666634
cmp byte [ebp - 0x1e9], 0
je 0x66674d
mov ecx, dword [ebp - 0x1a8]
cmp dword [ecx + 0x688], 0
je 0x66674d
mov eax, dword [ecx + 0x688]
mov dword [esp], eax
mov dword [ebp - 0x188], 0xa
call fcn.006c572e
mov byte [ebp - 0x1f1], 0
mov dword [ebp - 0x1f8], 0
mov eax, dword [ebp - 0x1f8]
cmp dword [ebp + eax*4 - 0x108], 0
je 0x6667a0
mov byte [ebp - 0x1f1], 1
mov edx, eax
mov eax, dword [ebp + eax*4 - 0x108]
neg eax
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0x1a8]
mov dword [esp], ecx
mov dword [ebp - 0x188], 0xa
call fcn.0067d292
mov eax, dword [ebp - 0x1f8]
cmp dword [ebp + eax*4 - 0xf4], 0
je 0x666845
mov byte [ebp - 0x1f1], 1
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x1a8]
mov dword [esp], edx
mov dword [ebp - 0x188], 0xa
call fcn.0067d346
push eax
fild dword [esp]
mov ecx, dword [ebp - 0x1f8]
mov eax, dword [ebp + ecx*4 - 0xf4]
sub eax, 0x64
mov dword [esp], eax
fild dword [esp]
lea esp, [esp + 4]
fdiv dword [0x9c336c]
fmulp st(1)
fnstcw word [ebp - 0x196]
movzx eax, word [ebp - 0x196]
or ax, 0xc00
mov word [ebp - 0x198], ax
fldcw word [ebp - 0x198]
fistp dword [ebp - 0x19c]
fldcw word [ebp - 0x196]
mov eax, dword [ebp - 0x19c]
neg eax
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x1a8]
mov dword [esp], eax
call fcn.0067d292
inc dword [ebp - 0x1f8]
cmp dword [ebp - 0x1f8], 4
jbe 0x66675e
cmp byte [ebp - 0x1f1], 0
je 0x666879
mov edx, dword [ebp - 0x1a8]
mov dword [esp], edx
mov dword [ebp - 0x188], 0xa
call fcn.006819c6
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x22c], ecx
sub ecx, 0xc
mov dword [ebp - 0x228], ecx
lea eax, [ebp - 0xb8]
mov dword [esp + 4], eax
lea edx, [ebp - 0xa8]
mov dword [esp], edx
call fcn.009222f8
cmp dword [ebp - 0x228], 0x9aba1c
je 0x6669fa
mov dword [esp + 4], 0xffffffff
mov eax, dword [ebp - 0x22c]
sub eax, 4
mov dword [esp], eax
mov dword [ebp - 0x188], 5
call fcn.00815de4
test eax, eax
jg 0x6669fa
lea ecx, [ebp - 0xa8]
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x228]
mov dword [esp], eax
call fcn.00929958
jmp 0x6669fa
lea eax, [ebp - 0xa8]
mov dword [esp], eax
call fcn.00922338
lea edx, [ebp - 0xb8]
mov dword [esp], edx
call fcn.00922348
lea ecx, [ebp - 0x158]
add ecx, 0x9c
mov dword [ebp - 0x240], ecx
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x248], eax
sub eax, 0xc
mov dword [ebp - 0x244], eax
mov dword [esp + 4], ecx
lea edx, [ebp - 0xa8]
mov dword [esp], edx
call fcn.009222f8
cmp dword [ebp - 0x244], 0x9aba1c
je 0x666abd
mov dword [esp + 4], 0xffffffff
mov eax, dword [ebp - 0x248]
sub eax, 4
mov dword [esp], eax
mov dword [ebp - 0x188], 3
call fcn.00815de4
test eax, eax
jg 0x666abd
lea ecx, [ebp - 0xa8]
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x244]
mov dword [esp], eax
call fcn.00929958
jmp 0x666abd
lea eax, [ebp - 0xa8]
mov dword [esp], eax
call fcn.00922338
mov ecx, dword [ebp - 0x240]
mov dword [esp], ecx
call fcn.00922348
mov eax, dword [ebp - 0x40]
mov dword [esp + 4], eax
lea eax, [ebp - 0x48]
mov dword [esp], eax
mov dword [ebp - 0x188], 2
call fcn.0096cc40
jmp 0x666b1a
lea eax, [ebp - 0x48]
mov dword [esp], eax
call fcn.00920b94
mov dword [ebp - 0x1a0], 1
jmp 0x666e19
lea eax, [ebp - 0x18c]
mov dword [esp], eax
call fcn.0080f7c4
mov eax, dword [ebp - 0x1a0]
add esp, 0x24c
pop ebx
pop esi
pop edi
pop ebp
ret