Function at 0x41a541
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4af707
call fcn.004af1c8
sub esp, 0x90
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x30], esi
cmp dword [esi], 0
je 0x41ab51
push dword [esi]
xor ebx, ebx
push ebx
push dword [esi + 4]
call fcn.0046b7e2
push dword [esi + 4]
call fcn.00499afd
add esp, 0x10
mov dword [ebp - 0x2c], 0x6b69
cmp dword [ebp - 0x2c], 0x6c9d
jle 0x41a61f
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], 0x5656
mov esi, ebx
mov ebx, dword [ebp - 0x14]
mov eax, ebx
mov ecx, esi
sar eax, cl
xor eax, edi
cdq
push edx
push eax
mov ecx, 0xae33d8
call fcn.00409bc4
inc esi
cmp esi, 0x4af1
jl 0x41a5a7
dec ebx
mov dword [ebp - 0x14], ebx
dec dword [ebp - 0x18]
push 0
pop ebx
jne 0x41a5a2
mov esi, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x2e4d
jl 0x41a598
inc edi
cmp edi, 0x393b
jl 0x41a593
push ebx
push 0xdf2
push 0x12e0
push 0x1837
push 0x13d
push 0x23b6
push 0x1be4
push 0x2681
push 0x1b9c
push 0xbba
push 0x12
call dword [sym.imp.GDI32.dll_StretchBlt]
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x2c], 0x6b1f
jge 0x41a63a
mov edx, str.xbmaqn_yas_rgm
mov ecx, 0xae33d8
call fcn.0040c802
or dword [ebp - 4], 0xffffffff
jmp 0x41a660
mov dword [ebp - 0x20], 0x37ffeac8
mov dword [ebp - 0x20], 0x3e4f6f48
mov dword [ebp - 0x20], 0x7bac
xor esi, esi
inc esi
cmp dword [ebp - 0x20], 0x7e3b
jle 0x41a70a
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0x4659
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2c], 0x22da
mov edi, ebx
and eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x84]
call fcn.00401a71
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x41a6ba
mov eax, dword [eax]
push eax
call fcn.00499a27
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x84]
call fcn.0040a55c
inc edi
cmp edi, 0x3298
mov eax, dword [ebp - 0x14]
jl 0x41a6a0
inc eax
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x2c]
jne 0x41a69e
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
add eax, edi
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x1c]
jne 0x41a694
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0xfb1
jl 0x41a688
push 0x1c81
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0x1c], ebx
jmp 0x41a71d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3c], 0x825e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x41a70f
mov dword [ebp - 4], 2
cmp dword [ebp - 0x20], 0x79f3
jge 0x41a73e
push str.hsgx_yljq_jsmgcg_wmpu_dcpf_qkbznv_kdpr_vpnllv_hrdi_fifl
call fcn.00499a27
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x41a767
mov dword [ebp - 0x1c], ebx
jmp 0x41a77a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x50], 0x2305aba9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x41a76c
cmp dword [ebp - 0x34], ebx
je 0x41a900
mov dword [ebp - 0x14], 0x3a0f
mov dword [ebp - 0x18], 0xe85fcb44
mov dword [ebp - 0x20], 0xb0f
cmp dword [ebp - 0x20], 0xb78
jle 0x41a7d7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, ebx
mov esi, ebx
mov eax, esi
or eax, edi
cdq
push edx
push eax
mov ecx, 0xae33d8
call fcn.00409bc4
inc esi
cmp esi, 0x22c4
jl 0x41a7b1
inc edi
cmp edi, 0x2fd
jl 0x41a7af
xor esi, esi
inc esi
mov dword [ebp - 0x28], 8
mov dword [ebp - 4], 4
cmp dword [ebp - 0x20], 0xab6
jge 0x41a7fd
mov edx, str.hgz_qiefyzlym_ucdvor_rkq_ybndb_idut_ergutimh_nbxaof_fesf_puam
mov ecx, 0xae33d8
call fcn.0040c802
or dword [ebp - 4], 0xffffffff
jmp 0x41a826
mov dword [ebp - 0x18], ebx
jmp 0x41a835
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x60], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x41a82b
cmp dword [ebp - 0x34], 0xaab21a84
jne 0x41a84b
cmp dword [ebp - 0x34], ebx
mov edx, ebx
je 0x41a84d
mov edx, esi
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setg cl
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setne dl
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
add ecx, eax
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp ecx, eax
setl dl
cmp edx, dword [ebp - 0x14]
jle 0x41a88c
cmp dword [ebp - 0x4c], ebx
mov ecx, esi
jne 0x41a88e
mov ecx, ebx
mov eax, dword [ebp - 0x60]
add ecx, eax
mov eax, dword [ebp - 0x4c]
xor edx, edx
cmp ecx, eax
setne dl
cmp edx, dword [ebp - 0x5c]
jg 0x41a8a9
cmp dword [ebp - 0x4c], ebx
mov ecx, ebx
je 0x41a8ab
mov ecx, esi
mov eax, dword [ebp - 0x34]
sub eax, ecx
mov ecx, dword [ebp - 0x34]
imul ecx, eax
mov dword [ebp - 0x60], ecx
xor eax, eax
test ecx, ecx
setne al
cmp eax, dword [ebp - 0x14]
jl 0x41a8cc
cmp dword [ebp - 0x18], ebx
mov eax, ebx
je 0x41a8ce
mov eax, esi
add eax, 0xc21896fd
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x28]
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, 0xc42fa43d
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
jmp 0x41a9ed
mov byte [ebp - 0x21], bl
mov dword [ebp - 0x28], 0x68db
cmp dword [ebp - 0x28], 0x6a3e
jle 0x41a978
mov edx, ebx
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x20], ebx
mov eax, edi
shl eax, cl
and eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x9c]
call fcn.00401a71
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x41a93d
mov eax, dword [eax]
push eax
call fcn.00499a27
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x9c]
call fcn.0040a55c
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x7bf0
mov edx, dword [ebp - 0x14]
jl 0x41a91f
inc edi
cmp edi, 0x6ace
jl 0x41a91a
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x57a7
jl 0x41a918
cmp byte [ebp - 0x21], 0
je 0x41a9a9
push 0x159f
push ebx
push 0xa1f
push 0x1dac
push 0x1241
push ebx
push 0xfab
push 0x212f
push 0x1685
call dword [sym.imp.USER32.dll_DrawIconEx]
mov dword [ebp - 4], 6
cmp dword [ebp - 0x28], 0x666b
jge 0x41a9c4
push str.kzfiieek_osc_wxlbslqey
call fcn.00499a27
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x41a9ed
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x41a9fd
push ebx
call dword [sym.imp.GDI32.dll_CreateBitmapIndirect]
mov edi, dword [ebp - 0x30]
mov dword [edi + 4], ebx
mov dword [ebp - 0x14], 0xffffffff
push 2
lea ecx, [ebp - 0x6c]
call fcn.00409f19
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x14], ebx
jmp 0x41aa30
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6c]
mov dword [eax + ecx*4], 0x6432a276
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x41aa20
mov dword [ebp - 0x14], 0xfffffff9
cmp dword [ebp - 0x14], 0xf
jl 0x41ab47
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x28], 0xfffd
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], ebx
jl 0x41ab34
mov dword [ebp - 0x18], ebx
push 3
lea ecx, [ebp - 0x48]
call fcn.00409f19
mov dword [ebp - 0x18], ebx
jmp 0x41aa80
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x41aa73
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ebx
jl 0x41ab20
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x20], 0xac9d73df
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6c]
cmp dword [eax + ecx*4], 0xfffffff7
je 0x41aab5
cmp dword [ebp - 0x1c], ebx
mov edx, esi
jne 0x41aab7
mov edx, ebx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
sub edx, eax
mov dword [ebp - 0x2c], edx
xor edx, edx
mov eax, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x2c]
cmp edi, dword [eax + ecx*4]
setg dl
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, edx
setg cl
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp eax, ecx
setle dl
imul edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
je 0x41ab03
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], ebx
jne 0x41ab11
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x54]
mov dword [eax + 4], esi
dec dword [ebp - 0x18]
jns 0x41aa98
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x48]
call fcn.00409fc5
dec dword [ebp - 0x1c]
jns 0x41aa61
dec dword [ebp - 0x28]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xf
jge 0x41aa47
mov edi, dword [ebp - 0x30]
lea ecx, [ebp - 0x6c]
call fcn.00409fc5
mov dword [edi], ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret