Function at 0x1001a077
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005b240
call fcn.1005a3a0
sub esp, 0x110
cmp byte [ebp + 8], 0
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x1c], ecx
je 0x1001a7b2
mov dword [ebp - 0x24], 0x41ae
xor ebx, ebx
cmp dword [ebp - 0x24], 0x4465
jle 0x1001a124
xor edi, edi
mov dword [ebp + 8], ebx
inc edi
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov ecx, esi
mov dword [ebp - 0x18], 0x7026
mov esi, dword [ebp + 8]
mov dword [ebp - 0x30], ecx
mov eax, esi
shl eax, cl
lea ecx, [ebp - 0x11c]
cdq
push edx
push eax
call fcn.10001365
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001a0e7
mov eax, dword [eax]
push eax
call fcn.100439ae
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x11c]
call fcn.10001636
mov ecx, dword [ebp - 0x30]
dec ecx
dec dword [ebp - 0x18]
mov dword [ebp - 0x30], ecx
jne 0x1001a0cb
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x50c3
jl 0x1001a0bc
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, 0x4313
jl 0x1001a0b7
cmp dword [ebp - 0x24], 0x3fd4
jge 0x1001a138
push str.hry_uzsu_rnlyny_akggyfqpr_coadnd_tfrijlqi_lmzmpqz_epewsnegl_gbzfy_vstrt_ias_andfcih_rpondilj_ekinzuk
call fcn.100439ae
pop ecx
or eax, 0xffffffff
mov dword [ebp - 4], eax
cmp byte [ebp + 0x14], 0
je 0x1001a799
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x44], esi
mov dword [ebp + 8], 0x73eb905d
mov dword [ebp + 8], ebx
jmp 0x1001a171
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x88], 0x504cd453
inc dword [ebp + 8]
cmp dword [ebp + 8], 1
jl 0x1001a160
mov eax, dword [ebp - 0x88]
mov dword [ebp + 8], eax
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], 0
je 0x1001a1c4
push 1
push 0x4728
push 0x151c
push 0x7bf8
push 0x7b78
push 1
push 0x51bc
push 0x1fd
push 0xd68
push 0x1d0d
xor dl, dl
mov ecx, 0x14cd
call fcn.1001af9c
add esp, 0x28
xor eax, eax
mov dword [ebp - 0x8c], 7
mov dword [ebp - 0x90], ebx
mov word [ebp - 0xa0], ax
push 1
lea ecx, [ebp - 0xc4]
mov dword [ebp - 4], 2
call fcn.100014a1
lea eax, [ebp - 0xc4]
mov byte [ebp - 4], 3
push eax
push 0x1c65
mov dword [ebp - 0x7c], 0x96960f57
lea ecx, [ebp - 0xcc]
push ebx
mov edx, 0x437c
mov dword [ebp + 8], 0xade
call fcn.1001d4de
xor edi, edi
lea eax, [ebp - 0xc4]
inc edi
lea edx, [ebp - 0x7c]
push edi
push eax
push edi
push 0x3a96
push 0x6df2
push ebx
mov ecx, 0x1a07
call fcn.1001a077
add esp, 0x24
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xc4]
call fcn.100014fe
cmp esi, dword [ebp - 0x1c]
ja 0x1001a289
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0xa0]
cmp ecx, eax
je 0x1001a277
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0xa0]
push eax
call fcn.100016c8
push ebx
push edi
lea ecx, [ebp - 0xa0]
call fcn.100017a2
jmp 0x1001a8fa
mov dword [ebp + 8], 0x76b0f738
lea ecx, [ebp - 0xd8]
mov dword [ebp + 8], 0x4964a53a
mov dword [ebp + 8], edi
mov dword [ebp + 8], 0x22b16580
mov dword [ebp + 8], 0x811f07b4
push 4
call fcn.100014a1
push ecx
mov byte [ebp - 4], 4
lea edx, [ebp - 0xd8]
push 0xf2e
mov dword [ebp + 8], ebx
push ebx
mov dword [ebp + 8], 0xf6e229ed
push ecx
mov dword [ebp - 0x64], 8
lea ecx, [ebp - 0xe8]
mov dword [ebp + 8], 7
call fcn.1001ade7
add esp, 0x10
lea edx, [ebp - 0x64]
push 0x2265
push ecx
push edi
push ebx
push 0x5583
push ecx
call fcn.1001dd61
add esp, 0x18
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd8]
call fcn.100014fe
lea eax, [ebp - 0xa0]
xor dl, dl
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x3c]
call fcn.1001b336
mov dword [ebp + 8], 0xfffffff9
mov dword [ebp - 0x30], 0x373b2c57
mov dword [ebp - 0x24], 0xa61b
pop ecx
mov dword [ebp - 0x1c], 0x3c6daafd
pop ecx
mov dword [ebp + 8], ebx
jmp 0x1001a35e
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0xe4], 0x147909b7
inc dword [ebp + 8]
cmp dword [ebp + 8], 3
jl 0x1001a34d
mov dword [ebp + 8], 0xfffffff7
jmp 0x1001a46e
mov dword [ebp - 0x1c], 0xf9e9
mov dword [ebp - 0x18], 0x40eb4495
mov dword [ebp - 0x28], 0xbb9a67b
mov dword [ebp - 0x18], ebx
jmp 0x1001a39b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x104], 0xd6c34f1d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1001a38a
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0xe4], esi
mov eax, dword [ebp - 0x1c]
sbb edx, edx
neg edx
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp + 8]
setl cl
xor edx, edx
imul ecx, ecx, 7
cmp ecx, eax
setg dl
or eax, 0xffffffff
cmp eax, edx
mov eax, dword [ebp + 8]
sbb edx, edx
xor ecx, ecx
neg edx
cmp esi, eax
setg cl
xor eax, eax
cmp ecx, edx
setne al
cmp eax, 0xa4ba31e
je 0x1001a3f2
mov eax, ebx
cmp dword [ebp - 0x24], ebx
je 0x1001a3f4
mov eax, edi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x1001a442
mov ecx, dword [ebp - 0xfc]
xor ebx, ebx
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
setge bl
imul edx, ebx
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
imul eax, ecx, 0xff1e
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setne dl
or eax, 0xffffffff
xor ebx, ebx
cmp edx, eax
mov eax, edi
jb 0x1001a444
mov eax, ebx
mov ecx, 0xffff
cmp ecx, eax
push 0
sbb eax, eax
neg eax
pop edx
sete dl
mov dword [ebp - 0xdc], eax
add edx, dword [ebp + 8]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp edx, eax
setl cl
mov dword [ebp - 0x1c], ecx
inc dword [ebp + 8]
cmp dword [ebp + 8], 5
jle 0x1001a370
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x44]
jae 0x1001a599
mov esi, 0x7f6af112
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x5c], ebx
jmp 0x1001a539
push 3
lea ecx, [ebp - 0xac]
call fcn.100014a1
mov byte [ebp - 4], 5
mov dword [ebp - 0x34], ebx
jmp 0x1001a4c4
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xf4], 6
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jl 0x1001a4b3
lea eax, [ebp - 0xac]
mov ecx, 0x2cf9
push eax
push 0x3421
push 0x2b1e
push ebx
push 0x5542
push 0x5c92
push 0xa8f
push ebx
push 0x7913
push edi
push 0x1d0c
lea edx, [ebp - 0x34]
call fcn.1001ddd6
mov eax, dword [ebp - 0xac]
add esp, 0x2c
mov dword [eax], ebx
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0xf4], ebx
jne 0x1001a527
mov eax, dword [ebp - 0xac]
inc dword [eax]
cmp dword [eax], 2
jle 0x1001a50f
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 2
call fcn.100014fe
dec dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0xfffffffb
jle 0x1001a49d
xor dl, dl
mov byte [ebp - 0x2a], bl
lea ecx, [ebp - 0x2a]
call fcn.1001ac7a
push 0x69d8
push 0x6cf1
push 0x46c1
push ebx
push 0x5cdc
lea eax, [ebp - 0xa0]
mov edx, 0x1121
push eax
push 0x2b4b
push edi
push 0x5486
push edi
push 0x25f6
lea ecx, [ebp - 0x3c]
call fcn.1001ddd6
mov eax, dword [ebp - 0x3c]
add esp, 0x2c
cmp eax, dword [ebp - 0x44]
jb 0x1001a489
or esi, 0xffffffff
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], 0xe1f6f084
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x50], 0x4363
mov dword [ebp + 8], 0x20d70f0
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
je 0x1001a702
mov dword [ebp - 0x38], 0x4e7f
mov dword [ebp - 0x48], 0x7f4926a6
mov dword [ebp - 0x70], 0x4e4cabb
mov dword [ebp - 0x6c], 0xf05ba845
mov dword [ebp - 0x84], 0x7be2d7e0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x40]
setl cl
sub eax, ecx
neg eax
sbb eax, eax
add eax, 6
neg eax
sbb eax, eax
neg eax
imul edx, eax
mov eax, dword [ebp - 0x38]
sub edx, 0xfff7
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setge cl
xor edx, edx
cmp ecx, 0x39d2
setge dl
imul eax, edx
cmp eax, 0x9020
jle 0x1001a669
mov ecx, ebx
cmp dword [ebp - 0x38], ebx
je 0x1001a66b
mov ecx, edi
mov eax, 0xb2c593c8
push ecx
sub eax, ecx
je 0x1001a69a
lea eax, [ebp - 0x20]
mov edx, 0x1b49
push eax
push edi
push ecx
mov ecx, 0x1920
call fcn.1001ade7
add esp, 0x10
mov byte [ebp - 0x2b], bl
lea edx, [ebp - 0x2b]
call fcn.1001d6a5
jmp 0x1001a6cf
lea eax, [ebp - 0x78]
mov dword [ebp - 0x74], 0x96da
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x78], 0x656e2e31
push eax
push ecx
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x48]
call fcn.1001c177
add esp, 0x18
mov byte [ebp - 0x29], bl
lea edx, [ebp - 0x29]
call fcn.1001dea6
lea eax, [ebp - 0x48]
push eax
push ecx
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x20]
push eax
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x70]
call fcn.1001d076
add esp, 0x20
jmp 0x1001a782
push ecx
mov dword [ebp - 0x4c], ebx
lea ecx, [ebp - 0x4c]
call fcn.1001af1b
pop ecx
mov dword [ebp - 0x14], ebx
jmp 0x1001a77c
push edi
lea ecx, [ebp - 0xb8]
call fcn.100014a1
push ecx
push ecx
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 6
push eax
push ecx
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x68], 1
push eax
mov edx, 0x3ef9
mov cl, 1
call fcn.1001ca5f
lea eax, [ebp - 0x20]
xor edi, edi
push eax
lea eax, [ebp - 0x68]
inc edi
push eax
push edi
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xb8]
push eax
lea edx, [ebp - 0x4c]
call fcn.1001abfa
add esp, 0x28
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb8]
call fcn.100014fe
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffe
je 0x1001a714
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0xa0]
cmp ecx, eax
je 0x1001a277
push esi
jmp 0x1001a26a
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], 0
je 0x1001a8fa
push ebx
call dword [sym.imp.GDI32.dll_CreateBrushIndirect]
jmp 0x1001a8fa
cmp byte [ebp + 0x1c], 0
je 0x1001a859
mov dword [ebp + 8], 0x18ea
cmp dword [ebp + 8], 0x1b52
jle 0x1001a7f5
xor edi, edi
xor ebx, ebx
mov ecx, ebx
mov eax, edi
sar eax, cl
mov ecx, 0x10074fb8
cdq
push edx
push eax
call fcn.1000333f
inc ebx
cmp ebx, 0x961
jl 0x1001a7d0
inc edi
cmp edi, 0x4e83
jl 0x1001a7ce
mov dword [ebp - 4], 7
cmp dword [ebp + 8], 0x1750
jge 0x1001a833
mov edx, str.lxv_mtgqrh_zjhwk_zeumkmg_qkf_cjmpadel_hdtndyrwg_epaiqms_qdd
mov ecx, 0x10074fb8
call fcn.1000494d
jmp 0x1001a833
xor edx, edx
mov dword [esi], 0
inc edx
cmp dword [esi], edx
jge 0x1001a8fa
mov edi, dword [ebp + 0x18]
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [eax + ecx*4], edx
inc dword [esi]
cmp dword [esi], edx
jl 0x1001a847
jmp 0x1001a8fa
mov dword [ebp - 0x24], 0x1a81
cmp dword [ebp - 0x24], 0x1dc0
jle 0x1001a8c2
xor esi, esi
mov dword [ebp - 0x1c], esi
xor edi, edi
mov dword [ebp + 8], edi
mov eax, edi
xor ebx, ebx
and eax, esi
mov dword [ebp - 0x28], eax
mov esi, eax
xor edi, edi
lea eax, [edi + ebx]
mov ecx, 0x10074fb8
xor eax, esi
cdq
push edx
push eax
call fcn.1000333f
inc edi
cmp edi, 0x7002
jl 0x1001a880
inc ebx
cmp ebx, 0x4322
jl 0x1001a87e
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x1c]
inc edi
mov dword [ebp + 8], edi
cmp edi, 0x53d8
jl 0x1001a873
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x7788
jl 0x1001a86e
mov byte [ebp + 0xb], 0
mov dword [ebp - 4], 9
cmp dword [ebp - 0x24], 0x16ea
jge 0x1001a8e5
mov edx, str.wxys_vny_yow_dgevhuuc_uch_srjyckmf
mov ecx, 0x10074fb8
call fcn.1000494d
cmp byte [ebp + 0xb], 0
je 0x1001a8fa
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret