Function at 0x4036f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
xor ebp, ebp
cmp dword [esp + 0xc], ebp
jbe 0x40399e
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], 0xa0
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xfa
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x91
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x32
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
xor byte [eax + ebp], 0x95
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
xor byte [eax + ebp], 0x79
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x87
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x9a
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
xor byte [eax + ebp], 0x4e
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], 0xe5
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xa
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xc9
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xeb
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xe0
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xab
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x3d
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xe1
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
add byte [eax + ebp], 0xd0
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], 0x20
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
xor byte [eax + ebp], 0x97
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x6a
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x7b
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x90
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xb9
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xa2
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xb6
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
xor byte [eax + ebp], 0x68
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], 0xa8
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
add byte [eax + ebp], 0x8f
inc ebp
cmp ebp, dword [esp + 0x18]
jb 0x403712
pop edi
pop esi
pop ebx
pop ebp
ret