Function at 0x421810
Capabilities:
Encode data using xor

Disassembly:
xor edi, edi
mov eax, dword [0x43d818]
mov ecx, 0x829edc9e
xor ecx, dword [0x43d820]
add eax, ecx
inc eax
jmp eax
movzx edx, byte [ecx]
test dl, dl
je 0x40b212
mov dh, byte [eax]
test dh, dh
je 0x40b210
inc eax
inc ecx
lea esi, [edi + 1]
cmp dh, dl
je 0x40b2e2
mov edi, esi
mov eax, esi
je 0x40b2c0
lea ecx, [esp + 0x1c]
jmp 0x40b2c0
mov dword [0x443664], eax
push 0xe65107ac
out 0xff, al
xor eax, 0x44367c
out 0xff, al
xor eax, 0x44367c
call fcn.00439550
add esp, 8
mov dword [0x443668], eax
push 0x693bbf0d
push dword [0x44367c]
call fcn.00439550
add esp, 8
mov dword [0x443644], esi
push 0x55af6b06
push dword [0x44367c]
call fcn.00439550
add esp, 8
mov dword [0x443648], eax
push 0xc76d1f5a
push dword [0x44367c]
call fcn.00439550
add esp, 8
mov dword [0x44364c], eax
push 0x28d5fbcf
push dword [0x44367c]
call fcn.00439550
add esp, 8
mov dword [0x443650], eax
push 0x27cd69b9
push dword [0x44367c]
call fcn.00439550
outsd dx, dword [esi]
fild word [edx]
add byte [ebx + 0x54a308c4], al
inc esp
add byte [eax + 0x38], ch
and eax, 0x35ff3133
jl 0x40b628
inc esp
add al, ch
push edi
fild word [edx]
add byte [ebx + 0x58a308c4], al
inc esp
inc esp
add byte [eax + 0x7d], ch
cli
imul ecx, dword [esi + 0x367c35ff], 0x3fe80044
fild word [edx]
add byte [ebx + 0x5ca308c4], al
inc esp
add byte [eax + 0x6a], ch
mov cl, 0xdd
aad 0xff
xor eax, 0x44367c
outsd dx, dword [esi]
fild word [edx]
add byte [ebx + 0x54a308c4], al
inc esp
add byte [eax + 0x38], ch
and eax, 0x35ff3133
jl 0x40b628
inc esp
add al, ch
push edi
fild word [edx]
add byte [ebx + 0x58a308c4], al
inc esp
inc esp
inc esp
add byte [eax + 0x7d], ch
cli
imul ecx, dword [esi + 0x367c35ff], 0x3fe80044
fild word [edx]
add byte [ebx + 0x5ca308c4], al
inc esp
add byte [eax + 0x6a], ch
mov cl, 0xdd
aad 0xff
xor eax, 0x44367c
call fcn.00439550
add byte [ebx + 0x60a308c4], al
inc esp
add byte [eax - 0x53], ch
movsd dword es:[edi], dword [esi]
and eax, 0x7c35ff17
add esp, 8
mov dword [0x443660], eax
push 0x1725a5ad
push dword [0x44367c]
inc esp
add al, ch
pandn mm0, qword [edx]
invalid
add esp, 8
les ecx, [eax]
inc esp
add al, ch
pandn mm0, qword [edx]
add byte [ebx + 0x64a308c4], al
les ecx, [eax]
mov dword [0x443664], eax
push 0xe65107ac
push dword [0x44367c]
les ecx, [eax]
mov dword [0x443664], eax
push 0xe65107ac
push dword [0x44367c]
call fcn.00439550
add esp, 8
mov dword [0x443668], eax
push 0x693bbf0d
push dword [0x44367c]
call fcn.00439550
add esp, 8
mov ecx, dword [0x43d748]
mov edx, 0xbc9b67a0
xor edx, dword [0x43d74c]
add ecx, edx
inc ecx
jmp ecx
int3
and al, 0x1c
mov dh, 0xeb
std
loopne 0x40b790
add byte [eax], al
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x14c0
call fcn.00408df0
push eax
sub esp, 0x10
mov dword [ebp - 0x48], esp
sub esp, 0x200
mov dword [ebp - 0x24], esp
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x18], eax
push eax
mov dword [ebp - 0x4c], esp
sub esp, 0x800
mov dword [ebp - 0x2c], esp
push eax
mov dword [ebp - 0x68], esp
push eax
mov dword [ebp - 0x10], esp
sub esp, 0x400
mov dword [ebp - 0x28], esp
push eax
mov dword [ebp - 0x3c], esp
sub esp, 0x10
mov ebx, esp
sub esp, 0x14
mov dword [ebp - 0x1c], esp
sub esp, 0x24
mov dword [ebp - 0x70], esp
mov dword [ebp - 0x14cc], 0xef3ced30
mov dword [ebp - 0x14c8], 0xf335f135
mov dword [ebp - 0x14c4], 0xf725f53d
mov dword [ebp - 0x14c0], 0xfb28f92c
mov dword [ebp - 0x14bc], 0xff22fd25
mov dword [ebp - 0x14b8], 0xc311c115
mov dword [ebp - 0x14b4], 0xc714c501
mov word [ebp - 0x14b0], 0xc9c8
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebp + ecx - 0x14cc]
mov esi, eax
and esi, 0x18
mov edi, ecx
xor edi, 0xc0de48c
add edi, esi
xor edi, edx
add edi, 0x9f90db9f
mov edx, edi
and edx, 1
xor edi, 1
lea edx, [edi + edx*2]
mov byte [ebp + ecx - 0x14cc], dl
inc ecx
add eax, 2
cmp ecx, 0x1e
jne case.default.0x42192c
lea eax, [ebp - 0x54]
lea ecx, [ebp - 0x14cc]
push 0
push 0
push 0x20019
push eax
mov dword [ebp - 0x20], ecx
push ecx
call 0x43a210
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x43f388]
mov dl, 0x40
add ah, bl
mov dl, 0x40
add byte [ebx - 0x4b], dl
inc eax
add byte [ebp + esi*4 + 0x40], bl
add ch, bl
mov ch, 0x40
add byte [ecx], ch
mov dh, 0x40
add byte [ecx], bh
mov dh, 0x40
add byte [edx - 0x4a], al
inc eax
add byte [edi - 0x21ffbf4a], dh
mov dh, 0x40
add byte [ecx], ah
mov bh, 0x40
add byte [0x210040b7], al
mov bh, 0x40
add byte [ebp + 0x320040b7], cl
mov eax, 0xb7fe0040
inc eax
add byte [edi + esi*4 - 0x47dfffc0], ah
inc eax
add al, bl
mov bh, 0x40
add byte [edx], dh
mov eax, 0xb74c0040
inc eax
inc eax
add byte [edi + esi*4 + 0x40], cl
add byte [edx], dh
mov bh, 0x40
add dl, cl
mov dh, 0x40
add byte [edi - 0x49], bl
inc eax
add byte [eax - 0x48], dl
inc eax
add byte [edx - 0x48], al
inc eax
add byte [eax - 0x48], dl
inc eax
add byte [ebp - 0x48], bl
inc eax
add byte [ebp - 0x48], bl
inc eax
add bh, bh
mov ch, 0x40
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax - 0x48], bh
inc eax
add byte [esi], al
and edi, 0xe77ef400
add bl, ah
and al, 0x6f
adc eax, 0xe78358
push es
and edi, 0x9293e600
adc eax, 0xe78376
fild word [ebx - 0x4e2ff19]
sub esp, dword [ebp + 0xe7894c]
mov edi, esp
add al, ah
cwde
out 0, eax
loopne 0x43f3d6
dec edi
imul ecx, dword [ecx + ecx*4 - 0x19], 0
stosd dword es:[edi], eax
mov bh, ah
add byte [eax + 0x7b], dl
push eax
jnp 0x43f488
das
int3
mov bh, ah
add byte [ecx], ch
mov edi, esp
add byte [ebx + 0x3b91d592], al
mov bh, ah
out 0, eax
adc dword [edx - 0x77c46e2b], 0xffffffe7
out 0, eax
push esi
test bh, ah
add al, dl
les edi, [esi + ebp*8 + 0x56]
add byte [esi - 0x7c], dl
out 0, eax
rol ah, 1
jl 0x43f452
push esi
test bh, ah
add ah, bl
test bh, ah
add byte [esi - 0x5346f56], al
test bh, ah
add byte [esi], al
test edi, esp
add bl, bh
dec esi
xor eax, 0xe7865a7e
add byte [edx], ch
test edi, esp
add ah, bl
daa
xor byte [ebx + 0x3f], dh
stosd dword es:[edi], eax
je 0x43f43a
fnclex
jl 0x43f45a
into
xchg bh, ah
add byte [eax + 0x3000e786], ah
xor al, 8
jmp 0x43f46b