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], 0x22
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], 0xdc
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
xor byte [eax + ebp], 0x7e
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
xor byte [eax + ebp], 9
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x67
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x59
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
xor byte [eax + ebp], 0x4f
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], 0x1a
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x88
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add 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], 0x1b
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xaf
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x83
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xb1
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x2e
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
add byte [eax + ebp], 0x3b
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], 0xa
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
xor 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], 0x3b
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xe3
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 2
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xe8
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0x43
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
push 0
push 0
add byte [eax + ebp], 0xaa
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
xor byte [eax + ebp], 0xb5
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], 0x76
call esi
push 0
call edi
push 0
call ebx
mov eax, dword [esp + 0x14]
add byte [eax + ebp], 0x8a
inc ebp
cmp ebp, dword [esp + 0x18]
jb 0x403712
pop edi
pop esi
pop ebx
pop ebp
ret