Function at 0x4036f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
xor ebp, ebp
cmp dword [esp + 0xc], ebp
jbe 0x40399d
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetClipCursor]
push esi
mov esi, dword [sym.imp.USER32.dll_ReleaseDC]
push edi
mov edi, dword [sym.imp.USER32.dll_CloseDesktop]
push 0
push 0
call esi
push 0
call edi
push 0
call ebx
mov ecx, dword [esp + 0x14]
push 0
push 0
xor byte [ecx + ebp], 0x65
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x76
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xf2
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xdb
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
xor byte [eax + ebp], 0xa
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
xor byte [eax + ebp], 0xbd
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x9d
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xe
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
xor byte [eax + ebp], 0xd2
push 0
push 0
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
dec byte [eax + ebp]
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x57
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x39
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x39
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x18
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x2a
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xb3
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xc6
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
add byte [eax + ebp], 0xe2
push 0
push 0
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
xor byte [eax + ebp], 0xb9
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
xor byte [eax + ebp], 0x24
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x5a
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x33
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x7e
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xcb
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x78
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x70
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
xor byte [eax + ebp], 0xd
push 0
push 0
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x46
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
add byte [eax + ebp], 0x50
inc ebp
cmp ebp, dword [esp + 0x18]
jb 0x403712
pop edi
pop esi
pop ebx
pop ebp
ret