Function at 0x10033612
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x478
mov eax, dword [0x10170c30]
xor eax, ebp
pushfd
test byte [0x10033719], 0xe5
jne 0x1003371a
add byte [eax], al
add byte [ebx], bl
add dword [esi + 0x1567e433], ebx
stosd dword es:[edi], eax
in eax, 0xf
outsb dx, byte [esi]
sbb eax, dword [ecx]
sahf
xor esp, esp
adc eax, 0x6e0fe5ab
insb byte es:[edi], dx
sti
dec eax
mov edi, 0x9279a275
mov ch, 1
cmp cl, cl
mov dl, 0xef
loopne 0x1003362d
adc eax, 0xc297ff81
movsd dword es:[edi], dword [esi]
aaa
sbb bh, 0x1c
aad 0x37
int3
push es
cmp esp, dword [0x2a511a8a]
push ds
out 0xef, al
ja 0x1003371d
in eax, dx
stosb byte es:[edi], al
push esp
or ecx, ebp
mov al, byte [0x5cc0e876]
xchg edx, eax
sbb byte [edi - 0x5d6f19e8], ah
add eax, 0x804500ac
cwde
js 0x1003370c
imul byte [edi + 0x45ce9203]
pop ss
dec ebx
dec edi
pmaxub mm3, qword [edx - 0x65660340]
pop ds
das
cmp al, dl
mov ecx, 0xa5030196
inc ebp
pop ss
int1
or al, 0xf8
jge 0x100336d9
fnstcw word cs:[edx - 0x39b6ce54]
add ch, bl
dec ecx
mov byte [eax], 0xdd
mov ecx, 0x73a4032d
pop edx
sub esi, eax
cmp al, 0xa4
or byte [edx - 0x54], ch
pop ebp
mov ecx, 0x8d7ab9b9
outsd dx, dword [esi]
std
xor ch, byte [edx - 0x414a1119]
push ds
inc edi
std
add esp, dword [edi - 0x57]
test byte [edi], 0xcb
jno 0x10033698
push esi
outsb dx, byte [esi]
add dword [edx + 0x553afc68], 0xffffffb2
stosb byte es:[edi], al
push edi
in eax, dx
popfd
mov dword [ebp - 4], eax
cld
push ebx
push esi
and dword [ebp - 0x30], 0
push edi
push 8
mov ebx, ecx
pop ecx
lea esi, [ebp + 8]
pushfd
test byte [0x100337ee], 0xda
je 0x100337ef
mov edi, 0x91937b96
adc dh, byte [ebx]
mov dl, 0x5b
in al, dx
xchg esp, eax
mov dword [0xe84e3412], eax
mov bh, 0xc9
test eax, 0xe4b6186f
rol eax, cl
sub esp, 0x56
shr dword [ebp + 0x1a], 1
adc byte [0xb24a61e9], ch
jne 0x100336e4
pop edx
in eax, dx
inc esi
mov al, byte [0xe9caa0fd]
lds esp, [eax + ecx*4]
dec edx
bound ebx, qword [ebx - 0x55d36413]
nop
dec ebp
mov ecx, 0x5e4bad63
push ebp
pushal
and dword [ebp + 0x36], 0x1817aa6d
sbb byte [edi + 0x7886badd], 0x22
movzx esp, byte [0x4b42ed19]
rol byte [ebx - 0x38], 1
mov edi, 0x739ddf4e
clc
add byte [edx + 0x65b30ff4], 0xf2
pushal
xor byte [edi], 0x45
xchg dword [esi - 0x1c], eax
std
sbb byte [ebx + 0x191f7aa1], bh
cmpsb byte [esi], byte es:[edi]
adc eax, 0x25cf051d
test eax, 0xbda9f263
das
or dword [edx - 0x18], ecx
xchg byte [ebx], cl
int 0xc7
push ss
imul esi, ebx, 0x7b15f7a2
sbb al, 0xc9
cmp dh, byte [esi + ebx]
movsd dword es:[edi], dword [esi]
mov bh, 0x9b
push ebx
jmp [edi + 0x1b]
popfd
lea edi, [ebp - 0x478]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x454]
pushfd
test byte [0x100338aa], 0x1d
jne 0x100338ab
push ds
xor eax, 0xf4b4604d
in al, 0x21
and al, byte [esi + 0x57]
jo 0x100337d0
sbb al, 0x6c
mov dword ss:[0x21bd690b], eax
scasb al, byte es:[edi]
rcl cl, 0x33
in al, dx
inc ebx
aad 0x37
add eax, 0x77820397
sub al, 0x74
cmp ch, byte [esi]
or esi, dword [esi]
psraw mm2, qword [0x5d48fe27]
mov dword [0x921f80b0], eax
push 0x24
push esp
and eax, 0x23c8f3d3
cli
dec ecx
sub eax, 0xbc8d036a
out dx, al
add byte [eax + 0x40], dl
mov esp, 0x405000ee
push ss
add al, byte [eax + 0x50]
add dword [edx], eax
xor ebp, edx
or al, 0xc7
into
cmpsb byte [esi], byte es:[edi]
mov cl, 0x3e
fbstp tbyte [esi + edi + 0x6b]
or al, 8
sbb dword [edx + ecx*8], edx
ficomp dword [ecx]
enter 0xffffffffffffde4b, 0x55
pop es
xchg edx, eax
popal
mov ebp, 0xe4e0728c
cmp eax, 0xe237d834
mov ecx, 0x15ca25a
imul edx, dword [edx + 0x76b9f4ff], 0x3da8e7bf
adc dword [edi], ebx
mov cl, 0x35
out 0xa8, eax
cmp eax, 0x35b11f11
inc eax
lea edi, [ebx - 0x7a71df20]
push cs
aaa
or ah, byte [esi]
pop ds
adc dword [ebx + 0x10841595], edx
in al, dx
pop es
cmp ecx, dword [eax + 0x1928db89]
das
popfd
movsb byte es:[edi], byte [esi]
pushfd
test byte [0x1003396b], 0x71
jne 0x1003396c
loop 0x1003384e
sal byte [ebx + 0x15], 0xa9
push ss
adc dword [edi + ecx - 0x606f22cd], ebp
pushfd
call 0x19155f89
sbb dword [ebx - 0x3a6c9e20], ebx
mov esi, dword [edx]
xor dword [esi - 0x6d], esi
fdivr qword [ebp - 0x42]
pop ds
pop edi
sub ecx, 0x4af37151
lahf
sbb byte [edx + 0x5b], al
push cs
jl 0x10033889
jns 0x10033962
mov esi, 0x2697fc38
dec eax
mov esi, 0xfc8e9209
cmp edx, dword [esi + ebx*4 - 0x7c3325d9]
sub byte [eax], 0x5d
jbe 0x10033955
sub byte [ebp + 0x76], bl
dec edi
test dword [eax + 0x5d397ff4], ebx
cmp ah, byte [ebp - 0x19]
sbb dword [0x4a975cc5], esp
stc
xlatb
sbb eax, 0xe8713c82
xor esp, eax
adc byte [eax - 0xccfb8a9], dh
cmp al, 0x71
call 0xc013fd51
push edi
inc edi
xor bl, dh
push ecx
lodsd eax, dword [esi]
stosd dword es:[edi], eax
dec edi
push ebx
inc ecx
push es
mov ebp, 0x7dd69450
jne 0x100338e7
ja 0x10033989
dec edx
mov eax, 0x2b0aa2ee
sbb ebx, ebp
cmpsb byte [esi], byte es:[edi]
pushal
fidivr dword [edx + 0x12]
dec ecx
imul dword [esi + 0x61]
mov bl, 0xe7
je 0x100339c1
mov byte [edx], 0x46
aad 0xc5
out 0x4b, eax
int 0xe3
jge 0x10033902
loop 0x10033919
ret
xor al, 0xbe
in al, dx
shl cl, 0xac
push edx
or byte [esi + 0x6c], ah
ror dword [eax + 0xde1eedd], 1
mov ch, bl
out dx, al
loope 0x10033974
cmp al, 0x6f
popal
test al, 3
popfd
push eax
push dword [ebp - 0x46c]
xor esi, esi
mov ecx, ebx
inc esi
pushfd
test byte [0x10033999], 0x5a
jne 0x10033a9a
aad 0xf7
imul esp, dword [eax - 0x2ed82c2f], 0xffffffc7
outsd dx, dword [esi]
and esp, esp
pop edi
mov ebx, 0xb85cef44
dec eax
sub dword [ecx], eax
fist word [esi]
sbb esi, dword [ebx]
sub eax, 0xc4cf1103
xor byte [ebx], ah
push ebx
cmp ebx, dword [ebp - 0x2e]
in al, dx
xchg edx, eax
dec esp
mov byte [ebx], cl
enter 0xffffffffffffc7bf, 0x46
lahf
mov al, 0xb
inc esp
into
adc dword [esi + 0x52aa39fc], 0xffffff92
xchg edx, eax
xchg ecx, eax
mov bh, 9
xor byte fs:[esp + ebx*2 - 0x5e215f5b], al
dec edx
xor cl, dl
jno 0x100339cd
cdq
add dword [edi], 0x9dc178e5
fucomi st(6)
sti
push ds
pop ebp
in al, dx
mov ebx, 0xea40e78
push cs
push edi
mov cl, 0xc7
aaa
and al, 0xbe
cwde
and al, 0x45
lodsd eax, dword [esi]
salc
pop edx
or eax, 0x74645e57
cdq
cmp byte [ebp - 0xe], dh
sal dword [ecx], 1
arpl word [ebp + 0x42], sp
sbb ebp, dword [edi + 0x1a]
cmp bl, bh
inc ebx
xchg ebp, eax
cmp al, 0x77
daa
xchg edx, eax
jns 0x10033a40
cmc
push ecx
xor dword [0xc9cb50c4], edx
push ss
salc
xor cl, byte [eax]
movsb byte es:[edi], byte [esi]
sub esi, dword [eax*4 + 0x309c8f7]
test eax, 0x798ee306
out 0xe0, eax
xchg ebx, eax
xor al, 0xb7
insd dword es:[edi], dx
sbb al, al
mov ebp, 0x8abc8593
or dword [esi], ebx
idiv byte [ebx - 0x48b952f6]
std
fld qword [edi + esi*4 + 0x26]
jle 0x100339e4
rcr dword [esi + eax*4 + 0x55af313], 0x17
dec esi
fisubr word [edx - 0x645550b5]
cmpsb byte [esi], byte es:[edi]
push ebp
pop esp
dec eax
stc
stosd dword es:[edi], eax
inc edx
out 0x4e, al
and al, 0xee
js 0x10033a53
cmc
std
fadd qword [esi - 0x14db7a]
fadd dword [ecx + ecx*2 + 0x4a919f7d]
insd dword es:[edi], dx
nop
sbb eax, 0xd69a4c41
push es
mov edx, 0x832acc1a
cmp ebx, dword [ebx + 0x74]
sbb al, 0x77
sbb edx, esp
in al, 0xe1
fidiv dword [edx]
in al, 0xe4
adc cl, byte [ecx + esi - 0x1dfcc110]
jge 0x10033a9f
dec esp
lcall 0x2acc, 0x1aba06d6
cmp dword [ebx], 0x5b
je 0x10033a99
ja 0x10033a98
loop 0x10033a65
loope 0x10033a5d
xor ah, ah
in al, 0x12
invalid
mov dl, byte [edx + 0x16]
cmc
scasb al, byte es:[edi]
inc ebp
xor ebp, dword [edx]
mov bh, 0x53
push ebx
popfd
mov dword [ebp - 0x450], 0x10001
call fcn.1000df60
test eax, eax
je 0x10033c63
invalid
cmp dword [ebp - 0x470], 0
jne 0x10033c6a
mov eax, dword [ebp - 0x443]
dec eax
pushfd
test byte [0x10033b28], 0xbf
jne 0x10033b29
jns 0x10033a70
mov edi, 0x8e96f1bb
popal
push edi
inc esi
in al, dx
adc dword [esi + 0x20], esp
fsubr qword [edx - 0x198a59ef]
mov bh, 0x13
and bl, ah
inc eax
pop ss
adc byte [eax], ah
lodsb al, byte [esi]
test eax, 0xe3091bca
call 0xef710839
stosd dword es:[edi], eax
dec esi
jecxz 0x10033afc
sbb word [edx], si
sbb dword [edx], esi
and al, 0x6e
aas
mov byte [edx + 0x5013b7df], bh
lds ebx, [edx - 0x4a]
push si
adc edx, dword [eax - 0x3b]
pop edx
mov dh, 0x66
push esi
push esi
sub ch, byte [edx + 0x3b]
pop ebx
inc ebp
xor bh, byte [esp]
lahf
rol byte [ebx - 0x319743f8], 1
cmp byte [edx + 0x1e], bl
push es
dec ebp
enter 0x633b, 0xffffffffffffff91
pop eax
fadd qword [edx - 0x16]
popfd
je 0x10033c67
sub eax, 0x10
je 0x10033c6a
pushfd
test byte [0x10033b99], 0x3a
jne 0x10033b9a
in al, dx
je 0x10033b05
fbstp tbyte [esi]
jnp 0x10033bb5
jo 0x10033b15
call 0x8729cc5e
salc
stosb byte es:[edi], al
cmpsb byte [esi], byte es:[edi]
cmp al, byte [eax]
inc esi
sahf
pop esi
xchg ebp, eax
test byte [esi + 0x464c8160], dl
and al, 0x92
xor byte es:[0xd689d301], bl
salc
fldcw word [edx + 0x41ef233c]
stosb byte es:[edi], al
cmp al, 0x23
out dx, eax
inc ecx
or dword [ecx - 0x28], esp
int3
movsd dword es:[edi], dword [esi]
sub dword [eax - 0x55], ebx
in al, dx
mov eax, 0xbee848eb
cmc
dec ecx
into
mov dh, 0xe7
mov ebp, ebp
inc esp
test dh, 6
sub al, byte [ecx + 0x21]
sub byte [ebx + eax*2 - 0x197b2415], 0x1d
pop es
xchg ebx, eax
movsd dword es:[edi], dword [esi]
pop ebx
jb 0x10033b6b
popfd
sub eax, 0xa
pushfd
test byte [0x10033c5f], 0xce
jne 0x10033c60
js 0x10033b74
adc esp, dword [edi]
int3
cmp al, 0xfd
mov dh, 0x7b
test eax, 0x569aae3d
sbb edx, dword [0xc75d6d6d]
pushal
pop ebp
mov al, byte [0x58671bf0]
xchg ebp, eax
cdq
sbb eax, 0x89904c6c
jg 0x10033bf4
mov dword [esi], ecx
dec ebp
div dword [edi + 0x31]
mov dh, 0x61
xchg ecx, eax
sub dword [edx], ecx
jnp 0x10033c17
jnp 0x10033c10
pop esi
xchg dword [edx], ecx
mov edx, dword [ebx]
sub byte [edi + ecx*4 + 0x68], bl
sbb ecx, dword [eax - 0x69a1dc88]
test dword [ecx + 0x73], 0x50b6072e
dec ecx
jae 0x10033c25
pop es
mov dh, 0x50
lodsb al, byte [esi]
xor edi, dword [edi - 0x6763a6eb]
mov ah, 0xc5
out dx, al
movsd dword es:[edi], dword [esi]
dec ebp
outsb dx, byte [esi]
stosd dword es:[edi], eax
xchg ecx, eax
cld
jno 0x10033c34
mov ebx, 0x8b3ed203
mov esi, 0xfcc60e8b
mov edi, dword ds:[esi - 0x339f175]
mov esi, 0x7b5027db
sub cl, bh
insd dword es:[edi], dx
push 0x10
xchg dword [ebx - 0x57], ecx
jne 0x10033c88
bound eax, qword [eax - 0x48b4d59c]
and byte [edx + ebp + 0x4b], 0xb7
sub al, 0xd4
xor dword [ebx + 0x528031af], ebx
setb byte [edi - 0x1c]
in al, dx
xchg edx, eax
pop edi
in al, 0xec
mov ebx, fs
sub cl, byte [ebp - 0x514574c8]
lodsb al, byte [esi]
fstp xword [esi - 0x10385bc8]
les esp, [edx - 0xaa10e96]
mov ch, 0xb8
push ds
xchg esp, eax
cmc
not byte [edx - 0x73b32f02]
shl byte [esi - 0xfcde9b5], 0x7c
popfd
je 0x10033c67
xor esi, esi
jmp 0x10033c6a
mov dword [ebx + 4], esi
cmp dword [ebp - 0x467], 0
je 0x10033c7f
push dword [ebp - 0x467]
call fcn.1011bd3a
pop ecx
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.1011e48a
leave
ret 0x24