Function at 0x1003624f
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005c4b8
call fcn.1005abe8
sub esp, 0x4c
push ebx
push esi
push edi
mov dword [ebp - 0x28], 0x16ca
mov al, dl
mov edi, ecx
mov dword [ebp - 0x10], esp
xor esi, esi
mov byte [ebp - 0x11], al
cmp dword [ebp - 0x28], 0x1726
mov dword [ebp - 0x18], edi
jle 0x100362d1
mov ebx, esi
mov eax, esi
mov dword [ebp - 0x1c], esi
mov edi, eax
mov dword [ebp - 0x24], esi
and edi, ebx
mov eax, edi
mov ecx, 0x10076fd8
xor eax, esi
cdq
push edx
push eax
call fcn.100045e5
inc esi
cmp esi, 0x37d4
jl 0x1003628c
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
push 0
pop esi
cmp eax, 0x216a
jl 0x10036285
inc ebx
cmp ebx, 0x4dcd
jl 0x10036280
push 0x1d6b
call dword [sym.imp.USER32.dll_ShowCaret]
mov edi, dword [ebp - 0x18]
mov al, byte [ebp - 0x11]
test al, al
je 0x10036405
cmp byte [ebp + 8], 0
je 0x10036359
mov dword [ebp - 0x1c], 0x5ad8
cmp dword [ebp - 0x1c], 0x5c21
jle 0x1003632f
mov edi, esi
mov ebx, esi
lea eax, [ebx + edi]
cdq
lea ecx, [ebp - 0x40]
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003630b
mov eax, dword [eax]
push eax
call fcn.10042b33
pop ecx
push esi
push 1
lea ecx, [ebp - 0x40]
call fcn.10004c13
inc ebx
cmp ebx, 0x30be
jl 0x100362f3
inc edi
cmp edi, 0x2f1d
jl 0x100362f1
cmp dword [ebp - 0x1c], 0x584f
jge 0x10036343
push str.esjtbwbd_lvpdom_mgca_pajhngbv
call fcn.10042b33
pop ecx
or dword [ebp - 4], 0xffffffff
push ecx
push ecx
push dword [ebp + 0x14]
mov ecx, dword [ebp + 0x1c]
call fcn.10033376
jmp 0x100364f8
mov dword [ebp - 0x1c], 0x558c
cmp dword [ebp - 0x1c], 0x5705
jle 0x100363a0
mov ebx, esi
mov edi, esi
mov eax, edi
mov ecx, 0x10076fd8
or eax, ebx
cdq
push edx
push eax
call fcn.100045e5
inc edi
cmp edi, 0x2c0
jl 0x1003636d
inc ebx
cmp ebx, 0x4456
jl 0x1003636b
push esi
push 0x2542
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayLock]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 4], 2
cmp dword [ebp - 0x1c], 0x5390
jge 0x100363e0
mov edx, str.zbv_atizjiiev_xubhhtip_hhaoyny_itlsru_lnnhfio_xslousbiw_qmbpkdre_exrqhm
mov ecx, 0x10076fd8
call fcn.10006ac3
jmp 0x100363e0
mov dword [edi], esi
cmp dword [edi], 4
jge 0x100364f8
mov edx, dword [ebp + 0x18]
mov ecx, dword [edi]
mov eax, dword [edx]
mov dword [eax + ecx*4], 0x8f8256a9
inc dword [edi]
cmp dword [edi], 4
jl 0x100363ee
jmp 0x100364f8
cmp byte [ebp + 0x10], 0
je 0x1003643d
mov edi, dword [ebp + 0xc]
mov dword [edi], 6
jmp 0x10036433
mov dword [ebp - 0x24], 0x843046b6
mov edx, 0x5c34
push esi
mov ecx, 0x25c2
call fcn.1003342c
mov eax, dword [ebp - 0x24]
inc dword [edi]
pop ecx
cmp dword [edi], 0xb
jle 0x10036416
jmp 0x100364f8
mov dword [ebp - 0x24], 0x12f7
cmp dword [ebp - 0x24], 0x16af
jle 0x100364c2
mov edi, esi
mov ebx, esi
mov eax, esi
mov dword [ebp - 0x1c], esi
mov ecx, esi
mov dword [ebp - 0x20], esi
sar eax, cl
lea ecx, [ebp - 0x58]
xor eax, ebx
xor eax, edi
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10036476
mov eax, dword [eax]
push eax
call fcn.10042b33
pop ecx
push esi
push 1
lea ecx, [ebp - 0x58]
call fcn.10004c13
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x3bbe
jl 0x1003645b
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0xf4b
jl 0x10036456
inc ebx
cmp ebx, 0x60d1
jl 0x10036451
inc edi
cmp edi, 0x2154
jl 0x1003644f
push 0x1c8a
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
mov eax, dword [ebp + 0x20]
cmp byte [eax], 0
je 0x100364e4
push esi
push esi
push 0x1488
push esi
push 0x11bb
push esi
push 0x1cbe
push esi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp dword [ebp - 0x24], 0x1284
jge 0x100364f8
push str.hdnrovz_rkfu_rrkbxlf_tugq_acbvl
call fcn.10042b33
pop ecx
mov dword [ebp - 4], 6
cmp dword [ebp - 0x28], 0x15b6
jge 0x10036517
mov edx, str.btmhvt_qwfuwz_cxgarcgs_qzorwaw_dvhjt_fcmjsrz_efa_pjdxk_nsxg_yagrzf_zdvlhfl_omnorscrc
mov ecx, 0x10076fd8
call fcn.10006ac3
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret