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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101ee4cd
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x102e5cc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0
push ecx
lea eax, [edi + 0x30]
push 0xc
push eax
call fcn.10009ad3
mov eax, dword [edi + 4]
lea esi, [edi + 4]
add esp, 0xc
mov edx, dword [eax + 0x38]
cmp edx, 1
je 0x10034fb7
mov eax, dword [eax + 0x34]
cmp eax, 1
je 0x10034fb7
mov ecx, dword [edi + 0xac]
shr edx, cl
cmp edx, 1
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x64], 0
cmovb edx, dword [ebp - 0x40]
shr eax, cl
cmp eax, 1
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x60], 0
cmovb eax, dword [ebp - 0x40]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x5c], 0
mov edx, dword [esi]
add ecx, ecx
mov dword [ebp - 4], 0
mov eax, dword [edx + 0x2c]
sub eax, dword [edx + 0x28]
sar eax, 4
shr eax, cl
lea ecx, [ebp - 0x64]
push eax
call fcn.10015330
mov eax, dword [esi]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x40], eax
cmp dword [eax + 0x38], 0
jbe 0x10034a8a
mov ecx, dword [ebp - 0x60]
nop dword [eax]
mov esi, dword [ebp - 0x4c]
xor edx, edx
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x38], eax
cmp dword [edx + 0x34], 0
mov edx, 0
jbe 0x10034a65
nop dword [eax]
mov eax, dword [edi + 0xb0]
cmp byte [esi + eax], 0
je 0x10034a51
mov dword [ebp - 0x38], esi
cmp ecx, dword [ebp - 0x5c]
je 0x10034a3e
mov dword [ecx], esi
add ecx, 4
mov dword [ebp - 0x60], ecx
jmp 0x10034a51
lea eax, [ebp - 0x38]
push eax
push ecx
lea ecx, [ebp - 0x64]
call fcn.1000c260
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x48]
mov eax, dword [edi + 4]
add edx, dword [ebp - 0x50]
add esi, dword [ebp - 0x50]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x38], eax
cmp edx, dword [eax + 0x34]
jb 0x10034a20
mov eax, dword [eax + 0x34]
imul eax, dword [ebp - 0x54]
mov esi, dword [ebp - 0x44]
add esi, dword [ebp - 0x54]
mov dword [ebp - 0x44], esi
add dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
cmp esi, dword [eax + 0x38]
jb 0x10034a00
lea esi, [edi + 4]
lea eax, [ebp - 0x64]
push eax
lea eax, [edi + 0x30]
push eax
sub esp, 8
mov ecx, esp
push esi
call fcn.100064c2
call fcn.1002d8a0
push 4
fstp qword [ebp - 0x58]
call fcn.10014ae0
add esp, 0x14
test al, al
je 0x10034b5c
push 1
call fcn.10115b3c
push eax
call fcn.10116c52
add esp, 8
push 2
push 0
push 1
call fcn.10115b3c
add esp, 4
push eax
call fcn.10014780
mov eax, dword [edi]
add esp, 0xc
mov ecx, edi
mov eax, dword [eax + 4]
push str.::estimateProjectionMatrix__projection_matrix
call eax
push eax
push str._pcl::
push 0x10320b78
call fcn.100071d9
add esp, 8
push eax
call fcn.100172c0
add esp, 8
push eax
call fcn.100071d9
push eax
call fcn.1000735f
lea ecx, [edi + 0x30]
push ecx
push eax
call fcn.1002b640
push eax
call fcn.1000735f
movsd xmm0, qword [ebp - 0x58]
add esp, 0x10
movsd qword [esp], xmm0
push str.residual_sqr
push eax
call fcn.100071d9
add esp, 8
mov ecx, eax
call fcn.10022370
push eax
call fcn.1000735f
push 1
call fcn.10115b3c
push eax
call fcn.10014b90
add esp, 0xc
mov esi, dword [ebp - 0x60]
sub esi, dword [ebp - 0x64]
sar esi, 2
movsd xmm1, qword [ebp - 0x58]
mov eax, esi
andps xmm1, xmmword [0x101f33c0]
shr eax, 0x1f
movd xmm0, esi
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x101f36b0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [edi + 0xa8]
cvtps2pd xmm0, xmm0
comisd xmm1, xmm0
jbe 0x10034bec
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 4]
call eax
cmp dword [eax + 0x14], 0xf
jbe 0x10034bad
mov eax, dword [eax]
movsd xmm1, qword [ebp - 0x58]
movd xmm0, esi
push esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
sub esp, 8
addsd xmm0, qword [esi*8 + 0x101f36b0]
divsd xmm1, xmm0
movsd qword [esp], xmm1
push eax
push str._pcl::_s::estimateProjectionMatrix__Input_dataset_is_not_from_a_projective_device__nResidual__MSE___g__using__d_valid_points_n
push 1
call fcn.10014b00
add esp, 0x18
mov byte [ebp - 0x39], 0
jmp 0x10034f7f
mov eax, dword [edi + 0x30]
mov dword [edi + 0x60], eax
movss xmm6, dword [edi + 0x34]
movss dword [edi + 0x64], xmm6
movss xmm2, dword [edi + 0x38]
movss dword [edi + 0x68], xmm2
movaps xmm3, xmm2
movss xmm7, dword [edi + 0x40]
movss dword [edi + 0x6c], xmm7
mov eax, dword [edi + 0x44]
mov dword [edi + 0x70], eax
mov eax, dword [edi + 0x48]
mov dword [edi + 0x74], eax
movss xmm0, dword [edi + 0x50]
movss dword [edi + 0x78], xmm0
mov eax, dword [edi + 0x54]
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm6
mulss xmm0, xmm6
mov dword [edi + 0x7c], eax
mov eax, dword [edi + 0x58]
mulss xmm3, xmm2
mov dword [edi + 0x80], eax
movss xmm1, dword [edi + 0x60]
movss xmm4, dword [edi + 0x74]
movss xmm5, dword [edi + 0x70]
addss xmm3, xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x44], xmm7
mulss xmm0, xmm1
movss dword [ebp - 0x54], xmm6
addss xmm3, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm6
movss dword [ebp - 0x50], xmm3
movss dword [ebp - 0x34], xmm3
movaps xmm3, xmm4
mulss xmm3, xmm2
addss xmm3, xmm0
movaps xmm0, xmm7
movss xmm7, dword [edi + 0x7c]
mulss xmm0, xmm1
addss xmm3, xmm0
movaps xmm0, xmm7
mulss xmm0, dword [ebp - 0x54]
movss dword [ebp - 0x48], xmm3
movss dword [ebp - 0x30], xmm3
movss xmm3, dword [edi + 0x80]
movaps xmm6, xmm3
mulss xmm6, xmm2
movaps xmm2, xmm5
mulss xmm2, xmm5
addss xmm6, xmm0
movss xmm0, dword [ebp - 0x38]
mulss xmm0, xmm1
movaps xmm1, xmm7
mulss xmm1, xmm5
addss xmm6, xmm0
mulss xmm7, xmm7
movaps xmm0, xmm4
mulss xmm0, xmm4
mulss xmm4, xmm3
addss xmm2, xmm0
mulss xmm3, xmm3
movss xmm0, dword [ebp - 0x44]
addss xmm1, xmm4
movss xmm4, dword [ebp - 0x38]
mulss xmm0, xmm0
addss xmm7, xmm3
addss xmm2, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [ebp - 0x44]
mulss xmm4, xmm4
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [edi + 0x84], xmm0
movss xmm0, dword [ebp - 0x48]
addss xmm7, xmm4
movss dword [edi + 0x88], xmm0
movss dword [edi + 0x8c], xmm6
movss dword [edi + 0x90], xmm0
mov esi, dword [edi + 0xb0]
xor eax, eax
movss xmm4, dword [0x101f36c0]
movss xmm5, dword [0x101f3688]
movss dword [edi + 0x94], xmm2
movss dword [edi + 0x98], xmm1
movss dword [edi + 0x9c], xmm6
xorps xmm6, xmm6
movss dword [edi + 0xa0], xmm1
movss dword [edi + 0xa4], xmm7
mov ecx, dword [edi + 4]
mov dword [ebp - 0x38], eax
mov edx, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
sub ecx, edx
mov dword [ebp - 0x54], edx
sar ecx, 4
mov dword [ebp - 0x44], ecx
imul ecx, eax
mov eax, 0xba2e8ba3
mul ecx
mov ecx, edx
shr ecx, 3
mov dword [ebp - 0x48], ecx
cmp byte [esi + ecx], 0
je 0x10034edd
mov esi, ecx
lea edx, [ebp - 0x24]
mov dword [ebp - 0x28], edx
lea eax, [edi + 0x3c]
movss xmm0, dword [edi + 0x64]
movss xmm3, dword [edi + 0x68]
shl esi, 4
add esi, dword [ebp - 0x54]
mulss xmm0, dword [esi + 4]
mulss xmm3, dword [esi + 8]
addss xmm3, xmm0
movss xmm0, dword [esi]
mulss xmm0, dword [edi + 0x60]
addss xmm3, xmm0
movss dword [ebp - 0x24], xmm3
movss xmm0, dword [esi + 4]
mulss xmm0, dword [edi + 0x70]
movss xmm2, dword [esi + 8]
mulss xmm2, dword [edi + 0x74]
addss xmm2, xmm0
movss xmm0, dword [esi]
mulss xmm0, dword [edi + 0x6c]
addss xmm2, xmm0
movss dword [ebp - 0x20], xmm2
movss xmm0, dword [esi + 4]
movss xmm1, dword [esi + 8]
mulss xmm1, dword [edi + 0x80]
mulss xmm0, dword [edi + 0x7c]
addss xmm1, xmm0
movss xmm0, dword [esi]
mulss xmm0, dword [edi + 0x78]
mov dword [ebp - 0x18], eax
addss xmm1, xmm0
movss dword [ebp - 0x1c], xmm1
addss xmm1, dword [eax + 0x20]
addss xmm3, dword [eax]
addss xmm2, dword [eax + 0x10]
ucomiss xmm1, xmm6
divss xmm3, xmm1
divss xmm2, xmm1
lahf
movss dword [ebp - 0x4c], xmm3
movss dword [ebp - 0x40], xmm2
test ah, 0x44
jnp 0x10034ef5
mov eax, ecx
xor edx, edx
mov ecx, dword [edi + 4]
movaps xmm1, xmm3
div dword [ecx + 0x34]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x101f36b0]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
andps xmm1, xmm4
comiss xmm1, xmm5
ja 0x10034ef5
movd xmm0, eax
movaps xmm1, xmm2
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101f36b0]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
andps xmm1, xmm4
comiss xmm1, xmm5
ja 0x10034ef5
mov esi, dword [edi + 0xb0]
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp eax, 0xb
jae 0x10034f7b
mov ecx, dword [ebp - 0x44]
jmp 0x10034da5
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 4]
call eax
mov dword [ebp - 0x38], eax
cmp dword [eax + 0x14], 0xf
jbe 0x10034f0c
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov ecx, dword [edi + 4]
xor edx, edx
mov edi, dword [ebp - 0x48]
mov eax, edi
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
div dword [ecx + 0x34]
push eax
push edx
sub esp, 0x28
movsd qword [esp + 0x20], xmm0
movss xmm0, dword [ebp - 0x4c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [esi + 8]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [esi + 4]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [esi]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push edi
push dword [ebp - 0x38]
push str._pcl::_s::estimateProjectionMatrix__Input_dataset_does_not_seem_to_be_from_a_projective_device___point__zu___g__g__g__projected_to_pixel_coordinates___g__g___but_actual_pixel_coordinates_are___zu__zu___n
push 2
call fcn.10014b00
add esp, 0x40
mov byte [ebp - 0x39], 0
jmp 0x10034f7f
mov byte [ebp - 0x39], 1
mov edx, dword [ebp - 0x64]
test edx, edx
je 0x10034fb2
mov ecx, dword [ebp - 0x5c]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x10034fa8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10034ff5
push ecx
push edx
call fcn.1010d0f5
add esp, 8
mov al, byte [ebp - 0x39]
jmp 0x10034fda
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 4]
call eax
cmp dword [eax + 0x14], 0xf
jbe 0x10034fc8
mov eax, dword [eax]
push eax
push str._pcl::_s::estimateProjectionMatrix__Input_dataset_is_not_organized__n
push 1
call fcn.10014b00
add esp, 0xc
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1010d06f
mov esp, ebp
pop ebp
ret
call fcn.101159de
int3