Function at 0x412000
Capabilities:
Encode data using xor

Disassembly:
dec ecx
push 0x1b13f2
pop edi
sub ebx, 0xfffffff2
mov edx, 0x59c
push 0x412020
pop ebx
xor dword [ebx + edx], edi
push 0x1b13f2
pop eax
sub edx, 3
dec edx
jne 0x412015
sbb ch, byte [esi + 0x1a]
add dl, dh
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
push edx
neg byte [edx]
push 0x52
adc eax, 0x1e2c001a
sbb al, byte [eax]
mov eax, dword [0x13f30819]
sbb eax, dword [eax]
cli
push ebx
pop ebx
add dh, cl
jns 0x4120a6
add byte [eax + edi*2], bl
pop ebx
add byte [edx - 0x37ffe4a8], cl
jns 0x412072
add byte [esi], bl
js 0x412076
add dl, bh
cmp eax, 0x79c8001b
sbb eax, dword [eax]
push ds
add al, cl
jns 0x41207e
add byte [esi], bl
js 0x412082
add dl, dh
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
adc ebx, dword [ebx]
sbb eax, dword [eax]
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
sbb eax, dword [eax]
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
sbb eax, dword [eax]
adc ebx, dword [ebx]
sbb eax, dword [eax]
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
add dl, dh
adc ebx, dword [ebx]
add byte [eax], al
add byte [eax], al
add byte [ecx - 0x6891968a], bh
add byte [eax], al
mov ecx, 0x976e6976
jg 0x4120d7
xor bl, ah
ja 0x41212a
insb byte es:[edi], dx
push esp
jle 0x41212c
cmpsb byte [esi], byte es:[edi]
jbe 0x412131
jo 0x41205f
jb 0x41212e
push 0x655c13b3
xchg byte [edi + 0x7e], al
insd dword es:[edi], dx
adc byte [ebp + 0x72], 0x6c
xchg edi, eax
pop ebp
jp 0x41213d
xchg edi, eax
push edx
sbb eax, dword [ebx - 0x80]
jbe 0x412151
je 0x412070
push ebp
jb 0x412148
xchg edi, eax
push edx
sbb edx, dword [edx - 0x69]
jb 0x412162
inc esi
wait
jg 0x412165
add byte [ebp - 0x688b8d9f], ah
xchg edi, eax
push ebp
jb 0x41215c
xchg edi, eax
adc ecx, dword [eax + 0x65]
xchg byte [ebp + 0x72], dl
insb byte es:[edi], dx
push ebp
jb 0x412164
xchg edi, eax
inc ebx
je 0x412165
pushfd
jle 0x412172
push eax
ja 0x412173
xor dword [esi + 0x53], 0x77779c61
push esp
jle 0x412184
cmpsb byte [esi], byte es:[edi]
jp 0x41218b
js 0x41217f
imul esi, dword [ecx - 0x79919184], 0x13
mov cl, 0x7c
outsb dx, byte [esi]
outsb dx, byte [esi]
xchg byte [ebx], dl
pop esp
xchg byte gs:[esi + 0x74], bl
xchg byte [esi + 0x74], bl
xchg dword fs:[edi + 0x7e], edi
inc esi
wait
jg 0x4121a5
dec esi
xchg ebx, eax
jle 0x4121a9
jle 0x41216d
inc ecx
push edx
pop edi
push esi
mov bl, 0x43
inc ebx
push edx
xor eax, eax
cmp eax, 0x139e6c7f
dec ecx
xchg ebp, eax
xchg ebp, eax
pop esp
imul esp, dword [ebp - 0x64], 0x58
jle 0x4121bd
mov bh, 0x6b
pop edx
add byte [eax - 0x78ae838a], ah
mov al, byte [0x87517c76]
jbe 0x4121b8
jns 0x4120f5
jb 0x4121ca
jne 0x4120ec
push esi
arpl word [ecx - 0xe], ax
inc ecx
jle 0x4121c3
mov cl, 0x7f
je 0x4121d3
xchg edi, eax
pop eax
jle 0x4121dd
inc eax
inc eax
je 0x4121ce
xchg byte [edx + edi*2 + 0x72], ah
xchg edi, eax
dec edi
push esi
imul edx, dword [ecx - 0x628c8b9f], 0xa55c6f75
je 0x4121e7
jae 0x412112
popfd
jne 0x4121e6
pop esp
movsd dword es:[edi], dword [esi]
jp 0x4121f0
popfd
push 0x6966b15c
jb 0x41211c
pop esp
mov cl, 0x66
imul esi, dword [edx - 0x69], 0x97566f7d
xchg edi, eax
jge 0x4121f6
push esi
xchg edi, eax
popal
push 0x477d9d69
inc ebp
mov ah, byte [ebx + 0x77]
outsd dx, dword [esi]
xor byte [esi + 0x69], 0
mov byte [0xf246555a], al
imul ebx, dword [ebp - 0x75bab883], 0x806f7763
jbe 0x412200
add byte [edx - 0xdb9aaa6], ah
pop edx
jne 0x412209
xchg byte [edx + 0x7a], bh
je 0x41213c
adc ecx, dword [esi - 0x75]
push ds
xchg edx, eax
ffreep st(0)
or al, 0xec
in al, 0x8b
aaa
nop
fild dword [ecx]
inc ebp
dec esp
mov ecx, edx
retf 0xc020
and al, al
sbb dword [0x3a459616], 0xffffff9e
lodsb al, byte [esi]
push ss
xchg esi, eax
inc ebp
cmp bl, byte [esi + 0x13f284ac]
sbb edx, dword [esi - 0x5b]
test dl, dh
adc ebx, dword [ebx]
push esi
movsd dword es:[edi], dword [esi]
inc ebx
ja 0x4121bf
adc ebx, dword [ebx]
test byte [edx], dh
jo 0x41222a
sbb eax, dword [edx + esi + 0x7f567067]
inc esi
push esi
jg 0x41221c
rcl dword [edx + 0x7f], cl
sahf
invalid
in al, dx
dec edx
call 0x5c3480
jbe 0x4121b9
outsd dx, dword [esi]
push ds
xchg esp, eax
nop
cmpsb byte [esi], byte es:[edi]
ror byte [esp + ebp*8], 0xe4
or dword [eax + 0x7f574d07], eax
add byte [edi], 0x4d
push edi
jg 0x41224c
push esi
rcl dword [eax + 0x7f], cl
xchg cl, bl
dec byte [0x44e849ec]
inc esp
adc bl, byte [ebx]
add byte [ecx - 0x35], bh
lahf
fild dword [edi - 0x4872b3cc]
fisttp dword [ebx - 0x73]
shl ebp, 1
xor al, 0x4c
lea esi, [edi + 0x678d4bdb]
shl ebp, 1
dec dword [0xf3d7f341]
adc ebx, dword [ebx]
test byte [edx], dh
or dword [bp - 0x5b], edx
xor ah, byte [edi + 9]
push esi
movsd dword es:[edi], dword [esi]
sahf
push esi
enter 0xffffffffffff9ea3, 0xffffffffffffff9e
ret 0xec0c
in al, 0x50
sbb bl, byte [edx - 0x670dffe6]
dec esp
or al, 0x79
ficomp word [eax]
push edi
cli
nop
fiadd dword [ebx + edi*2]
add al, byte [esi + ebx*2 - 0x57]
cwde
invalid
jns 0x4122a4
pop ss
mov ebp, dword [edi - 0x1d826fe5]
cwde
dec ebx
and byte [ecx + 0x19], bh
xchg edx, eax
or edi, dword [ecx + 0x56]
pop ss
mov esp, dword [edx - 0x93d67cd]
cwde
adc dword [ecx - 0xb3e847], ecx
loope 0x412206
jmp 0x4121f5
mov eax, dword [0xfa439217]
sahf
dec esp
sbb ah, byte [eax - 0x9ac1bbb]
lcall 0x5130, 0x5c7f0c58
movsb byte es:[edi], byte [esi]
in al, dx
dec eax
add al, 0x7b
push eax
or ecx, dword [ebp + 0x564b24b5]
or eax, 0xb1891f40
pop es
xchg esi, eax
push edi
mov dl, 0x41
dec ebp
jmp dword [ecx - 0x15bc6de9]