Function at 0x1011a900
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, 0x10
movsd xmm0, qword [ebx + 0x10]
ucomisd xmm0, qword [0x1041f140]
push esi
mov esi, ecx
push edi
mov edi, edx
mov dword [ebp - 8], esi
lahf
test ah, 0x44
jnp 0x1011aaf8
ucomisd xmm0, qword [0x1041f260]
lahf
test ah, 0x44
jnp 0x1011aaf8
xorps xmm5, xmm5
ucomisd xmm0, xmm5
lahf
test ah, 0x44
jp 0x1011a975
sub esp, 8
movsd qword [esp], xmm0
push str._.14gx0p0
push edi
call fcn.1008b300
mov ecx, eax
mov dword [ebp - 4], ecx
jmp 0x1011ab10
lea eax, [ebp - 4]
push eax
sub esp, 8
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_frexp]
fstp qword [ebp - 0x10]
movsd xmm4, qword [ebp - 0x10]
xorps xmm5, xmm5
add esp, 0xc
xor esi, esi
comisd xmm5, xmm4
jbe 0x1011a9ac
xorps xmm4, xmmword [0x1041f470]
mov esi, 1
mov byte [edi], 0x2d
movsd xmm2, qword [0x1041f158]
addsd xmm4, xmm4
movsd xmm1, qword [0x1041f018]
mov eax, 0x30
mov edx, 0x57
mov word [esi + edi], 0x7830
andps xmm2, xmm4
movaps xmm0, xmm4
xorps xmm0, xmm2
movaps xmm3, xmm4
cmpltsd xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm3, xmm1
subsd xmm3, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm3
subsd xmm0, xmm4
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm3, xmm0
cvttsd2si ecx, xmm3
subsd xmm4, xmm3
cmp ecx, 0xa
cmovge eax, edx
add al, cl
mov byte [esi + edi + 2], al
add esi, 3
mov eax, dword [ebp - 4]
dec eax
movsd qword [ebp - 0x10], xmm4
comisd xmm4, xmm5
mov dword [ebp - 4], eax
jbe 0x1011aadb
call dword [sym.imp.api_ms_win_crt_locale_l1_1_0.dll_localeconv]
movsd xmm6, qword [0x1041eea0]
xorps xmm5, xmm5
movsd xmm4, qword [ebp - 0x10]
mov edx, 0x57
movsd xmm7, qword [0x1041f158]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [esi + edi], al
inc esi
nop dword [eax]
nop word [eax + eax]
movsd xmm1, qword [0x1041f018]
movaps xmm2, xmm7
mulsd xmm4, xmm6
mov eax, 0x30
andps xmm2, xmm4
movaps xmm0, xmm4
xorps xmm0, xmm2
movaps xmm3, xmm4
cmpltsd xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm3, xmm1
subsd xmm3, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm3
subsd xmm0, xmm4
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm3, xmm0
cvttsd2si ecx, xmm3
subsd xmm4, xmm3
cmp ecx, 0xa
cmovge eax, edx
add al, cl
mov byte [esi + edi], al
inc esi
comisd xmm4, xmm5
ja 0x1011aa70
mov eax, dword [ebp - 4]
push eax
lea eax, [esi + edi]
push str.p_d
push eax
call fcn.1008b300
add esp, 0xc
lea ecx, [esi + eax]
mov esi, dword [ebp - 8]
mov dword [ebp - 4], ecx
jmp 0x1011ab13
sub esp, 8
movsd qword [esp], xmm0
push str._.14g
push edi
call fcn.1008b300
mov ecx, eax
mov dword [ebp - 4], eax
add esp, 0x10
mov eax, dword [ebx + 0xc]
mov al, byte [eax + 1]
cmp al, 0x41
jne 0x1011ab47
xor esi, esi
test ecx, ecx
jle 0x1011ab3c
movzx eax, byte [esi + edi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov ecx, dword [ebp - 4]
add esp, 4
mov byte [esi + edi], al
inc esi
cmp esi, ecx
jl 0x1011ab23
pop edi
mov eax, ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
cmp al, 0x61
je 0x1011ab3c
push str.modifiers_for_format___a___A_not_implemented
push esi
call fcn.100f7da0
int3