Function at 0x1001a0fc
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005b25e
call fcn.1005a1d8
sub esp, 0x128
cmp byte [ebp + 8], 0
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x20], esi
je 0x1001a74d
mov eax, dword [esi]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x70], edi
cmp eax, dword [esi + 4]
je 0x1001a745
lea eax, [ebp - 0x6c]
xor ebx, ebx
push eax
push 0x1000
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
call fcn.1000e9be
mov dword [ebp - 4], ebx
mov edi, 0x181a
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x48]
push dword [ebp - 0x48]
sar eax, 1
push eax
push edi
push 0x169a
call fcn.1002da9b
pop ecx
pop ecx
call eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x88]
call fcn.1001462c
push 0x189a
mov byte [ebp - 4], 1
call fcn.1000d901
movzx eax, ax
mov edx, 0x3f70
push ecx
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 1
push ecx
lea ecx, [ebp - 0x88]
call fcn.1001a0a9
push 0x22af
push 1
push 0x2f72
lea eax, [ebp - 0x88]
mov dl, 1
push 0xb4
push eax
mov ecx, 0x40b8
call fcn.10019ce2
add esp, 0x28
lea eax, [ebp - 0x88]
cmp dword [ebp - 0x74], 8
cmovae eax, dword [ebp - 0x88]
push ebx
push eax
push edi
push 0x129a
call fcn.1002da9b
pop ecx
pop ecx
call eax
push dword [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x88]
call fcn.1001bdad
push 0x5239
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], ebx
push eax
push ecx
push ecx
push esi
push 0xb56
push 1
push 0x3571
call fcn.10019df0
add esp, 0x20
mov dword [ebp - 0x1c], ebx
mov eax, ebx
cmp eax, 0x12c
jae 0x1001a73a
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0xa0]
call fcn.1000dbb6
push 0x10
pop edx
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 2
call fcn.1002ef5c
push ecx
push ecx
lea eax, [ebp - 0x104]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0xa0]
call fcn.1001c0d6
push 0x22
pop eax
mov byte [ebp - 0x2b], al
push 0x2e
pop eax
mov byte [ebp - 0x2c], bl
mov dword [ebp - 0x2a], 0x1d015602
mov word [ebp - 0x26], 3
mov word [ebp - 0x68], ax
mov dword [ebp - 0x18], 0x798b
cmp dword [ebp - 0x18], 0x7bd1
jle 0x1001a30a
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetRgnBox]
mov ecx, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov edi, ebx
mov eax, esi
cdq
idiv edi
and edx, ecx
lea ecx, [ebp - 0x11c]
mov eax, edx
cdq
push edx
push eax
call fcn.100026cb
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001a2d4
mov eax, dword [eax]
push eax
call fcn.10041403
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x11c]
call fcn.1000e4ee
mov ecx, dword [ebp - 0x14]
inc edi
cmp edi, 0x41a5
jl 0x1001a2b3
inc esi
cmp esi, 0x7083
jl 0x1001a2b1
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x68ef
jl 0x1001a2af
push 2
pop esi
movzx eax, byte [ebp + esi - 0x2e]
movzx ecx, byte [ebp + esi - 0x2b]
movzx eax, word [ebp + eax*2 - 0x68]
mov edx, eax
and eax, ecx
or edx, ecx
sub edx, eax
movzx eax, byte [ebp + esi - 0x2c]
add esi, 2
mov word [ebp + eax*2 - 0x68], dx
cmp esi, 8
jb 0x1001a30d
cmp dword [ebp - 0x18], 0x77ab
jge 0x1001a34a
push str.vxqhgqhz_pvc_gerd_abrt_thvf_vnssyt_roavnz_gjqnqtop_oyl_orgisa_aaxmkly_mizfx_bgdrkia_eglwobejx
call fcn.10041403
pop ecx
mov dword [ebp - 4], 3
lea ecx, [ebp - 0xe8]
xor eax, eax
mov dword [ebp - 0xd4], 7
mov word [ebp - 0x60], ax
mov word [ebp - 0xe8], ax
lea eax, [ebp - 0x68]
push eax
mov dword [ebp - 0xd8], ebx
call fcn.100149b3
push ecx
push ecx
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0xa0]
call fcn.1001c0d6
push ebx
push 1
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 3
call fcn.1000e6c2
xor eax, eax
lea edi, [ebp - 0x68]
cmp dword [ebp - 0x8c], 8
stosd dword es:[edi], eax
push ebx
push 0x80
push 2
stosd dword es:[edi], eax
push ebx
push ebx
push 0x40000000
stosw word es:[edi], ax
lea eax, [ebp - 0xa0]
cmovae eax, dword [ebp - 0xa0]
mov edi, 0x181a
push eax
push edi
push 0x1b1a
call fcn.1002da9b
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x1001a70e
push ebx
lea eax, [ebp - 0xec]
push eax
push dword [ebp - 0x4c]
mov eax, dword [ebp - 0x20]
push dword [eax]
push esi
push edi
push 0x151a
call fcn.1002da9b
pop ecx
pop ecx
call eax
push esi
test eax, eax
push edi
push 0x159a
setne bl
call fcn.1002da9b
pop ecx
pop ecx
call eax
test bl, bl
je 0x1001a70c
push 0x22
pop eax
mov word [ebp - 0x3c], 0x200
xor ebx, ebx
mov word [ebp - 0x38], ax
mov dword [ebp - 0x1c], 0x2fde
cmp dword [ebp - 0x1c], 0x3349
jle 0x1001a4e1
push 0x184e
push 0x1b0e
push ebx
call dword [sym.imp.USER32.dll_InflateRect]
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov ecx, esi
mov dword [ebp - 0x24], 0x900
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
lea eax, [edi + esi]
or eax, ecx
lea ecx, [ebp - 0x134]
cdq
push edx
push eax
call fcn.100026cb
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001a49a
mov eax, dword [eax]
push eax
call fcn.10041403
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x134]
call fcn.1000e4ee
mov ecx, dword [ebp - 0x18]
dec ecx
dec dword [ebp - 0x24]
mov dword [ebp - 0x18], ecx
jne 0x1001a47d
mov esi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x5264
jl 0x1001a46e
inc edi
cmp edi, 0x72dd
jl 0x1001a469
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x6318
jl 0x1001a467
xor eax, eax
cmp dword [ebp - 0x1c], 0x2d04
mov word [ebp - 0x36], ax
jge 0x1001a4fb
push str.thgu_skoecfv_hiwjm_ppyjjk_amn_vyzswvojl_kaei_yejt_ljwyztyb_fjalbwu_vlpffzko
call fcn.10041403
pop ecx
mov dword [ebp - 4], 3
lea ecx, [ebp - 0xb8]
xor eax, eax
mov dword [ebp - 0xa4], 7
mov word [ebp - 0xb8], ax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0xa8], ebx
call fcn.100149b3
push ecx
push ecx
push 1
push ecx
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x38], ebx
push eax
mov edx, 0x66c5
call fcn.10019faa
mov dword [ebp - 0x18], 0x145e
add esp, 0x18
cmp dword [ebp - 0x18], 0x1837
jle 0x1001a5c5
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], 0x4c61
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x1c], 0x6cdb
mov ebx, dword [ebp - 0x14]
mov eax, ebx
mov ecx, 0x10075958
xor eax, esi
cdq
push edx
push eax
call fcn.1000daa1
add esi, edi
dec dword [ebp - 0x1c]
jne 0x1001a57c
inc edi
push 0
pop ebx
cmp edi, 0x31d0
jl 0x1001a570
mov esi, dword [ebp - 0x24]
add dword [ebp - 0x14], esi
dec dword [ebp - 0x20]
jne 0x1001a56e
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x5ef5
jl 0x1001a564
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EndPaint]
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x18], 0x1260
jge 0x1001a605
mov edx, str.efln_oopaycjql_siyd_rznirixe_afl_prz_drgni_yumynd_dzfdtrbd_lzy_tdczmmnhq_wzctoe
mov ecx, 0x10075958
call fcn.1001082c
jmp 0x1001a605
push 0x53
pop eax
mov dword [ebp - 4], 9
push 2
mov dword [ebp - 0x34], 0x7c02e803
mov byte [ebp - 0x30], bl
mov word [ebp - 0x2f], 0x10d
mov byte [ebp - 0x2d], 2
mov word [ebp - 0x56], ax
pop esi
movzx eax, byte [ebp + esi - 0x36]
movzx edx, byte [ebp + esi - 0x33]
movzx ecx, word [ebp + eax*2 - 0x5c]
mov eax, edx
and eax, ecx
add eax, eax
sub edx, eax
movzx eax, byte [ebp + esi - 0x34]
add edx, ecx
add esi, 2
mov word [ebp + eax*2 - 0x5c], dx
cmp esi, 8
jb 0x1001a62a
xor eax, eax
mov dword [ebp - 0xbc], 7
mov word [ebp - 0x54], ax
lea ecx, [ebp - 0xd0]
mov word [ebp - 0xd0], ax
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 0xc0], ebx
call fcn.100149b3
push ecx
push ecx
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0xb8]
call fcn.1001c0d6
push ebx
push 1
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 9
call fcn.1000e6c2
xor eax, eax
lea edi, [ebp - 0x5c]
stosd dword es:[edi], eax
lea edx, [ebp - 0x88]
lea ecx, [ebp - 0xb8]
stosd dword es:[edi], eax
stosw word es:[edi], ax
call fcn.10018498
mov ecx, dword [ebp + 0xc]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [ebp - 0xb8]
call fcn.1000e6c2
push ebx
push 1
lea ecx, [ebp - 0x104]
call fcn.1000e6c2
push ebx
push 1
lea ecx, [ebp - 0xa0]
call fcn.1000e6c2
push ebx
push 1
lea ecx, [ebp - 0x88]
call fcn.1000e6c2
lea ecx, [ebp - 0x48]
call fcn.1000ea45
jmp 0x1001a751
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x104]
call fcn.1000e6c2
push ebx
push 1
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 1
call fcn.1000e6c2
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x1001a22e
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 2
jmp 0x1001a6f4
mov dword [edi], 1
jmp 0x1001a751
mov eax, dword [ecx]
dec dword [eax]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret