Function at 0x10058d9e
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
sub esp, 0xc
xor eax, eax
test ecx, ecx
pushfd
test byte [0x10058ea7], 0x34
jne 0x10058ea8
in al, dx
or al, 0x33
rol byte [ebp + 0x5f69cc9], 0xa7
mov es, word [0x850f3410]
out dx, eax
xor al, 0xf
test edi, ebp
add byte [eax], al
add dh, ch
out dx, al
out dx, al
xor eax, 0xe3006cdf
insb byte es:[edi], dx
add bl, ah
scasb al, byte es:[edi]
bound ecx, qword [esi - 0x1cdba489]
scasb al, byte es:[edi]
dec esi
mov ebp, 0x5014ddb3
sbb dword [edi + 0x315eaf64], esp
daa
jnp 0x10058da5
cdq
jb 0x10058db2
pop esp
mov al, byte [0x37e99e20]
sbb dword [ecx - 0x30], esi
rcr byte [edi + 0x18b8c95], 1
insb byte es:[edi], dx
mov byte [eax + 0x24], cl
movsd dword es:[edi], dword [esi]
pushal
jb 0x10058dbd
or ebp, edx
fdivrp st(5)
pop ds
pop ss
maxps xmm3, xmmword [edi]
or edi, dword [ebx - 0x4babddba]
push 0x22
mov eax, ds
jb 0x10058da6
aaa
adc ebp, esp
aad 0x6a
popal
fiadd dword [ebx]
add byte [0x6d103a5e], ch
push ecx
jns 0x10058e5b
jb 0x10058e48
dec ebp
das
cmp dword [ebp + 7], edi
cmc
ffreep st(7)
and al, 0x4c
cdq
jge 0x10058e5f
invalid
push ecx
fnstsw word [edi - 0x1d]
xchg edi, eax
int1
sti
test dword [edx], edx
add dl, byte [edx - 0x227b1102]
mov eax, dword [0x47ad8a60]
xchg edx, eax
add ebp, dword [edi]
push es
cmp dh, bl
pushfd
dec ecx
jns 0x10058e9d
rcr cl, 1
out 0x7e, eax
jecxz 0x10058e86
invalid
jle 0x10058e2d
cmp esi, edx
xchg edx, eax
xchg edx, eax
lds edi, [eax]
rcl bh, 1
clc
cmp cl, dl
cmpsd dword [esi], dword es:[edi]
sar dword [esi - 0x62172282], cl
out 0x9e, eax
add eax, 0xa1026080
or edx, dword [eax - 4]
pushfd
pushal
add ah, byte [ecx - 0x6303aff5]
pop edx
aas
jb 0x10058e2b
jg 0x10058ee1
dec ebx
push ebp
inc esp
cmpsb byte [esi], byte es:[edi]
jbe 0x10058e21
sub dword [eax - 0x29b99275], esp
xchg ebp, eax
jns 0x10058e46
fld dword [eax]
enter 0x2be8, 0xfffffffffffffffa
sub edi, edx
pop ss
xchg byte [ebp - 0x4a], al
xor al, 0xcc
mov bh, 0x83
pop ds
mov ecx, 0x106868ef
jecxz 0x10058e7f
int3
push eax
adc al, ah
dec ebp
sub edx, ebx
adc al, 0xe4
mov dword [0x640d30f0], eax
dec edx
dec edx
daa
daa
mov edx, 0xbaf6c457
inc edx
out dx, al
popfd
je 0x100590a1
cmp ecx, 0x9249249
pushfd
test byte [0x10058ef9], 0x7f
jne 0x10058efa
cmp edx, dword [edx + 0x1b779eca]
add bh, byte [edx]
stc
test ebp, esp
pop eax
inc ebx
pop dword [edi - 0x649e0876]
mov dh, bh
popal
wait
aad 0x30
fcompi st(4)
xor esp, ebx
cmpsd dword [esi], dword es:[edi]
jle 0x10058e97
sbb byte [ebp + 0x12dd5838], 6
push es
bound esi, qword ss:[ecx]
sub ah, byte [edx + ebx*2 + 0x2b]
fmul st(2), st(0)
mov ebx, 0x18fe350f
stosb byte es:[edi], al
push edx
in al, dx
pop ebp
pop ebp
mov dword [0x681a0f73], eax
popfd
ja 0x10059032
imul ecx, ecx, 0x1c
push ecx
call fcn.1011dfda
pop ecx
test eax, eax
pushfd
test byte [0x10058f2e], 0x81
jne 0x1005902f
sbb ah, dl
cdq
scasd eax, dword es:[edi]
pop eax
push esi
adc dh, ch
or eax, 0x699cc00a
cwde
test dword [ecx - 0x24fe97d9], edx
out 0xc0, al
cmc
dec ebx
add ebp, dword [ecx + 0x5abd2f5]
adc ch, byte [esi - 0x60]
mov ebx, 0x3a3a58d4
jl 0x10058f82
ja 0x10058ece
sub esp, dword [ebp - 0x4d219208]
cmp eax, 0x6632b647
sbb dh, byte [ecx*4 - 0x5a7a9cca]
bound ebx, qword [esi - 0x4c7cede9]
das
push ecx
cmp al, 0x5e
mov esi, 0xe2aabe04
xor ah, byte [eax + 0x2bef09b7]
dec esp
salc
aad 0x6f
or byte [esi + 0x31], cl
mov cl, 0x79
movsd dword es:[edi], dword [esi]
xchg esi, eax
push edi
pop ebx
push 0x2c6cfe97
or bh, bh
lodsb al, byte [esi]
push cs
inc edi
inc edx
pop esi
and eax, 0x8fad2371
mov al, 0xa
pushal
clc
fdiv st(6)
rcl eax, 1
sub ecx, dword [edx]
pop esi
mov ecx, 0x7eeff142
call 0x642aa89c
xor byte [eax - 0x63070a37], ch
adc al, 0x4a
sub ah, al
mov eax, 0x62fda887
sub byte [ebx - 0x4349d849], 0x12
cmp byte [ecx + 0x5e], al
jbe 0x10058f58
mov ecx, 0xdd051d64
mov edi, 0xbb83e1ca
dec ebp
mov bl, 0xb0
arpl sp, di
add eax, 0x6735747e
stosb byte es:[edi], al
jle 0x10059011
sub dword [esi - 0x5d1437ba], ebx
pop edi
imul edx, dword [edi - 0x63], 0x68b7afaf
or eax, 0x590d1139
add ax, 0x2fa2
mov edx, 0xe5567957
sti
mov byte [0x7957ba2f], al
push esi
in eax, 0xfb
stc
pop edx
into
adc ebx, eax
fsub st(7)
adc dword [edi - 0x3e], edi
adc byte [esi - 1], bl
or ebp, dword [edi + 0x6e]
aad 0x92
push 0x59
pop es
cdq
mov es, word [ecx - 3]
dec eax
in al, 0xbd
out dx, eax
pop ss
sub ch, byte fs:[esi + 0x2fea454f]
and eax, 0xce7b2965
mov edx, 0xeceeb12d
adc eax, 0x7037322e
sub al, 0xc9
sti
push eax
je 0x10058fe8
dec edi
inc ebp
ljmp 0xce7b
mov al, byte [0x4fe119dc]
popfd
jne 0x100590a1
and dword [ebp + 8], 0
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xc]
pushfd
test byte [0x10059085], 0x25
jne 0x10059086
xchg ebp, eax
cmp byte [ecx - 0x69], dl
sub eax, 0xf0f5b288
inc ecx
sbb ebp, dword [ecx - 0x2d]
xchg byte [ecx + ebp*8 - 0x79c10f4b], cl
out dx, eax
sbb ah, byte [ebp - 7]
mov ebp, 0xe0bf7a7c
rol byte [eax + 0x51], cl
sbb eax, 0x8c02aa48
jne 0x10059084
mov esp, 0x3d25c2d2
aam 0x1b
sti
add bl, byte [ecx + eax*4]
and dword [ebx - 0x3f], ecx
push edi
sub al, 0xaf
fistp qword [0xdf4a070d]
pop esp
fistp word [ebp + ebx*4 - 0x18]
mov byte [0x68000c30], al
adc byte [edi + 0x458d1016], ch
hlt
popfd
call fcn.1011c12e
push 0x1016af10
lea eax, [ebp - 0xc]
push eax
mov dword [ebp - 0xc], vtable.std::bad_alloc.0
call fcn.1011e05a
leave
ret