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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x34
mov edx, 0xb
push ebx
push esi
push edi
mov edi, ecx
lea esi, [edi + 0x2408]
mov dword [edi + 0xc], 0
lea ecx, [edi + 0x2048]
lea eax, [esi + 0x2028]
nop dword [eax]
movsd xmm0, qword [eax - 0x23f0]
lea eax, [eax + 0x10]
movsd qword [eax - 0x10], xmm0
lea ecx, [ecx + 0x10]
movsd xmm0, qword [ecx - 0x10]
movsd qword [eax - 8], xmm0
sub edx, 1
jne 0x4129d0
movsd xmm0, qword [edi + 0x48]
movsd qword [esi + 0x30], xmm0
movsd xmm0, qword [edi + 0x58]
movsd qword [esi + 0x40], xmm0
movsd xmm0, qword [edi + 0x60]
movsd qword [esi + 0x48], xmm0
movsd xmm0, qword [edi + 0x68]
movsd qword [esi + 0x50], xmm0
movsd xmm0, qword [edi + 0x70]
movsd qword [esi + 0x58], xmm0
movsd xmm0, qword [edi + 0x78]
movsd qword [esi + 0x60], xmm0
movsd xmm0, qword [edi + 0x80]
movsd qword [esi + 0x68], xmm0
movsd xmm0, qword [edi + 0x50]
movsd qword [esi + 0x38], xmm0
mov eax, dword [0x7c1e70]
cmp eax, 3
jne 0x412a5b
mov ecx, esi
call fcn.00430450
mov eax, dword [0x7c1e70]
cmp eax, 2
jne 0x412a67
mov ecx, esi
call fcn.00430760
mov eax, dword [edi + 0x485c]
mov ebx, dword [edi + 0x4858]
mov dword [esp + 0x18], eax
cmp ebx, eax
je 0x412ab6
nop dword [eax + eax]
mov esi, dword [ebx]
lea eax, [edi + 0x18]
push eax
lea ecx, [esi + 0x18]
call fcn.00407b40
lea eax, [edi + 0x18]
push eax
lea ecx, [esi + 0x2408]
call fcn.00407b40
movsd xmm0, qword [edi + 0x2410]
add ebx, 4
movsd qword [esi + 0x2410], xmm0
cmp ebx, dword [esp + 0x18]
jne 0x412a80
xorps xmm2, xmm2
movsd qword [edi + 0x6d10], xmm2
mov ecx, dword [edi + 0x485c]
mov eax, dword [edi + 0x4858]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
cmp eax, ecx
je 0x412bee
nop dword [eax]
mov esi, dword [eax]
lea eax, [edi + 0x18]
push eax
lea ecx, [esi + 0x18]
call fcn.00407b40
movsd xmm0, qword [esi + 0x28]
xor ebx, ebx
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [str.fffff]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esi + 0x4870]
movsd qword [esp + 0x28], xmm2
movsd qword [esp + 0x20], xmm2
movsd qword [esi + 0x4858], xmm0
movsd xmm2, qword [esi + 0x4860]
mov ecx, esi
addsd xmm2, qword [esi + 0x2410]
movsd xmm3, qword [edi + 0x28]
movsd xmm1, qword [edi + 0x6d00]
call fcn.00409310
movsd xmm0, qword [esi + 0x4858]
mov ecx, esi
addsd xmm0, qword [edi + 0x6d00]
movsd xmm2, qword [esp + 0x20]
movsd xmm1, qword [esp + 0x28]
movsd qword [esi + 0x20], xmm0
call fcn.004089d0
mov eax, dword [esi + 0x497c]
sub eax, dword [esi + 0x4978]
test eax, 0xfffffffc
je 0x412bbc
movsd xmm0, qword [edi + 0x28]
lea eax, [esp + 0x30]
sub esp, 8
mov ecx, esi
movsd qword [esp], xmm0
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x3c]
push eax
push ebx
call fcn.00409ca0
cmp eax, 1
je 0x412bbc
inc ebx
cmp ebx, 0x32
jle 0x412b25
movsd xmm0, qword [esi + 0x30]
xorps xmm2, xmm2
addsd xmm0, qword [edi + 0x6d10]
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x18], eax
movsd qword [edi + 0x6d10], xmm0
movsd qword [esi + 0x20], xmm2
cmp eax, dword [esp + 0x1c]
jne 0x412ae0
movsd xmm0, qword [edi + 0x6d10]
comisd xmm0, xmmword [edi + 0x30]
jbe 0x412c15
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x412c15
mov dword [edi + 0xc], 0x154
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsd qword [edi + 0x6d18], xmm2
mov ecx, dword [edi + 0x485c]
mov eax, dword [edi + 0x4858]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
cmp eax, ecx
je 0x412d54
nop dword [eax]
mov esi, dword [eax]
lea eax, [edi + 0x18]
push eax
lea ecx, [esi + 0x18]
call fcn.00407b40
movsd xmm0, qword [esi + 0x28]
xor ebx, ebx
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [str.fffff]
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [esi + 0x4870]
movsd qword [esp + 0x20], xmm2
movsd qword [esp + 0x28], xmm2
movsd qword [esi + 0x4858], xmm0
movsd xmm2, qword [esi + 0x2410]
mov ecx, esi
addsd xmm2, qword [esi + 0x4860]
movsd xmm3, qword [edi + 0x28]
movsd xmm1, qword [edi + 0x6d08]
call fcn.00409310
movsd xmm0, qword [edi + 0x6d08]
mov ecx, esi
addsd xmm0, qword [esi + 0x4858]
movsd xmm2, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x20]
movsd qword [esi + 0x20], xmm0
call fcn.004089d0
mov eax, dword [esi + 0x497c]
sub eax, dword [esi + 0x4978]
test eax, 0xfffffffc
je 0x412d22
movsd xmm0, qword [edi + 0x28]
lea eax, [esp + 0x38]
sub esp, 8
mov ecx, esi
movsd qword [esp], xmm0
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.00409ca0
cmp eax, 1
jne 0x412d18
cmp dword [esi + 0xc], 0
je 0x412d22
inc ebx
cmp ebx, 0x32
jle 0x412c85
movsd xmm0, qword [esi + 0x30]
xorps xmm2, xmm2
addsd xmm0, qword [edi + 0x6d18]
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x18], eax
movsd qword [edi + 0x6d18], xmm0
movsd qword [esi + 0x20], xmm2
cmp eax, dword [esp + 0x1c]
jne 0x412c40
movsd xmm1, qword [edi + 0x6d18]
movsd xmm0, qword [edi + 0x30]
comisd xmm0, xmm1
jbe 0x412d78
ucomisd xmm1, xmm2
lahf
test ah, 0x44
jnp 0x412d78
mov dword [edi + 0xc], 0x15e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret