Function at 0x4307f0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x78
movsd xmm0, qword [ebx + 0x20]
mov eax, ecx
mulsd xmm0, qword [0x4ae888]
push esi
movsd xmm2, qword [0x4af170]
xor esi, esi
push edi
mov edi, dword [eax + 0xd0]
movsd qword [ebx + 0x20], xmm0
xorps xmm0, xmm0
mov dword [ebp - 8], eax
movsd qword [ebp - 0x50], xmm0
mov dword [ebp - 0x44], edi
test edi, edi
jle 0x43088f
add eax, 0x22e8
mov dword [ebp - 0x14], eax
nop dword [eax]
movsd xmm0, qword [esi*8 + 0x4a5530]
movaps xmm1, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mov eax, dword [ebp - 0x14]
inc esi
movsd xmm2, qword [0x4af170]
mulsd xmm0, qword [eax]
add eax, 8
mov dword [ebp - 0x14], eax
addsd xmm0, qword [ebp - 0x50]
movsd qword [ebp - 0x50], xmm0
cmp esi, edi
jl 0x430850
mov esi, dword [ebp - 8]
xorps xmm0, xmm0
mov eax, esi
jmp 0x430891
mov esi, eax
add eax, 0x22e8
movsd qword [ebp - 0x58], xmm0
mov dword [ebp - 0x14], eax
lea eax, [edi - 1]
mov dword [ebp - 0x34], eax
test eax, eax
jle 0x430992
add esi, 0x22f0
mov ecx, 0x4a5530
mov dword [ebp - 0xc], esi
xor edx, edx
mov esi, dword [ebp - 0x14]
mov eax, 1
sub esi, ecx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x3c], esi
mov esi, eax
cmp eax, edi
jge 0x43096c
mov edi, dword [ebp - 0xc]
add eax, edx
lea eax, [eax*8 + 0x4a4630]
mov dword [ebp - 4], eax
nop dword [eax + eax]
movsd xmm0, qword [ecx]
movaps xmm1, xmm2
mulsd xmm0, qword [esi*8 + 0x4a5530]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mov eax, dword [ebp - 4]
movsd xmm1, qword [0x4af270]
movsd qword [ebp - 0x60], xmm0
movsd xmm0, qword [eax]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mov eax, dword [ebp - 0x3c]
inc esi
mov ecx, dword [ebp - 0x24]
subsd xmm0, qword [0x4aeef0]
add dword [ebp - 4], 8
movsd xmm2, qword [0x4af170]
movsd xmm1, qword [eax + ecx]
mulsd xmm1, qword [edi]
add edi, 8
mov eax, dword [ebp - 8]
mulsd xmm0, xmm1
mulsd xmm0, qword [ebp - 0x60]
addsd xmm0, qword [ebp - 0x58]
movsd qword [ebp - 0x58], xmm0
cmp esi, dword [eax + 0xd0]
jl 0x4308f0
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
add dword [ebp - 0xc], 8
inc eax
movsd xmm2, qword [0x4af170]
add ecx, 8
add edx, 0xc
mov dword [ebp - 0x1c], eax
sub dword [ebp - 0x34], 1
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x2c], edx
jne 0x4308d2
movsd xmm1, qword [ebp - 0x50]
addsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm0, xmm1
movsd xmm1, qword [0x4aebc8]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mov esi, dword [ebp - 8]
movsd xmm1, qword [0x4af978]
movsd qword [ebp - 0x50], xmm0
movsd qword [esi + 0xd8], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mulsd xmm0, qword [0x4ae928]
movsd xmm1, qword [ebx + 0x20]
mulsd xmm0, qword [0x4af348]
divsd xmm1, xmm0
movsd xmm0, qword [ebp - 0x50]
movsd qword [ebp - 0x58], xmm1
movsd xmm1, qword [0x4af1d0]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
movsd xmm1, qword [ebx + 0x20]
lea eax, [ebp - 0x28]
mulsd xmm1, qword [0x4af6e8]
sub esp, 8
mov ecx, esi
movsd xmm2, qword [ebx + 0x28]
movsd qword [esp], xmm2
mulsd xmm0, xmm1
movaps xmm1, xmm2
push eax
mulsd xmm1, qword [0x4af348]
lea eax, [ebp - 0x40]
push eax
divsd xmm0, xmm1
xorps xmm1, xmm1
movaps xmm3, xmm0
movsd qword [ebp - 0x48], xmm0
movsd qword [ebp - 0x40], xmm1
movsd qword [ebp - 0x28], xmm1
call fcn.0042fb50
movsd xmm0, qword [ebp - 0x58]
xor esi, esi
movsd xmm5, qword [ebx + 0x28]
divsd xmm0, xmm5
movsd xmm2, qword [ebp - 0x40]
movsd xmm4, qword [0x4aeef0]
movsd xmm3, qword [ebp - 0x48]
addsd xmm2, xmm4
movsd qword [ebp - 0x60], xmm0
nop dword [eax]
mulsd xmm2, xmm3
lea eax, [ebp - 0x28]
mov ecx, dword [ebp - 8]
sub esp, 8
movaps xmm1, xmm0
movsd xmm0, qword [ebp - 0x28]
addsd xmm0, xmm4
subsd xmm1, xmm2
movsd qword [esp], xmm5
push eax
lea eax, [ebp - 0x40]
push eax
divsd xmm1, xmm0
addsd xmm3, xmm1
movsd qword [ebp - 0x48], xmm3
call fcn.0042fb50
movsd xmm3, qword [ebp - 0x48]
movsd xmm2, qword [ebp - 0x40]
movaps xmm0, xmm3
movsd xmm4, qword [0x4aeef0]
movsd xmm5, qword [ebx + 0x28]
addsd xmm2, xmm4
mulsd xmm0, xmm5
movsd xmm1, qword [0x4ae888]
mulsd xmm0, xmm2
subsd xmm0, qword [ebp - 0x58]
divsd xmm0, qword [ebp - 0x58]
andps xmm0, xmmword [0x4afb90]
comisd xmm1, xmm0
ja 0x430b0d
movsd xmm0, qword [ebp - 0x60]
inc esi
cmp esi, 0x64
jl 0x430a80
mov esi, dword [ebp - 8]
mov eax, dword [ebx + 8]
movsd xmm1, qword [0x4af978]
movsd qword [ebp - 0x60], xmm2
movsd xmm0, qword [esi + 0x68]
movsd qword [ebp - 0x70], xmm0
movsd xmm0, qword [ebp - 0x50]
movsd qword [eax], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mulsd xmm0, qword [esi + 0x68]
xor eax, eax
mov dword [ebp - 4], eax
mulsd xmm0, qword [ebp - 0x48]
movsd qword [ebp - 0x78], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x40], xmm0
movsd qword [ebp - 0x50], xmm0
nop dword [eax]
lea ecx, [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.0042f780
mov eax, dword [ebp - 4]
movsd xmm0, qword [ebp - 0x48]
movsd xmm1, qword [eax*8 + 0x4a62a0]
movsd qword [ebp - 0x68], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mov eax, dword [ebp - 4]
movaps xmm1, xmm0
movsd xmm0, qword [eax*8 + 0x4a55f0]
xorps xmm0, xmmword [0x4afba0]
mulsd xmm1, xmm0
movsd xmm0, qword [ebp - 0x48]
movsd qword [ebp - 0x58], xmm1
movsd xmm1, qword [eax*8 + 0x4a6470]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mov eax, dword [ebp - 4]
mulsd xmm0, qword [eax*8 + 0x4a6640]
movsd xmm1, qword [eax*8 + 0x4a60d0]
xorps xmm1, xmmword [0x4afba0]
movsd qword [ebp - 0x38], xmm0
movsd xmm0, qword [ebx + 0x28]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
movsd xmm1, qword [ebp - 0x38]
mov eax, dword [ebp - 4]
mulsd xmm1, xmm0
movsd xmm0, qword [0x4aeef0]
subsd xmm0, qword [eax*8 + 0x4a60d0]
movsd qword [ebp - 0x38], xmm1
movsd xmm1, qword [eax*8 + 0x4a62a0]
movsd qword [ebp - 0x10], xmm0
movsd xmm0, qword [ebp - 0x48]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mov eax, dword [ebp - 4]
movsd xmm1, qword [eax*8 + 0x4a55f0]
mulsd xmm1, qword [ebp - 0x68]
mulsd xmm0, xmm1
movsd xmm1, qword [eax*8 + 0x4a6470]
subsd xmm1, xmm0
movsd xmm0, qword [ebp - 0x58]
mulsd xmm1, qword [ebp - 0x30]
movsd qword [ebp - 0x68], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
mov eax, dword [ebp - 4]
movsd xmm2, qword [ebp - 0x68]
movsd xmm1, qword [ebp - 0x10]
mulsd xmm1, qword [ebp - 0x38]
mulsd xmm2, xmm0
movsd xmm0, qword [eax*8 + 0x4a6470]
mulsd xmm0, qword [ebp - 0x20]
addsd xmm2, xmm0
movsd xmm0, qword [ebp - 0x58]
mulsd xmm2, xmm1
addsd xmm2, qword [ebp - 0x40]
movsd qword [ebp - 0x40], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
mov eax, dword [ebp - 4]
mulsd xmm0, qword [ebp - 0x30]
movsd xmm1, qword [ebp - 0x38]
mulsd xmm1, qword [eax*8 + 0x4a60d0]
inc eax
mov dword [ebp - 4], eax
addsd xmm0, qword [ebp - 0x20]
mulsd xmm1, qword [ebp - 0x10]
mulsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x50]
movsd qword [ebp - 0x50], xmm0
cmp eax, 0x3a
jl 0x430b60
movsd xmm1, qword [0x4aeef0]
xorps xmm4, xmm4
movaps xmm3, xmm1
movsd qword [ebp - 0x38], xmm4
divsd xmm3, qword [ebx + 0x28]
xor esi, esi
xorps xmm2, xmm2
movsd qword [ebp - 0x30], xmm3
test edi, edi
jle 0x430ebd
nop dword [eax]
movsd xmm1, qword [esi*8 + 0x4a5350]
movsd xmm0, qword [esi*8 + 0x4a53b0]
ucomisd xmm1, xmm2
movsd qword [ebp - 0x48], xmm0
lahf
test ah, 0x44
jnp 0x430d74
movaps xmm0, xmm3
mulsd xmm0, qword [esi*8 + 0x4a52f0]
movsd qword [ebp - 0x68], xmm0
fld qword [ebp - 0x68]
movsd qword [ebp - 0x58], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__CIsinh
movsd xmm0, qword [ebp - 0x58]
fstp qword [ebp - 0x68]
divsd xmm0, qword [ebp - 0x68]
movsd xmm1, qword [0x4af118]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mulsd xmm0, qword [esi*8 + 0x4a5350]
xorps xmm2, xmm2
movsd xmm3, qword [ebp - 0x30]
addsd xmm0, qword [ebp - 0x48]
movsd qword [ebp - 0x48], xmm0
movsd xmm1, qword [esi*8 + 0x4a5290]
ucomisd xmm1, xmm2
lahf
test ah, 0x44
jnp 0x430dd5
movaps xmm0, xmm3
mulsd xmm0, qword [esi*8 + 0x4a5230]
movsd qword [ebp - 0x68], xmm0
fld qword [ebp - 0x68]
movsd qword [ebp - 0x58], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__CIcosh
movsd xmm0, qword [ebp - 0x58]
fstp qword [ebp - 0x68]
divsd xmm0, qword [ebp - 0x68]
movsd xmm1, qword [0x4af118]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mulsd xmm0, qword [esi*8 + 0x4a5290]
xorps xmm2, xmm2
addsd xmm0, qword [ebp - 0x48]
movsd qword [ebp - 0x48], xmm0
movsd xmm1, qword [esi*8 + 0x4a5110]
ucomisd xmm1, xmm2
lahf
test ah, 0x44
jnp 0x430e38
movsd xmm0, qword [ebp - 0x30]
mulsd xmm0, qword [esi*8 + 0x4a50b0]
movsd qword [ebp - 0x68], xmm0
fld qword [ebp - 0x68]
movsd qword [ebp - 0x58], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__CIcosh
movsd xmm0, qword [ebp - 0x58]
fstp qword [ebp - 0x68]
divsd xmm0, qword [ebp - 0x68]
movsd xmm1, qword [0x4af118]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mulsd xmm0, qword [esi*8 + 0x4a5110]
xorps xmm2, xmm2
addsd xmm0, qword [ebp - 0x48]
movsd qword [ebp - 0x48], xmm0
movsd xmm1, qword [esi*8 + 0x4a5170]
ucomisd xmm1, xmm2
lahf
test ah, 0x44
jnp 0x430e8d
mulsd xmm1, qword [ebp - 0x30]
movsd qword [ebp - 0x68], xmm1
fld qword [ebp - 0x68]
movsd qword [ebp - 0x58], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__CIsinh
movsd xmm0, qword [ebp - 0x58]
fstp qword [ebp - 0x68]
divsd xmm0, qword [ebp - 0x68]
movsd xmm1, qword [0x4af118]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mulsd xmm0, qword [esi*8 + 0x4a51d0]
xorps xmm2, xmm2
addsd xmm0, qword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
inc esi
movsd xmm3, qword [ebp - 0x30]
mulsd xmm0, qword [eax]
add eax, 8
mov dword [ebp - 0x14], eax
addsd xmm0, qword [ebp - 0x38]
movaps xmm4, xmm0
movsd qword [ebp - 0x38], xmm4
cmp esi, edi
jl 0x430d00
movsd xmm1, qword [0x4aeef0]
movsd xmm2, qword [ebp - 0x40]
subsd xmm4, xmm1
movsd xmm0, qword [ebp - 0x28]
addsd xmm2, xmm1
addsd xmm0, xmm1
movsd xmm1, qword [0x4af118]
addsd xmm4, qword [ebp - 0x50]
movsd qword [ebp - 0x40], xmm2
movsd qword [ebp - 0x58], xmm0
movaps xmm0, xmm2
movsd qword [ebp - 0x38], xmm4
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
movaps xmm1, xmm0
mov esi, dword [ebp - 8]
divsd xmm1, qword [ebp - 0x38]
mov eax, dword [ebx + 0x1c]
movsd xmm0, qword [ebx + 0x28]
mulsd xmm0, qword [0x4af7c0]
addsd xmm1, qword [ebp - 0x58]
divsd xmm0, qword [esi + 0x68]
divsd xmm1, qword [ebp - 0x60]
mulsd xmm0, xmm1
movsd qword [eax], xmm1
movsd xmm1, qword [0x4aed20]
mulsd xmm0, qword [ebp - 0x60]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mov eax, dword [ebx + 0x18]
movsd xmm1, qword [0x4af118]
movsd qword [eax], xmm0
movsd xmm0, qword [ebp - 0x40]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
movaps xmm4, xmm0
mov eax, dword [ebx + 0xc]
divsd xmm4, qword [ebp - 0x58]
mov ecx, esi
movsd xmm0, qword [0x4af7c0]
divsd xmm0, qword [ebp - 0x70]
addsd xmm4, qword [ebp - 0x38]
movsd xmm3, qword [ebp - 0x40]
divsd xmm3, qword [ebp - 0x58]
mulsd xmm4, xmm0
movsd xmm0, qword [0x4aeef0]
subsd xmm3, qword [0x4aeef0]
movsd xmm2, qword [ebx + 0x28]
movsd qword [eax], xmm4
mulsd xmm4, qword [ebp - 0x78]
mov eax, dword [ebx + 0x10]
movsd xmm1, qword [ebx + 0x20]
divsd xmm0, xmm4
mulsd xmm0, xmm3
movsd xmm3, qword [ebp - 0x60]
movsd qword [eax], xmm0
call fcn.0042fd40
mov eax, dword [ebx + 0x14]
pop edi
pop esi
movsd qword [eax], xmm0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x28