Function at 0x401c3c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x324
push 0x17
call fcn.0040d331
test eax, eax
je 0x401b5c
push 2
pop ecx
int 0x29
mov dword [0x414a30], eax
mov dword [0x414a2c], ecx
mov dword [0x414a28], edx
mov dword [0x414a24], ebx
mov dword [0x414a20], esi
mov dword [0x414a1c], edi
mov word [0x414a48], ss
mov word [0x414a3c], cs
mov word [0x414a18], ds
mov word [0x414a14], es
mov word [0x414a10], fs
mov word [0x414a0c], gs
pushfd
pop dword [0x414a40]
mov eax, dword [ebp]
mov dword [0x414a34], eax
mov eax, dword [ebp + 4]
mov dword [0x414a38], eax
lea eax, [ebp + 8]
mov dword [0x414a44], eax
mov eax, dword [ebp - 0x324]
mov dword [0x414980], 0x10001
mov eax, dword [0x414a38]
mov dword [0x41493c], eax
mov dword [0x414930], 0xc0000409
mov dword [0x414934], 1
mov dword [0x414940], 1
fdiv qword [edx + 0x63363300]
sub al, 0x20
jb 0x401c70
add byte [eax + 0x6c], dh
popal
arpl word [ecx + 0x6e], bp
and byte [bx + si], al
imul esi, dword [eax + 0x77], 0x20687469
add byte [esi + 0x65], ch
ja 0x401c42
arpl word [ecx + 0x74], sp
add byte gs:[edi + 0x6f], ah
jb 0x401ca4
das
jne 0x401c9e
add dword fs:[eax], eax
sub byte [ecx + 0x44], cl
cmp ah, byte [eax]
xor al, 0x30
add byte [edi], dh
xor al, 0x36
cmp byte ss:[ebp + 0x2d], ah
add byte fs:[ebx + 0x37], ah
add byte [ebx + 0x37], ah
sub eax, 0x64636534
sub eax, 0x33633800
xor ch, byte [0x313235]
xor al, 0x63
xor eax, 0x322f6500
xor ah, byte gs:[ecx + 0x37]
add byte [ebp + 0x65], ah
sub eax, 0x35643433
sub eax, 0x36313400
xor dword [0x376261], ebp
xor al, 0x31
xor dword ss:[0x376261], ebp
cmp dword [0x32363635], ebp
xor eax, 0x37330033
xor byte [esi + esi], dh
or ax, 0xa
xor dh, byte [eax]
xor dh, byte [edx]
sub eax, 0x2d3730
xor dh, byte [ecx]
and byte [edx], dh
xor dword [edx], edi
xor byte [ecx], bh
add byte [edx], bh
xor esi, dword [edi]
sub al, 0x20
dec ecx
outsb dx, byte [esi]
inc sp
outsd dx, dword [esi]
and byte [esi], cl
add byte [ebx + 0x42], al
push ebx
add dword [ebx], edx
dec ebp
or byte [ecx + 0x70], ah
jo 0x401cb5
mov dword [0x6946203a], eax
add byte [esi + 0x64], ch
and byte [eax + 0x61], dh
arpl word [ebx + 0x61], bp
and byte [edi + 0x65], ah
cmp ah, byte [eax]
push eax
add ecx, dword [eax]
pop edi
xor eax, dword [eax]
xor eax, 0x6f665f30
jb 0x401d34
dec ebx
add byte [edx + 0x32], al
cmp dword [ebx], esi
xor al, 0x30
xor dword [eax], edi
add byte [esi + 0x33], bh
xor dword [edx + 0x66], esp
xor edi, dword [eax]
xor eax, 0x64613600
xor esi, dword [esi]
xor al, 0x65
xor eax, dword [eax]
xor eax, 0x646d617e
xor al, 0x7e
add byte [esi + 0x36], bh
xor ebp, dword cs:[esi]
xor dword [esi], ebp
xor eax, 0x6e692000
and byte [ecx + 0x20], ah
js 0x401d25
imul esi, dword [ebx + 0x74], 0x77107d01
cmp dword [edx], esi
arpl word [eax], ax
jge 0x401d23
ja 0x401d4e
xor ah, byte [ebx]
xor dword [ecx], esi
xor al, 0x35
xor dword [0x30006264], ebp
arpl word [0x63353334], bp
sub eax, 0x63353334
xor esi, dword [0x61002d63]
xor eax, 0x662d6461
add byte ss:[ebp + 0x30], ah
xor eax, 0x61643366
sub eax, 0x61356100
sub eax, 0x663666
xor byte gs:[0x61643366], dh
xor byte [0x61643366], dh
add byte ss:[ebp + 0x2f], ah
xor dword gs:[ecx], edi
arpl word [esp], si
xor byte [eax + eax], dh
jb 0x401dab
xor eax, dword [eax + 0x10303489]
xor byte [eax], dl
sub eax, 0x643539
adc bh, byte [eax]
cmp dword [0x38120064], esi
add byte fs:[edx], dl
cmp byte [esi + 0x33], ah
mov al, 0x61
cmp word [edi + edi*2], si
mov cl, 0x48
xor si, word [eax + 0x34396661]
jg 0x401d11
dec eax
mov cl, 0x31
mov edi, 0x944bbf58
mov edi, 0x7f58bf58
mov cl, 0x7f
mov cl, 0x47
mov cl, 0x32
mov edi, 0x58bffd58
mov edi, 0x1f851f58
test dword [edi], ebx
test dword [edi], ebx
test eax, ecx
test edi, esi
pop ds
test dword [eax], esp
xchg byte [eax], al
test dword [ebx], esi
pop edi
sub al, 0x1f
test ecx, ebp
mov byte [0x1fff58bf], al
test dword [edi], ebx
test ebx, ecx
cmp bh, byte [edi - 0x4f]
jg 0x401d51
jg 0x401d53
test al, 0x2b
inc edx
add ebx, edi
pop edi
sub al, 0x43
sub al, 0x36
pop edi
pop edi
sub al, 0x5f
sub al, 0x5f
sub al, 0x7f
mov cl, 0x7f
mov cl, 0x7f
invalid