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

Disassembly:
push 0xffffffffffffffff
push 0x47eda0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50
mov ecx, dword [esp + 0x68]
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
je 0x6671ce
lea eax, [esp + 0x38]
push eax
push ecx
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.00683ae0
cmp eax, 1
jne 0x6671ce
mov edx, dword [esp + 0x60]
push ebx
push ebp
mov ebp, dword [esp + 0x74]
push esi
push edi
mov eax, dword [ebp]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 4]
mov ecx, dword [ebp + 0xc]
sub ebx, eax
sub ecx, esi
sub edx, 0
mov dword [esp + 0x10], ebx
mov dword [esp + 0x74], ecx
mov edi, eax
je 0x667137
dec edx
je 0x66706a
dec edx
jne 0x6671c0
mov eax, dword [esp + 0x78]
mov ebp, dword [eax + 4]
mov eax, dword [eax + 8]
cmp ebp, ebx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
jg 0x666f4f
mov eax, ebx
mov ebx, ebp
sub eax, ebp
mov dword [esp + 0x10], ebx
cdq
sub eax, edx
sar eax, 1
add edi, eax
mov edx, dword [esp + 0x78]
cmp edx, ecx
jg 0x666f6c
mov eax, ecx
sub eax, edx
cdq
sub eax, edx
mov edx, dword [esp + 0x78]
sar eax, 1
add esi, eax
mov dword [esp + 0x74], edx
mov ecx, edx
cmp ebp, ebx
jg 0x666f76
cmp dword [esp + 0x78], ecx
jle 0x666fdb
fild dword [esp + 0x70]
fild dword [esp + 0x10]
fdiv st(1)
fild dword [esp + 0x78]
fst qword [esp + 0x18]
fild dword [esp + 0x74]
fdiv st(1)
fstp qword [esp + 0x10]
fstp st(0)
fcom qword [esp + 0x10]
fnstsw ax
test ah, 1
jne 0x666fa5
fstp st(0)
fld qword [esp + 0x10]
fxch st(1)
fmul st(1)
call fcn.006b8738
fld qword [esp + 0x18]
fmul st(1)
mov ebp, eax
call fcn.006b8738
mov ecx, eax
mov eax, ebx
sub eax, ebp
mov dword [esp + 0x7c], ecx
cdq
fstp st(0)
sub eax, edx
sar eax, 1
add edi, eax
mov eax, dword [esp + 0x74]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add esi, eax
mov eax, dword [esp + 0x7c]
push 0xcc0020
push eax
push ebp
push esi
lea ecx, [esp + 0x58]
push edi
push ecx
call fcn.00683d40
mov ebx, dword [esp + 0x84]
test ebx, ebx
je 0x6671c0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x531f6c
mov edx, dword [esp + 0x7c]
add ebp, edi
add edx, esi
mov dword [esp + 0x68], 2
push edx
push ebp
push esi
push edi
call 0x82a83c
sub eax, 0x244c8d50
adc al, 0xe8
xchg esp, eax
push es
add byte [ebx - 0x74ebdb94], cl
dec ebx
add al, 0x8d
inc esp
and al, 0x10
push 4
neg eax
sbb eax, eax
and eax, ebp
push eax
push ecx
push ecx
call 0x82e9d0
add eax, edi
inc esp
and al, 0x10
js 0x667067
push ebx
add bh, al
inc esp
and al, 0x68
add eax, dword [eax]
add byte [eax], al
lea ecx, [esp + 0x10]
jmp 0x6671bb
add dword [eax], eax
add byte [ebx], al
into
add ecx, esi
cmp esi, ecx
jge 0x667123
mov ecx, dword [esp + 0x50]
mov edi, eax
lea edx, [eax + ebx]
cmp edi, edx
jge 0x66710c
mov eax, dword [esp + 0x54]
add ecx, edi
add eax, esi
push eax
push ecx
push esi
lea ecx, [esp + 0x44]
push edi
push ecx
call 0x87002a
mov edx, 0x8024948b
add byte [eax], al
add byte [ebp + 0x52382444], cl
lea ecx, [esp + 0x1c]
push eax
push ecx
call dword [0x484568]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x28]
mov dword [esp + 0x30], ecx
push eax
mov dword [esp + 0x38], edx
call 0x7fccca
inc esp
test eax, eax
jne 0x6670f8
push 0xcc0020
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
lea ecx, [esp + 0x58]
push edi
push ecx
call fcn.00683d40
mov eax, dword [ebp]
mov ecx, dword [esp + 0x50]
add edi, ecx
lea edx, [eax + ebx]
cmp edi, edx
jl 0x667085
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x74]
add esi, edx
mov edx, dword [ebp + 4]
add edx, edi
cmp esi, edx
jl 0x667078
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x6671c0
jmp 0x6671bb
push 0xcc0020
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
lea eax, [esp + 0x58]
push edi
push eax
call fcn.00683d40
mov ebx, dword [esp + 0x84]
xor eax, eax
cmp ebx, eax
je 0x6671c0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x531f6c
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x68], eax
lea eax, [ecx + esi]
lea ecx, [edx + edi]
push eax
push ecx
push esi
push edi
call 0x8414b3
jle 0x6671d2
lea ecx, [esp + 0x14]
call fcn.006d0528
mov ebp, dword [esp + 0x14]
mov ecx, dword [ebx + 4]
lea eax, [esp + 0x10]
push 4
neg eax
sbb eax, eax
and eax, ebp
push eax
push ecx
push ecx
call 0x82dbea
mov dword es:[esp + 0x10], 0x531078
mov dword [esp + 0x68], 1
lea ecx, [esp + 0x10]
call fcn.006d057f
lea eax, [esp + 0x48]
push eax
call fcn.006840a0
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x50]
mov dword fs:[0], ecx
add esp, 0x5c
ret