Function at 0x100187c9
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005faa9
call fcn.1005ebe8
sub esp, 0x20
cmp byte [ebp + 0x20], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
mov byte [ebp - 0x14], dl
je 0x100189b9
mov dword [ebp - 0x20], 0x22b1
cmp dword [ebp - 0x20], 0x1367
jge 0x1001885c
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp + 0x20]
push eax
push str._ld__ld
call fcn.10048926
add esp, 0xc
xor esi, esi
jmp 0x1001883a
dec eax
mov dword [ebp + 0x20], eax
lea eax, [ebp - 0x24]
push eax
push 0x10067aa4
call fcn.10048926
mov eax, dword [ebp - 0x24]
cdq
idiv dword [ebp - 0x28]
pop ecx
pop ecx
xor ecx, ecx
test edx, edx
setg cl
add ecx, eax
add esi, ecx
mov eax, dword [ebp + 0x20]
test eax, eax
jne 0x10018814
dec eax
mov dword [ebp + 0x20], eax
mov eax, esi
push 2
cdq
pop ebx
idiv ebx
add eax, edx
push eax
push str._ld_n
call fcn.10046d04
pop ecx
pop ecx
cmp byte [ebp + 0x10], 0
je 0x10018993
mov dword [ebp - 0x20], 0x3da6
mov esi, 0x1007ad38
cmp dword [ebp - 0x20], 0x3dc0
jle 0x100188c0
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x18], 0x2bb1
mov eax, edi
mov ecx, esi
xor eax, ebx
cdq
push edx
push eax
call fcn.10001b82
dec edi
dec dword [ebp - 0x18]
jne 0x1001888c
mov edi, dword [ebp - 0x1c]
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x54ca
jl 0x10018882
inc ebx
cmp ebx, 0x3293
jl 0x1001887d
push 0
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov dword [ebp - 0x18], 0x25a
cmp dword [ebp - 0x18], 0x47d
jle 0x100188fb
xor edi, edi
mov dword [ebp - 0x1c], edi
mov ebx, edi
mov edi, 0x423
mov eax, ebx
mov ecx, esi
cdq
push edx
push eax
call fcn.10001b82
dec ebx
dec edi
jne 0x100188dc
mov edi, dword [ebp - 0x1c]
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x1ad8
jl 0x100188d5
and dword [ebp - 4], 0
cmp dword [ebp - 0x18], 0xfffffe7e
jge 0x10018935
mov edx, str.qkinvze_vxhyo_ndrrfhlkx_ehabhaf_qdiimd_csa_jnfyc_uljhany_jwjbtmld_iritttpll
mov ecx, esi
call fcn.10003a0a
jmp 0x10018935
mov edx, dword [ebp + 0x24]
mov dword [edx], 0
cmp dword [edx], 3
jge 0x10018958
mov edi, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0xb8f1
inc dword [edx]
cmp dword [edx], 3
jl 0x10018946
mov dword [ebp - 4], 2
cmp dword [ebp - 0x20], 0x3c67
jge 0x10018974
mov edx, str.hznn_fdgqpgk_othylj_rtwjh_rsp_byla_liz_xiotmsa_zjbspwo_amx_oerpbzsad_uutmh
mov ecx, esi
call fcn.10003a0a
jmp 0x100189ff
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x18]
mov edx, dword [eax]
mov eax, 0xca9d
sub eax, dword [edx + ecx*4]
xor ecx, ecx
imul eax, eax, 9
cmp dword [edx + esi*4], eax
mov eax, dword [ebp + 0x28]
setle cl
mov dword [eax], ecx
jmp 0x100189ff
test dl, dl
je 0x100189dc
mov edx, dword [ebp + 0x2c]
mov dword [edx], 0
jmp 0x100189d5
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0x570a50b5
inc dword [edx]
cmp dword [edx], 1
jl 0x100189c8
jmp 0x100189ff
mov edx, dword [ebp + 0x14]
mov dword [edx], 0
cmp dword [edx], 4
jge 0x100189ff
mov esi, dword [ebp + 0x1c]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xa66f
inc dword [edx]
cmp dword [edx], 4
jl 0x100189ed
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret