Function at 0x403ed0
Capabilities:
Encode data using xor
Execute command

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
push esi
push edi
mov edi, edx
mov edx, ecx
push 0x404210
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.004033d0
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
cmp dword [ebp + 8], esi
jle 0x4041be
mov ax, word [0x43a62c]
mov word [esp + 0x14], ax
test ah, ah
je 0x403f44
xor ebx, ebx
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [esp + ebx + 0x14], cl
inc ebx
cmp ebx, 2
jl 0x403f23
fld dword [edi + esi*8 + 4]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov ax, word [0x43a640]
add esp, 4
mov word [esp + 0x10], ax
fstp dword [esp + 0x18]
test ah, ah
je 0x403f91
xor ebx, ebx
nop dword [eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [esp + ebx + 0x10], cl
inc ebx
cmp ebx, 2
jl 0x403f70
fld dword [edi + esi*8]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov eax, dword [0x43a630]
add esp, 4
mov dword [esp + 0x20], eax
mov ax, word [0x43a634]
mov word [esp + 0x24], ax
fstp dword [esp + 0x1c]
test ah, ah
je 0x403fe1
xor ebx, ebx
nop
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 6
jl 0x403fc0
cmp byte [0x43a63f], 0
mov eax, dword [str.tBTU_O]
mov ecx, dword [0x43a63c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
je 0x404134
xor ebx, ebx
cmp dword [0x4598cc], 2
jl 0x404113
movaps xmm2, xmmword [0x43f190]
mov edx, 5
movaps xmm3, xmmword [0x43f5b0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm4, edx
psrad xmm1, xmm4
mov edx, 0x1f
movaps xmm0, xmm1
movd xmm5, edx
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x43f1e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x43f1a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43f200]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x43f220]
movd xmm0, eax
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x28], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm4
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x43f1e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43f200]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x43f220]
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [esp + 0x2c], xmm1
jmp 0x404134
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 8
jl 0x404113
movss xmm0, dword [esp + 0x18]
lea edx, [esp + 0x28]
push 0x404210
sub esp, 8
inc esi
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x28]
movss dword [esp], xmm0
push esi
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.004033d0
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push ecx
lea edx, [esp + 0x30]
mov ecx, eax
call fcn.004033d0
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
push ecx
lea edx, [esp + 0x1c]
mov ecx, eax
call fcn.004033d0
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
push ecx
lea edx, [esp + 0x1c]
mov ecx, eax
call fcn.004033d0
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
cmp esi, dword [ebp + 8]
jl 0x403f12
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x43a624
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret