Function at 0x1000a386
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005ccd5
call fcn.1005c3e4
sub esp, 0xc8
cmp byte [ebp + 0xc], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x50], edx
mov byte [ebp - 0x34], cl
je 0x1000a6cd
cmp byte [ebp + 0x10], 0
je 0x1000a448
mov dword [ebp - 0x14], 0x543f
cmp dword [ebp - 0x14], 0x55e4
jle 0x1000a424
xor ebx, ebx
mov esi, ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp + 0xc], ebx
lea eax, [edi + esi]
or eax, ecx
lea ecx, [ebp - 0xbc]
cdq
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000a3ee
mov eax, dword [eax]
push eax
call fcn.100442bc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xbc]
call fcn.10004a91
mov ecx, dword [ebp + 0xc]
inc ecx
mov dword [ebp + 0xc], ecx
cmp ecx, 0x2681
jl 0x1000a3d1
inc edi
cmp edi, 0x78c4
jl 0x1000a3cc
inc esi
cmp esi, 0x1cc5
jl 0x1000a3ca
push ecx
push ecx
push dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x14]
call fcn.1000bcb6
cmp dword [ebp - 0x14], 0x53e9
jge 0x1000a835
push str.ynqiftk_dysygiv_uxfp_ozezbfumj_gtbcfn_xiurrutn_wcckhupc
jmp 0x1000a79a
mov dword [ebp - 0x18], 0x198e
xor ebx, ebx
cmp dword [ebp - 0x18], 0x1d07
jle 0x1000a4af
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x14], 0xfa
mov edi, ebx
mov esi, ebx
mov ebx, dword [ebp - 0x20]
mov eax, ebx
mov ecx, 0x100758b8
and eax, esi
and eax, edi
cdq
push edx
push eax
call fcn.10004429
inc esi
cmp esi, 0x76f
jl 0x1000a470
inc edi
push 0
pop ebx
cmp edi, 0x2480
jl 0x1000a46b
dec dword [ebp - 0x20]
dec dword [ebp - 0x14]
jne 0x1000a469
mov esi, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x6913
jl 0x1000a45f
mov dword [ebp - 4], 2
cmp dword [ebp - 0x18], 0x165d
jge 0x1000a4ec
mov edx, str.ebmzcqqgv_efc_kgm_hwrasljub_btmlnfkch_rqdrm_bpm_tuypxdap_nkrc_pjpvj_jsnd_gnupo_eze
mov ecx, 0x100758b8
call fcn.100067d6
jmp 0x1000a4ec
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov edi, dword [ebp + 8]
mov dword [ebp - 4], 4
cmp dword [edi + 0x10], ebx
je 0x1000a6b4
push 0x2e
pop eax
push 2
mov ecx, ebx
mov byte [ebp - 0x28], bl
mov dword [ebp - 0x27], 0xd76d02fd
mov word [ebp + 0xc], ax
pop esi
mov dword [ebp - 0x20], ecx
cmp esi, 2
jne 0x1000a530
push 3
pop ecx
push ecx
mov dword [ebp - 0x20], ecx
pop esi
jmp 0x1000a574
movzx edx, byte [ebp + esi - 0x27]
mov eax, esi
sub eax, ecx
push ebx
push 1
push 0x1ab9
movzx eax, byte [ebp + eax - 0x2a]
push 1
movzx ecx, word [ebp + eax*2 + 0xc]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x28]
add ecx, edx
mov edx, 0x142
mov word [ebp + eax*2 + 0xc], cx
lea ecx, [ebp - 0x20]
call fcn.10008f96
mov ecx, dword [ebp - 0x20]
add esp, 0x10
add esi, 2
cmp esi, 5
jb 0x1000a521
xor eax, eax
mov dword [ebp - 0x6c], 7
mov word [ebp + 0xe], ax
lea ecx, [ebp - 0x80]
mov word [ebp - 0x80], ax
lea eax, [ebp + 0xc]
push eax
mov dword [ebp - 0x70], ebx
call fcn.10004ad5
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 5
push eax
mov edx, edi
lea ecx, [ebp - 0x40]
call fcn.10008448
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 7
call fcn.10004b5d
mov edi, dword [ebp - 0x3c]
mov eax, edi
mov esi, dword [ebp - 0x40]
sub eax, esi
push 0x18
cdq
pop ecx
idiv ecx
mov dword [ebp + 0xc], ebx
test eax, eax
jne 0x1000a6a4
push 0x2d
pop eax
mov word [ebp - 0x2c], ax
lea ecx, [ebp - 0x68]
xor eax, eax
mov dword [ebp - 0x54], 7
mov word [ebp - 0x2a], ax
mov word [ebp - 0x68], ax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x58], ebx
call fcn.10004ad5
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 8
call fcn.10008448
pop ecx
mov esi, eax
lea eax, [ebp - 0x40]
cmp eax, esi
je 0x1000a640
mov ecx, eax
call fcn.1000bb49
mov ecx, dword [esi]
mov dword [ebp - 0x40], ecx
mov eax, dword [esi + 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x38], eax
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
lea ecx, [ebp - 0x8c]
call fcn.1000bb49
push ebx
push 1
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 7
call fcn.10004b5d
mov edi, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x40]
jmp 0x1000a6a4
push esi
lea ecx, [ebp - 0xa4]
call fcn.1000738c
push 1
push 1
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0xa
push eax
push 1
lea edx, [ebp - 0x4c]
mov ecx, 0x7ef2
call fcn.10008f96
add esp, 0x10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xa4]
push ebx
push 1
call fcn.10004b5d
add esi, 0x18
cmp esi, edi
jne 0x1000a662
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.1000bb49
mov ecx, dword [ebp + 0x20]
lea eax, [ebp - 0x4c]
push eax
call fcn.1000b89e
lea ecx, [ebp - 0x4c]
call fcn.1000bc21
jmp 0x1000a835
test cl, cl
je 0x1000a7a5
mov dword [ebp - 0x14], 0x766f
cmp dword [ebp - 0x14], 0x7a3c
jle 0x1000a77d
push 0x1cd6
xor ebx, ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_CombineRgn]
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov dword [ebp - 0x18], ebx
mov ecx, edi
mov dword [ebp + 0xc], esi
mov edi, esi
mov esi, ebx
sar edi, cl
mov eax, ebx
mov dword [ebp - 0x2c], 0x3b84
mov dword [ebp + 0xc], eax
and eax, edi
lea ecx, [ebp - 0xd4]
cdq
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000a734
mov eax, dword [eax]
push eax
call fcn.100442bc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xd4]
call fcn.10004a91
mov eax, dword [ebp + 0xc]
add eax, esi
dec dword [ebp - 0x2c]
mov dword [ebp + 0xc], eax
jne 0x1000a71a
inc esi
cmp esi, 0x42ea
jl 0x1000a70e
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x1fb3
jl 0x1000a703
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x2db1
jl 0x1000a6fe
push 0xbff
call dword [sym.imp.KERNEL32.dll_TlsFree]
cmp dword [ebp - 0x14], 0x7321
jge 0x1000a835
push str.aceiovx_ngadzp_deabqycgr_jnaxy_xla_cmjwigrl_vvsnqeif_yckalxxj_hnaaectt_dwgpid_fey
call fcn.100442bc
pop ecx
jmp 0x1000a835
mov dword [ebp - 0x30], 0x47c4
cmp dword [ebp - 0x30], 0x49a0
jle 0x1000a80c
xor ebx, ebx
mov edi, ebx
mov dword [ebp - 0x14], ebx
mov eax, ebx
mov dword [ebp - 0x1c], 0x4e4c
mov dword [ebp - 0x18], eax
mov ebx, eax
mov esi, 0x2464
mov eax, ebx
mov ecx, 0x100758b8
xor eax, edi
cdq
push edx
push eax
call fcn.10004429
inc ebx
dec esi
jne 0x1000a7cf
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
add eax, esi
dec dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
jne 0x1000a7c8
inc esi
mov dword [ebp - 0x14], esi
push 0
pop ebx
cmp esi, 0x1421
jl 0x1000a7bc
inc edi
cmp edi, 0x7b10
jl 0x1000a7b9
mov dword [ebp - 4], 0xd
cmp dword [ebp - 0x30], 0x455b
jge 0x1000a82b
mov edx, str.qtpxklxdn_ytazwaefy_dqrrjc_czn_isr_xcdjehx_lch_zmxclpzc_lvyzhh_mzkynql_obh_zybomp_ocmuwvdx_mpcy
mov ecx, 0x100758b8
call fcn.100067d6
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret