Function at 0x4399b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x24
mov dword [esp + 8], 0x73323130
mov word [esp + 0xc], 0
mov byte [esp + 0xe], 0
mov edi, 0x68999534
mov esi, 0x97666acb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + edi - 0x6899952c]
mov ebx, edx
xor ebx, edi
or ebx, esi
mov eax, ebx
shr al, 1
and al, 1
mov ecx, ebx
not cl
mov ah, cl
and ah, 0x3d
mul ah
add al, al
sub dl, al
test bl, 2
sete al
or cl, 2
mul cl
add al, al
sub dl, al
movzx eax, dl
add eax, edi
add al, 0xfc
mov byte [esp + edi - 0x6899952c], al
inc edi
dec esi
cmp edi, 0x6899953b
jne 0x4399e0
mov dword [esp], 0x73323130
mov word [esp + 4], 0
mov byte [esp + 6], 0
mov edi, 0x68999534
mov esi, 0x97666acb
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + edi - 0x68999534]
mov ebx, edx
xor ebx, edi
or ebx, esi
mov eax, ebx
shr al, 1
and al, 1
mov ecx, ebx
not cl
mov ah, cl
and ah, 0x3d
mul ah
add al, al
sub dl, al
test bl, 2
sete al
or cl, 2
mul cl
add al, al
sub dl, al
movzx eax, dl
add eax, edi
add al, 0xfc
mov byte [esp + edi - 0x68999534], al
inc edi
dec esi
cmp edi, 0x6899953b
jne 0x439a50
mov eax, dword [esp]
xor ecx, ecx
cpuid
mov dword [esp + 8], 0x7d49447e
mov byte [esp + 0xc], 0
mov edx, 0x9a424a5b
mov eax, 0x65bdb5a3
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx + 0x65bdb5ad]
mov ebx, eax
or ebx, edi
lea esi, [edx + 1]
or edi, esi
mov ebp, edx
sub ebp, edi
and ebp, ebx
mov edi, ebp
not edi
and edi, 0x33
xor ebp, 0xcc
lea ebx, [edi*2]
add ebx, ebp
inc bl
mov byte [esp + edx + 0x65bdb5ad], bl
dec eax
mov edx, esi
cmp esi, 0x9a424a60
jne 0x439ac0
cmp ecx, dword [esp + 8]
je 0x439be9
mov dword [esp], 0xe0d6e6e3
mov byte [esp + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
add dl, 0x78
xor dl, byte [esp + eax]
add dl, 0xa8
mov byte [esp + eax], dl
inc eax
cmp eax, 5
jne 0x439b20
cmp ecx, dword [esp]
je 0x439be9
mov dword [esp + 0x1c], 0x1e18e8fe
mov byte [esp + 0x20], 0
mov eax, 0xed
mov edx, 0x12
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xd1]
lea ebx, [eax - 0x2892c800]
mov edi, edx
and edi, esi
xor ebx, esi
mov ebp, eax
and ebp, esi
add ebp, edi
add ebx, esi
sub ebx, ebp
mov esi, ebx
not esi
and esi, 0xa2
and ebx, 0x5d
sub ebx, esi
inc bl
mov byte [esp + eax - 0xd1], bl
inc eax
dec edx
cmp eax, 0xf2
jne 0x439b60
cmp ecx, dword [esp + 0x1c]
je 0x439be9
mov dword [esp + 0x14], 0x415bb5a6
mov byte [esp + 0x18], 0
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
and esi, 6
mov ebx, edx
xor ebx, 0xd3
add ebx, esi
xor bl, byte [esp + edx + 0x14]
add bl, 0xe1
mov byte [esp + edx + 0x14], bl
inc edx
add eax, 2
cmp edx, 5
jne 0x439bc0
cmp ecx, dword [esp + 0x14]
jne 0x439bf3
mov al, 1
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x10], 0x7242484f
mov eax, 0x7670ce5b
mov edx, 0xa4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax - 0x7670ce4b]
lea esi, [eax - 0x7670ce00]
and esi, ebx
mov edi, eax
xor edi, ebx
sub edi, ebx
add edi, esi
and ebx, edx
or ebx, edi
add ebx, 0xafcbf838
mov esi, ebx
xor esi, 0x38
and ebx, 0x47
add ebx, ebx
sub ebx, esi
add bl, 0x39
mov byte [esp + eax - 0x7670ce4b], bl
inc eax
dec edx
cmp eax, 0x7670ce5f
jne 0x439c10
cmp ecx, dword [esp + 0x10]
sete al
jmp 0x439beb