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

Disassembly:
push 0xffffffffffffffff
push 0x8801b8
mov eax, dword fs:[0]
push eax
sub esp, 0x80
push ebx
push ebp
push esi
push edi
mov eax, dword [0x8ce6f4]
xor eax, esp
push eax
lea eax, [esp + 0x94]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xa4]
mov eax, dword [esi + 4]
mov ecx, dword [edi + 4]
sub eax, dword [esi]
sub ecx, dword [edi]
sar eax, 4
sar ecx, 4
add eax, ecx
push eax
lea ecx, [esp + 0x68]
mov dword [esp + 0xa0], ebx
call fcn.0066e1d0
lea edx, [esp + 0x64]
cmp edi, edx
je 0x66ecdc
mov eax, dword [edi]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov dword [edi], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x64], eax
mov eax, dword [edi + 4]
mov dword [edi + 4], edx
mov dword [esp + 0x68], eax
mov eax, dword [edi + 8]
mov dword [edi + 8], ecx
mov dword [esp + 0x6c], eax
mov edx, dword [esi + 4]
mov eax, dword [esp + 0xb0]
mov edi, dword [esi]
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x18], edx
cdq
mov esi, eax
mov eax, dword [esp + 0xac]
xor ecx, ecx
cdq
mov ebx, ecx
sub ebx, eax
mov dword [esp + 0x24], ebx
mov ebx, esi
sbb ebx, edx
add eax, ecx
mov dword [esp + 0x2c], eax
adc edx, esi
mov eax, ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], edx
cmp eax, dword [esp + 0x68]
je 0x66f24a
lea esp, [esp]
cmp edi, dword [esp + 0x18]
je 0x66f159
mov ecx, dword [esp + 0x24]
add ecx, dword [edi]
mov eax, dword [esp + 0x28]
adc eax, dword [edi + 4]
mov edx, dword [ebp + 4]
mov esi, dword [ebp]
cmp eax, edx
ja 0x66ef16
jb 0x66ed5f
cmp ecx, esi
jae 0x66ef16
mov ebx, dword [edi + 8]
add ebx, dword [esp + 0x2c]
mov esi, dword [edi + 0xc]
adc esi, dword [esp + 0x30]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x68]
add edi, 0x10
mov dword [esp + 0x40], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
cmp ebp, ecx
je 0x66ee5e
mov edx, dword [esp + 0x18]
cmp dword [ebp + 4], esi
ja 0x66ee5a
jb 0x66eda4
cmp dword [ebp], ebx
ja 0x66ee5a
mov eax, ebp
add eax, 8
add ebp, 0x10
cmp esi, dword [eax + 4]
ja 0x66edb7
jb 0x66edbb
cmp ebx, dword [eax]
jb 0x66edbb
lea eax, [esp + 0x1c]
mov ebx, dword [eax]
mov dword [esp + 0x1c], ebx
mov esi, dword [eax + 4]
mov dword [esp + 0x20], esi
cmp ebp, ecx
je 0x66edd8
cmp dword [ebp + 4], esi
jb 0x66eda4
ja 0x66edd8
cmp dword [ebp], ebx
jbe 0x66eda4
cmp edi, edx
je 0x66ee5a
mov ecx, dword [esp + 0x24]
add ecx, dword [edi]
mov eax, dword [esp + 0x28]
adc eax, dword [edi + 4]
cmp eax, esi
ja 0x66ee5a
jb 0x66edf3
cmp ecx, ebx
ja 0x66ee5a
mov eax, edi
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
add edi, 0x10
add ecx, dword [esp + 0x2c]
adc eax, dword [esp + 0x30]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
cmp esi, eax
ja 0x66ee1e
jb 0x66ee18
cmp ebx, ecx
jae 0x66ee1e
lea eax, [esp + 0x4c]
jmp 0x66ee22
lea eax, [esp + 0x1c]
mov ebx, dword [eax]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov esi, dword [eax + 4]
mov dword [esp + 0x20], esi
cmp edi, edx
je 0x66ee4e
mov ecx, dword [esp + 0x24]
add ecx, dword [edi]
mov eax, dword [esp + 0x28]
adc eax, dword [edi + 4]
cmp eax, esi
jb 0x66edf3
ja 0x66ee4e
cmp ecx, ebx
jbe 0x66edf3
mov ecx, dword [esp + 0x68]
cmp ebp, ecx
jne 0x66ed90
mov dword [esp + 0x14], ebp
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 4]
mov dword [esp + 0x74], ecx
lea ecx, [esp + 0x74]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], esi
cmp ecx, eax
jae 0x66ee9f
mov edx, dword [edx]
cmp edx, ecx
ja 0x66ee98
mov esi, ecx
jmp 0x66f046
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + 8]
cmp eax, ecx
jne 0x66eefc
mov edx, dword [esp + 0xa4]
mov edx, dword [edx]
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x66f14f
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x66eef5
mov edx, ecx
shr edx, 1
mov ebp, 0xfffffff
sub ebp, edx
cmp ebp, ecx
jae 0x66eedc
xor ecx, ecx
jmp 0x66eede
add ecx, edx
cmp ecx, eax
jae 0x66eee4
mov ecx, eax
push ecx
mov ecx, dword [esp + 0xa8]
call fcn.0066e1d0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 4]
test eax, eax
je 0x66f13c
mov ecx, dword [esp + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
jmp 0x66f133
mov ebx, dword [ebp + 8]
mov dword [esp + 0x44], esi
mov esi, dword [ebp + 0xc]
add ebp, 0x10
mov dword [esp + 0x48], edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x14], ebp
mov ecx, dword [esp + 0x24]
add ecx, dword [edi]
mov eax, dword [esp + 0x28]
adc eax, dword [edi + 4]
cmp eax, esi
ja 0x66effd
jb 0x66ef52
cmp ecx, ebx
ja 0x66effd
mov eax, edi
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
add edi, 0x10
add ecx, dword [esp + 0x2c]
adc eax, dword [esp + 0x30]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
cmp esi, eax
ja 0x66ef7d
jb 0x66ef77
cmp ebx, ecx
jae 0x66ef7d
lea eax, [esp + 0x54]
jmp 0x66ef81
lea eax, [esp + 0x34]
mov ebx, dword [eax]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x34], ebx
mov esi, dword [eax + 4]
mov dword [esp + 0x38], esi
cmp edi, edx
je 0x66efad
mov ecx, dword [esp + 0x24]
add ecx, dword [edi]
mov eax, dword [esp + 0x28]
adc eax, dword [edi + 4]
cmp eax, esi
jb 0x66ef52
ja 0x66efad
cmp ecx, ebx
jbe 0x66ef52
mov ecx, dword [esp + 0x68]
cmp ebp, ecx
je 0x66effd
cmp dword [ebp + 4], esi
ja 0x66effd
jb 0x66efc1
cmp dword [ebp], ebx
ja 0x66effd
mov eax, ebp
add eax, 8
add ebp, 0x10
cmp esi, dword [eax + 4]
ja 0x66efd4
jb 0x66efd8
cmp ebx, dword [eax]
jb 0x66efd8
lea eax, [esp + 0x34]
mov ebx, dword [eax]
mov dword [esp + 0x34], ebx
mov esi, dword [eax + 4]
mov dword [esp + 0x38], esi
cmp ebp, ecx
je 0x66eff5
cmp dword [ebp + 4], esi
jb 0x66efc1
ja 0x66eff5
cmp dword [ebp], ebx
jbe 0x66efc1
cmp edi, edx
jne 0x66ef33
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 4]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x84]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], esi
cmp ecx, eax
jae 0x66f0c9
mov edx, dword [edx]
cmp edx, ecx
ja 0x66f0c2
mov esi, ecx
mov ebx, dword [esp + 0xa4]
mov ecx, dword [ebx + 8]
sub esi, edx
cmp eax, ecx
jne 0x66f09a
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x66f14f
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x66f09a
mov edx, ecx
shr edx, 1
mov ebx, 0xfffffff
sub ebx, edx
cmp ebx, ecx
jae 0x66f083
xor ecx, ecx
jmp 0x66f085
add ecx, edx
cmp ecx, eax
jae 0x66f08b
mov ecx, eax
mov ebx, dword [esp + 0xa4]
push ecx
mov ecx, ebx
call fcn.0066e1d0
mov eax, dword [ebx + 4]
and esi, 0xfffffff0
add esi, dword [ebx]
test eax, eax
je 0x66f0bc
mov edx, dword [esi]
mov dword [eax], edx
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
mov edx, dword [esi + 8]
mov dword [eax + 8], edx
mov ecx, dword [esi + 0xc]
mov dword [eax + 0xc], ecx
add dword [ebx + 4], 0x10
jmp 0x66f140
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + 8]
cmp eax, ecx
jne 0x66f122
mov edx, dword [esp + 0xa4]
mov edx, dword [edx]
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x66f14f
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x66f11b
mov edx, ecx
shr edx, 1
mov ebp, 0xfffffff
sub ebp, edx
cmp ebp, ecx
jae 0x66f102
xor ecx, ecx
jmp 0x66f104
add ecx, edx
cmp ecx, eax
jae 0x66f10a
mov ecx, eax
push ecx
mov ecx, dword [esp + 0xa8]
call fcn.0066e1d0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 4]
test eax, eax
je 0x66f13c
mov ecx, dword [esp + 0x44]
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], esi
mov dword [eax + 8], ebx
add dword [edx + 4], 0x10
cmp ebp, dword [esp + 0x68]
jne 0x66ed30
jmp 0x66f24a
push 0x43a3d8
call fcn.0082a06a
cmp ebp, dword [esp + 0x68]
je 0x66f24a
mov ebx, dword [esp + 0xa4]
lea ebx, [ebx]
mov eax, dword [ebx + 4]
mov esi, ebp
add ebp, 0x10
cmp esi, eax
jae 0x66f1d2
mov edx, dword [ebx]
cmp edx, esi
ja 0x66f1d2
mov ecx, dword [ebx + 8]
sub esi, edx
cmp eax, ecx
jne 0x66f1cb
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x66f14f
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x66f1cb
mov edx, ecx
shr edx, 1
mov ebx, 0xfffffff
sub ebx, edx
cmp ebx, ecx
jae 0x66f1b4
xor ecx, ecx
jmp 0x66f1b6
add ecx, edx
cmp ecx, eax
jae 0x66f1bc
mov ecx, eax
mov ebx, dword [esp + 0xa4]
push ecx
mov ecx, ebx
call fcn.0066e1d0
and esi, 0xfffffff0
add esi, dword [ebx]
jmp 0x66f21f
mov ecx, dword [ebx + 8]
cmp eax, ecx
jne 0x66f21f
mov edx, dword [ebx]
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x66f14f
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x66f21f
mov edx, ecx
shr edx, 1
mov ebx, 0xfffffff
sub ebx, edx
cmp ebx, ecx
jae 0x66f208
xor ecx, ecx
jmp 0x66f20a
add ecx, edx
cmp ecx, eax
jae 0x66f210
mov ecx, eax
mov ebx, dword [esp + 0xa4]
push ecx
mov ecx, ebx
call fcn.0066e1d0
mov eax, dword [ebx + 4]
test eax, eax
je 0x66f23c
mov edx, dword [esi]
mov dword [eax], edx
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
mov edx, dword [esi + 8]
mov dword [eax + 8], edx
mov ecx, dword [esi + 0xc]
mov dword [eax + 0xc], ecx
add dword [ebx + 4], 0x10
cmp ebp, dword [esp + 0x68]
jne 0x66f170
cmp edi, dword [esp + 0x18]
je 0x66f3ae
mov edx, dword [esp + 0xa4]
jmp 0x66f260
mov esi, dword [esp + 0x24]
add esi, dword [edi]
mov ebx, dword [esp + 0x28]
adc ebx, dword [edi + 4]
mov ebp, dword [edi + 8]
add ebp, dword [esp + 0x2c]
mov eax, dword [edi + 0xc]
adc eax, dword [esp + 0x30]
lea ecx, [esp + 0x54]
mov dword [esp + 0x60], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebp
cmp ecx, eax
jae 0x66f328
mov edx, dword [edx]
mov dword [esp + 0x14], edx
cmp edx, ecx
mov edx, dword [esp + 0xa4]
ja 0x66f328
mov ebx, dword [esp + 0x14]
mov esi, ecx
mov ecx, dword [edx + 8]
sub esi, ebx
cmp eax, ecx
jne 0x66f303
sub eax, ebx
sar eax, 4
cmp eax, 0xffffffe
ja 0x66f14f
sub ecx, ebx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x66f303
mov edx, ecx
shr edx, 1
mov ebx, 0xfffffff
sub ebx, edx
cmp ebx, ecx
jae 0x66f2e7
xor ecx, ecx
jmp 0x66f2e9
add ecx, edx
cmp ecx, eax
jae 0x66f2ef
mov ecx, eax
push ecx
mov ecx, dword [esp + 0xa8]
call fcn.0066e1d0
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 4]
and esi, 0xfffffff0
add esi, dword [edx]
test eax, eax
je 0x66f39d
mov ecx, dword [esi]
mov dword [eax], ecx
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0xc]
jmp 0x66f39a
cmp eax, dword [edx + 8]
jne 0x66f387
mov ecx, dword [edx]
sub eax, ecx
sar eax, 4
cmp eax, 0xffffffe
ja 0x66f14f
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [edx + 8]
sub eax, ecx
mov ecx, eax
sar ecx, 4
cmp dword [esp + 0x14], ecx
jbe 0x66f387
mov eax, ecx
shr eax, 1
mov edx, 0xfffffff
sub edx, eax
cmp edx, ecx
jae 0x66f367
xor ecx, ecx
jmp 0x66f369
add ecx, eax
mov eax, dword [esp + 0x14]
cmp ecx, eax
jae 0x66f373
mov ecx, eax
push ecx
mov ecx, dword [esp + 0xa8]
call fcn.0066e1d0
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 4]
test eax, eax
je 0x66f39d
mov ecx, dword [esp + 0x60]
mov dword [eax], esi
mov dword [eax + 4], ebx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ecx
add dword [edx + 4], 0x10
add edi, 0x10
cmp edi, dword [esp + 0x18]
jne 0x66f260
mov eax, dword [esp + 0x64]
test eax, eax
je 0x66f3bf
push eax
call fcn.007c8563
add esp, 4
mov ecx, dword [esp + 0x94]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret