Function at 0x10017c4d
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x100571c0
call fcn.100568f8
sub esp, 0xec
mov byte [ebp - 0x40], cl
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test cl, cl
je 0x100182f9
mov edi, dword [ebp + 0x10]
lea eax, [ebp + 8]
mov dword [ebp - 0x74], eax
xor dl, dl
lea eax, [ebp - 0x44]
mov dword [ebp - 0x44], 0xe8cff0ea
push eax
push 1
mov dword [ebp - 0x5c], 0x3836
mov ecx, 0x7412
mov dword [ebp - 0x80], 0xc7d24b5e
push 1
mov dword [ebp - 0x38], edi
call fcn.10018353
add esp, 0xc
lea eax, [ebp - 0x5c]
push 0x3061
push ecx
push ecx
push eax
lea eax, [ebp - 0x80]
push eax
push ecx
lea eax, [ebp - 0x44]
push eax
push ecx
push ecx
push 1
call fcn.10017486
add esp, 0x28
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x94], ebx
mov word [ebp - 0xa4], ax
push 7
pop ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], 0xe76f5020
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x68], 0xc18
mov dword [ebp - 0x28], 0xb28787d
mov dword [ebp - 0x14], ebx
jmp 0x10017d11
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf8], 0xfffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10017d00
mov dword [ebp - 0x14], ebx
jmp 0x10017d2d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa8], 0x1d962ee6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10017d1c
mov dword [ebp - 0x14], ebx
jmp 0x10017d58
push 0x3284
mov dword [ebp - 0x28], 0xc58fb770
xor dl, dl
mov dword [ebp - 0x28], 0xfffffff9
push ecx
call fcn.100179ae
inc dword [ebp - 0x14]
pop ecx
pop ecx
cmp dword [ebp - 0x14], 3
jle 0x10017d38
push ecx
push ecx
lea edx, [ebp - 0x68]
call fcn.10019153
lea eax, [ebp + 8]
mov ecx, 0x7901
push eax
lea eax, [ebp - 0xa4]
push eax
push 0x62f2
push 1
call fcn.100173f2
mov dword [ebp - 0x14], ebx
add esp, 0x18
mov dword [ebp - 0x1c], 0xeb59
mov dword [ebp - 0x2c], 0x38d927f7
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], ebx
jmp 0x10017db8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb8], 0x8b9ba5e0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10017da7
mov dword [ebp - 0x28], 0x1e82
cmp dword [ebp - 0x28], 0x10bb
jge 0x10017e72
lea eax, [ebp - 0x3c]
mov edi, 0x1005ea74
push eax
push edi
call fcn.1003e952
pop ecx
jmp 0x10017e62
dec eax
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x78]
push eax
push str._ld__ld__ld
call fcn.1003e952
add esp, 0x10
mov byte [ebp - 0x15], bl
cmp dword [ebp - 0x48], 0
mov esi, ebx
jle 0x10017e2e
lea eax, [ebp - 0x50]
push eax
push edi
call fcn.1003e952
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x78]
pop ecx
sete al
or bl, al
inc esi
pop ecx
cmp esi, dword [ebp - 0x48]
jl 0x10017e0c
mov byte [ebp - 0x15], bl
xor ebx, ebx
cmp dword [ebp - 0x4c], 0
mov esi, ebx
jle 0x10017e4b
lea eax, [ebp - 0xac]
push eax
push edi
call fcn.1003e952
inc esi
pop ecx
pop ecx
cmp esi, dword [ebp - 0x4c]
jl 0x10017e36
cmp byte [ebp - 0x15], 0
mov ecx, 0x100604b0
mov eax, 0x100604ac
cmove eax, ecx
push eax
call fcn.1003f2a6
mov eax, dword [ebp - 0x3c]
pop ecx
test eax, eax
jne 0x10017de4
dec eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], 8
jmp 0x10017eb6
lea eax, [ebp - 0x64]
mov dword [ebp - 0x28], 5
push eax
push 0x31ff
push 0x4fe6
push 1
push ebx
push 0x6e79
mov dword [ebp - 0x64], 0xfffffffe
mov dl, 1
push 0x59f7
mov ecx, 0x7da9
call fcn.10017ae4
add esp, 0x1c
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffee
jl 0x10017e7b
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
neg eax
imul eax, eax, 0xc6d0
test eax, eax
jne 0x10017ef9
cmp dword [ebp - 0x1c], ebx
jne 0x10017ef9
mov edx, ebx
jmp 0x10017efc
xor edx, edx
inc edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
mov eax, dword [0x10072178]
setle cl
mov dword [ebp - 0x2c], ecx
test al, 1
jne 0x10017f32
or eax, 1
mov dword [0x10072178], eax
push 0x7c0
mov byte [ebp - 4], 1
call fcn.10027f34
pop ecx
mov word [0x10070ddc], ax
mov byte [ebp - 4], bl
mov dword [ebp - 0x24], 0x3195
cmp dword [ebp - 0x24], 0x3411
jle 0x10017faa
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov esi, ebx
mov dword [ebp - 0x2c], ebx
and esi, edi
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x1c]
mov edi, esi
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x34]
mov eax, edi
mov ecx, 0x1006f958
xor eax, esi
xor eax, ebx
cdq
push edx
push eax
call fcn.10001c9b
inc esi
cmp esi, 0x3b61
jl 0x10017f5f
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x2c], esi
push 0
pop ebx
cmp esi, 0x5407
jl 0x10017f4f
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x61af
jl 0x10017f4a
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x6860
jl 0x10017f45
mov dword [ebp - 0x14], ebx
jmp 0x10017fc0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8c], 4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10017faf
mov byte [ebp - 4], 2
cmp dword [ebp - 0x24], 0x3028
jge 0x10018006
mov edx, str.tuhaivjke_dis_flhsmnhy_yhfqw_uar_acxmhciw_qkk_mwbkyg_jca_tgdk_eddtxqnhh_imdoo_hyymsff
mov ecx, 0x1006f958
call fcn.1000366a
jmp 0x10018006
mov dword [ebp - 4], ebx
mov dword [ebp - 0x88], ebx
cmp dword [ebp - 0x88], 0x12
jg 0x100180f8
mov dword [ebp - 0x34], 0x5c3
cmp dword [ebp - 0x34], 0x7e6
jle 0x100180aa
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x24], 0x4ee0
mov esi, dword [ebp - 0x1c]
mov edi, ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x2c], 0x2d12
mov ecx, edi
mov eax, esi
sar eax, cl
lea ecx, [ebp - 0xd0]
cdq
push edx
push eax
call fcn.10001a11
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10018069
mov eax, dword [eax]
push eax
call fcn.1003e6f6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xd0]
call fcn.10002003
dec edi
dec dword [ebp - 0x2c]
jne 0x1001804b
mov edi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x73cc
jl 0x10018041
mov esi, dword [ebp - 0x14]
add dword [ebp - 0x1c], esi
dec dword [ebp - 0x24]
jne 0x10018039
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x170e
jl 0x1001802f
push 0x7f0a
push 0x6398
push 0x1ca3
push 1
push 1
push 0x4c44
push 0x5e5b
xor dl, dl
mov ecx, 0x259
call fcn.10017ae4
add esp, 0x1c
cmp dword [ebp - 0x34], 0x294
jge 0x100180ea
push str.mjngbb_vestfrpd_eothhnm_xpvey_qhdq
call fcn.1003e6f6
pop ecx
mov dword [ebp - 4], ebx
inc dword [ebp - 0x88]
jmp 0x1001800f
push ecx
mov edx, 0x34ce
mov byte [ebp - 0x2d], bl
lea ecx, [ebp - 0x2d]
call fcn.10018c52
mov eax, dword [0x10072178]
pop ecx
test al, 2
jne 0x10018133
or eax, 2
mov dword [0x10072178], eax
push 0xbcd
mov byte [ebp - 4], 6
call fcn.10027f34
pop ecx
mov word [0x10072170], ax
mov byte [ebp - 4], bl
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x74]
cmp esi, dword [eax]
jae 0x1001828d
call fcn.100172b0
push 0x24
xor edx, edx
pop ecx
div ecx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x14], 0xcf5720e8
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], 0x21bf
cmp dword [ebp - 0x24], 0x23ff
jle 0x10018200
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov eax, ebx
mov dword [ebp - 0x2c], 0x6349
mov dword [ebp - 0x34], eax
mov esi, edi
mov dword [ebp - 0x38], ebx
mov ecx, eax
mov edi, ebx
shl esi, cl
mov ecx, edi
mov eax, esi
shl eax, cl
lea ecx, [ebp - 0xe8]
cdq
push edx
push eax
call fcn.10001a11
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100181b0
mov eax, dword [eax]
push eax
call fcn.1003e6f6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xe8]
call fcn.10002003
inc edi
cmp edi, 0x2526
jl 0x10018192
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x1c]
add eax, esi
dec dword [ebp - 0x2c]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
jne 0x10018187
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x9a6
jl 0x1001817b
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x3c26
jl 0x10018178
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x14], 0xfffffffe
jmp 0x10018248
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0xcbad86e5
push eax
push ecx
mov dl, 1
call fcn.100179ae
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
pop ecx
pop ecx
je 0x10018245
push 0x6f0f
push 0x5de6
push 0x469c
push 0x165f
mov cl, 1
call fcn.100179e3
add esp, 0x10
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe9
jle 0x10018209
cmp dword [ebp - 0x24], 0x1e78
jge 0x10018262
push str.docbyjhyo_dzkfarzmn_pixq_tdq_uyszzy_wdcomd_oygdyl_izbqdqcc_wjx_wtkfybym_gbuayvg
call fcn.1003e6f6
pop ecx
lea eax, [ebp - 0x70]
mov dword [ebp - 4], ebx
push eax
push 0x10070ddc
lea eax, [ebp - 0xa4]
xor cl, cl
push 0x10072170
push eax
call fcn.100179e3
add esp, 0x10
inc esi
mov dword [ebp - 0x28], esi
jmp 0x10018138
push 0x357d
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0x841b3c69
push eax
lea eax, [ebp - 0x54]
mov dword [ebp - 0x60], 0xfa42
push eax
push 1
push 1
lea eax, [ebp - 0x58]
mov dword [ebp - 0x54], 0x40f2
push eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x58], 0xffffffff
push eax
mov dl, 1
mov ecx, 0x77a4
call fcn.10017ae4
mov edi, dword [ebp + 0x10]
lea eax, [ebp - 0xa4]
add esp, 0x1c
cmp edi, eax
je 0x100182e9
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.100155da
push ebx
push 1
lea ecx, [ebp - 0xa4]
call fcn.1001570a
jmp 0x10018310
xor ebx, ebx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x10018310
push ebx
push 0x2146
push ebx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret