Function at 0x40bc30
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 [0x43b080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43c54c]
mov eax, dword [0x43c548]
mov edx, ecx
sub edx, 0x26dd4144
sub edx, 1
add edx, 0x26dd4144
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], 0x933f2c4c
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
sub eax, 0x933f2c4c
je 0x40bd7b
jmp 0x40bca5
mov eax, dword [ebp - 0x2c]
sub eax, 0x9d8d8a88
je 0x40bf6e
jmp 0x40bcb8
mov eax, dword [ebp - 0x2c]
sub eax, 0xaeecb7d7
je 0x40c04a
jmp 0x40bccb
mov eax, dword [ebp - 0x2c]
sub eax, 0xbf91c72b
je 0x40bdfb
jmp 0x40bcde
mov eax, dword [ebp - 0x2c]
sub eax, 0xc02e7bff
je 0x40be07
jmp 0x40bcf1
mov eax, dword [ebp - 0x2c]
sub eax, 0xc62d891d
je 0x40beef
jmp 0x40bd04
mov eax, dword [ebp - 0x2c]
sub eax, 0xc6648d0d
je 0x40c007
jmp 0x40bd17
mov eax, dword [ebp - 0x2c]
sub eax, 0xd96497b4
je 0x40bfe1
jmp 0x40bd2a
mov eax, dword [ebp - 0x2c]
sub eax, 0xdf96d3ec
je 0x40bda1
jmp 0x40bd3d
mov eax, dword [ebp - 0x2c]
sub eax, 0xe54f514c
je 0x40befb
jmp 0x40bd50
mov eax, dword [ebp - 0x2c]
sub eax, 0xefb139ef
je 0x40bff3
jmp 0x40bd63
mov eax, dword [ebp - 0x2c]
sub eax, 0x52b04f4d
je 0x40be4d
jmp 0x40bd76
jmp 0x40c051
mov al, byte [ebp - 0x1a]
mov cl, byte [ebp - 0x19]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xefb139ef
mov ecx, 0xdf96d3ec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40c051
mov ecx, dword [ebp - 0x28]
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
push eax
mov eax, esp
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [0x43c54c]
mov ecx, dword [0x43c548]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
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, 0xefb139ef
mov ecx, 0xbf91c72b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40c051
mov dword [ebp - 0x20], 0xc02e7bff
jmp 0x40c051
mov eax, dword [0x43c54c]
mov ecx, dword [0x43c548]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
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, 0xc6648d0d
mov ecx, 0x52b04f4d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40c051
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [eax], ecx
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
push ebx
pop ebx
nop
mov ebx, eax
xor ebx, 0x39
mov ecx, dword [edx]
mov edi, dword [esi]
not byte [edi]
push ebx
pop ebx
nop
mov ebx, eax
xor ebx, 0x39
add byte [edi], 0x47
sub byte [edi], 0x25
push ebx
pop ebx
nop
mov ebx, eax
xor ebx, 0x39
imul byte [edi]
inc edi
loop 0x40be67
mov ecx, dword [0x43c54c]
mov eax, dword [0x43c548]
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, 0xc6648d0d
mov ecx, 0xc62d891d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40c051
mov dword [ebp - 0x20], 0xe54f514c
jmp 0x40c051
mov ecx, dword [0x43c54c]
mov eax, dword [0x43c548]
mov edx, ecx
sub edx, 0xee1a4178
sub edx, 1
add edx, 0xee1a4178
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, 0xaeecb7d7
mov ecx, 0x9d8d8a88
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40c051
mov ecx, dword [0x43c54c]
mov eax, dword [0x43c548]
mov edx, ecx
add edx, 0xfe71cbf4
sub edx, 1
sub edx, 0xfe71cbf4
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, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xaeecb7d7
mov ecx, 0xd96497b4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40c051
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00424c50
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x28]
push eax
mov eax, esp
mov dword [eax], ecx
mov dword [ebp - 0x20], 0xdf96d3ec
jmp 0x40c051
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [eax], ecx
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
push ebx
pop ebx
nop
mov ebx, eax
xor ebx, 0x39
mov ecx, dword [edx]
mov edi, dword [esi]
not byte [edi]
push ebx
pop ebx
nop
mov ebx, eax
xor ebx, 0x39
add byte [edi], 0x47
sub byte [edi], 0x25
push ebx
pop ebx
nop
mov ebx, eax
xor ebx, 0x39
imul byte [edi]
inc edi
loop 0x40c021
mov dword [ebp - 0x20], 0x52b04f4d
jmp 0x40c051
mov dword [ebp - 0x20], 0x9d8d8a88
jmp 0x40bc8f