Function at 0x4038d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x421384]
mov eax, dword [0x421380]
mov edx, ecx
sub edx, 0xf6793c49
sub edx, 1
add edx, 0xf6793c49
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x1a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x19], al
mov dword [ebp - 0x20], 0x3885b196
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
sub eax, 0x92e621f1
je 0x403a68
jmp 0x403945
mov eax, dword [ebp - 0x2c]
sub eax, 0xc3082e38
je 0x403b3b
jmp 0x403958
mov eax, dword [ebp - 0x2c]
sub eax, 0xe7f5efdf
je 0x403b2f
jmp 0x40396b
mov eax, dword [ebp - 0x2c]
sub eax, 0xf2eb08ea
je 0x403ad3
jmp 0x40397e
mov eax, dword [ebp - 0x2c]
sub eax, 0xf3693de8
je 0x403a5c
jmp 0x403991
mov eax, dword [ebp - 0x2c]
sub eax, 0xf3e5eff0
je 0x403a08
jmp 0x4039a4
mov eax, dword [ebp - 0x2c]
sub eax, 0x273c3708
je 0x403b91
jmp 0x4039b7
mov eax, dword [ebp - 0x2c]
sub eax, 0x3656f2ec
je 0x403b85
jmp 0x4039ca
mov eax, dword [ebp - 0x2c]
sub eax, 0x3885b196
je 0x4039e2
jmp 0x4039dd
jmp 0x403ba0
mov al, byte [ebp - 0x1a]
mov cl, byte [ebp - 0x19]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x3656f2ec
mov ecx, 0xf3e5eff0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x403ba0
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
mov eax, dword [0x421384]
mov ecx, dword [0x421380]
mov edx, eax
sub edx, 0x42a12a8b
sub edx, 1
add edx, 0x42a12a8b
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x3656f2ec
mov ecx, 0xf3693de8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x403ba0
mov dword [ebp - 0x20], 0x92e621f1
jmp 0x403ba0
mov ecx, dword [0x421384]
mov eax, dword [0x421380]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x273c3708
mov ecx, 0xf2eb08ea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x403ba0
mov ecx, dword [ebp - 0x28]
push eax
mov eax, esp
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [0x421384]
mov ecx, dword [0x421380]
mov edx, eax
add edx, 0xe319b139
sub edx, 1
sub edx, 0xe319b139
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x273c3708
mov ecx, 0xe7f5efdf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x403ba0
mov dword [ebp - 0x20], 0xc3082e38
jmp 0x403ba0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [eax], ecx
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
xor ecx, ecx
xor edi, edi
mov ecx, dword [edx]
mov edi, dword [esi]
not byte [edi]
add byte [edi], 0x65
mov eax, 0
mov ebx, 0
add eax, ebx
xor eax, ebx
shl eax, 3
shr ebx, 2
nop
sub byte [edi], 0x88
imul byte [edi]
inc edi
loop 0x403b51
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040bb90
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x20], 0xf3e5eff0
jmp 0x403ba0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
mov dword [ebp - 0x20], 0xf2eb08ea
jmp 0x40392f