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

Disassembly:
sub esp, 0x68
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x98]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x78]
mov ebx, ecx
push edi
mov edi, eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xa4]
mov ebp, dword [esi + 0x1c8]
mov dword [esp + 0x10], eax
mov eax, edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x20], ebp
test ecx, ecx
je 0x10066dc2
test edx, edx
je 0x10066dc2
mov edx, dword [esp + 0xa0]
dec eax
cmp dword [ecx], edx
je 0x10066e25
add ecx, 4
test eax, eax
jne 0x10066db6
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x7c], edx
cmp edx, dword [esp + 0x94]
jg 0x100670d3
mov ebp, dword [esp + 0x88]
jl 0x10066e00
cmp ebp, dword [esp + 0x90]
jae 0x100670cf
mov ecx, edi
mov eax, ebx
sub ecx, ebp
sbb eax, edx
test eax, eax
jg 0x10066f90
jl 0x10066e1e
cmp ecx, 0x10000
jae 0x10066f90
mov edi, ebp
jmp 0x10066fa1
mov ebx, dword [esp + 0x90]
mov eax, ebx
mov edx, dword [esp + 0x94]
cmp dword [esp + 0xa0], ebp
je 0x10066e79
nop
lea ecx, [esp + 0x98]
mov dword [esp + 0xa0], ebp
push ecx
lea ecx, [esp + 0xa4]
push ecx
push dword [esp + 0xb0]
push dword [esp + 0xb0]
push edx
push eax
push esi
call fcn.10067b10
add esp, 0x1c
cmp dword [esp + 0xa0], ebp
jne 0x10066e40
mov edi, dword [esp + 0xac]
lea eax, [edi + 1]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x38]
test eax, eax
je 0x10066e96
push eax
call fcn.1007327e
add esp, 4
mov eax, dword [esi + 0x40]
test eax, eax
je 0x10066ea6
push eax
call fcn.1007327e
add esp, 4
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x10066eb6
push eax
call fcn.1007327e
add esp, 4
mov eax, dword [esi + 0x34]
lea eax, [eax*8 + 8]
push eax
call fcn.10081963
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x34]
shl eax, 5
push eax
push dword [esi + 0x48]
call fcn.1007727c
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x34]
shl eax, 4
push eax
push dword [esi + 0x4c]
call fcn.1007727c
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x34]
shl eax, 2
push eax
call fcn.10081963
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x34]
shl eax, 3
push eax
call fcn.10081963
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x34]
shl eax, 4
push eax
call fcn.10081963
mov ecx, dword [esp + 0xb4]
add esp, 0x20
mov edx, dword [esp + 0x84]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x38]
mov dword [eax + edi*8 + 8], ebx
mov dword [eax + edi*8 + 0xc], ecx
mov eax, dword [esi + 0x38]
mov ecx, dword [esp + 0x80]
mov dword [eax + edi*8], ecx
mov ecx, dword [esp + 0x98]
mov dword [eax + edi*8 + 4], edx
mov edx, dword [esp + 0x9c]
test edx, edx
jg 0x10066f79
jl 0x10066f5f
test ecx, ecx
jae 0x10066f79
xorps xmm0, xmm0
movlpd qword [esp + 0x90], xmm0
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
mov eax, dword [esi + 0x44]
add edi, edi
mov dword [eax + edi*8 + 8], ecx
mov dword [eax + edi*8 + 0xc], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
add edi, ebp
push 0
push 2
adc ebx, edx
push ebx
push edi
call fcn.1006e0f0
mov edi, eax
mov ecx, dword [esi]
mov ebx, edx
test ecx, ecx
je 0x100670b7
cmp dword [esi + 8], edi
jne 0x10066fb7
cmp dword [esi + 0xc], ebx
je 0x10066fea
mov eax, dword [esi + 0x2c4]
test eax, eax
je 0x1006709f
push 0
push ebx
push edi
push ecx
call eax
add esp, 0x10
cmp eax, 0xffffffff
je 0x1006709f
lea eax, [esi + 0x18]
mov dword [esi + 8], edi
push eax
mov dword [esi + 0xc], ebx
call fcn.100baca0
add esp, 4
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [esp + 0x40]
push eax
push esi
call fcn.100679d0
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x88], ecx
mov eax, edx
mov dword [esp + 0x2c], eax
cmp ecx, 0xffffff80
jne 0x10067015
cmp eax, 0xffffffff
je 0x10067092
test eax, eax
jl 0x10067061
jg 0x1006701f
test ecx, ecx
jb 0x10067061
lea eax, [esp + 0x38]
push eax
call fcn.100b9c50
mov edx, dword [esp + 0xa8]
add esp, 4
mov ecx, dword [esp + 0xa8]
test edx, edx
je 0x1006704e
test ecx, ecx
je 0x1006704e
dec ecx
cmp dword [edx], eax
je 0x1006707e
add edx, 4
test ecx, ecx
jne 0x10067042
mov eax, dword [esp + 0x88]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], edi
cmp edx, ebx
jg 0x100670cf
jl 0x10066e00
cmp ebp, edi
jmp 0x10066dfa
mov edx, dword [esi + 0xc]
mov ebp, dword [esi + 8]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x7c], edx
jmp 0x1006706d
pop edi
pop esi
pop ebp
mov eax, 0xffffff80
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffff80
mov dword [esp + 0x88], 0xffffffff
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffff7f
mov dword [esp + 0x88], 0xffffffff
pop ebx
add esp, 0x68
ret
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
lea ecx, [ebp + 1]
mov edi, dword [esp + 0x14]
mov eax, ebx
mov edx, edi
cmp ecx, ebp
je 0x10067116
lea ecx, [esp + 0x30]
mov dword [esp + 0x7c], ebp
push ecx
lea ecx, [esp + 0x80]
push ecx
push dword [esp + 0xb0]
push dword [esp + 0xb0]
push edx
push eax
push esi
call fcn.10067b10
add esp, 0x1c
cmp dword [esp + 0x7c], ebp
jne 0x100670e6
push edi
push ebx
push esi
call fcn.100683a0
add esp, 0xc
test eax, eax
jne 0x1006729a
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x68]
push eax
push esi
call fcn.100676d0
add esp, 0x18
test eax, eax
jne 0x1006729a
mov eax, dword [esi + 0x1c8]
mov dword [esp + 0xa4], eax
mov eax, dword [esi + 8]
mov dword [esp + 0xa8], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x58]
push eax
push esi
call fcn.10067da0
mov ebx, dword [esp + 0xb4]
mov ebp, eax
mov edi, dword [esp + 0x30]
mov dword [esp + 0x90], edx
lea ecx, [ebx + 1]
push ecx
push dword [esp + 0x30]
push edi
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esp + 0x44]
push dword [esp + 0x44]
push esi
call fcn.10066d50
add esp, 0x3c
test eax, eax
jne 0x1006729a
test edi, edi
je 0x100671e4
push edi
call fcn.1007327e
add esp, 4
mov eax, dword [esi + 0x38]
mov ecx, dword [esp + 0x10]
mov dword [eax + ebx*8 + 8], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + ebx*8 + 0xc], ecx
mov eax, dword [esi + 0x40]
mov ecx, dword [esp + 0xa4]
mov dword [eax + ebx*4 + 4], ecx
mov eax, dword [esi + 0x3c]
mov ecx, dword [esp + 0xa8]
mov dword [eax + ebx*8 + 8], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + ebx*8 + 0xc], ecx
lea eax, [ebx + 1]
movups xmm0, xmmword [esp + 0x58]
mov ecx, dword [esp + 0x30]
shl eax, 5
add eax, dword [esi + 0x48]
shl ebx, 4
movups xmmword [eax], xmm0
movups xmm0, xmmword [esp + 0x68]
movups xmmword [eax + 0x10], xmm0
mov eax, dword [esi + 0x4c]
movups xmm0, xmmword [esp + 0x48]
movups xmmword [eax + ebx + 0x10], xmm0
mov eax, dword [esi + 0x44]
mov dword [eax + ebx + 8], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + ebx + 0xc], ecx
mov eax, dword [esi + 0x44]
mov ecx, dword [esp + 0x88]
mov dword [eax + ebx + 0x10], ebp
mov dword [eax + ebx + 0x14], ecx
mov eax, dword [esi + 0x44]
sub dword [eax + ebx + 0x18], ebp
sbb dword [eax + ebx + 0x1c], ecx
mov eax, dword [esi + 0x44]
cmp dword [eax + ebx + 0x1c], 0
jg 0x10067298
jl 0x10067288
cmp dword [eax + ebx + 0x18], 0
jae 0x10067298
mov dword [eax + ebx + 0x18], 0
mov dword [eax + ebx + 0x1c], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret