Function at 0x1003859c
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1006291f
call fcn.10060e94
sub esp, 0xa8
cmp byte [ebp + 0xc], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x50], ecx
je 0x100385c6
mov dword [edx], 0
jmp 0x100389d8
push dword [ebp - 0x40]
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x4c]
movdqa xmm0, xmmword [0x100703d0]
xor ebx, ebx
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x4c], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x8c], xmm0
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
call fcn.10001915
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x40], 0xc9eb
mov dword [ebp - 0x20], 0x475ee4c2
mov dword [ebp - 0x18], ebx
jmp 0x1003862c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x98], 0x2e0cf572
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003861b
lea eax, [ebp - 0x40]
xor dl, dl
push eax
mov ecx, 0x565d
call fcn.10036f5c
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0x1d
pop ecx
jg 0x10038688
mov ecx, dword [ebp - 0x4c]
push 2
pop esi
mov dword [ebp - 0x18], ebx
jmp 0x10038665
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7c], 0x33a79cc0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10038657
mov eax, dword [ebp - 0x20]
mov edx, 0xd0e75d5f
cmp edx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ecx + 0xc], ebx
jne 0x10038688
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1d
jle 0x10038652
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.100014df
mov dword [ebp - 0x20], 0x3c5b
cmp dword [ebp - 0x20], 0x3c8c
jle 0x10038701
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], 0x5ace
mov edi, ebx
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x24], edi
mov esi, edi
mov edi, 0x1ccf
mov eax, ebx
mov ecx, 0x1007cfd8
xor eax, esi
cdq
push edx
push eax
call fcn.1000703f
dec esi
dec edi
jne 0x100386c2
mov edi, dword [ebp - 0x24]
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x4810
jl 0x100386bb
dec ebx
dec dword [ebp - 0x1c]
push 0
mov dword [ebp - 0x18], ebx
pop ebx
jne 0x100386b3
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x391f
jl 0x100386a9
xor esi, esi
mov dword [ebp - 0x18], 0xba394643
inc esi
mov dword [ebp - 4], esi
cmp dword [ebp - 0x20], 0x394d
jge 0x10038726
mov edx, str.ztskgazj_latpsj_awubpvno_tdeeqal_iwgtrx_okwgn_nsaxq_iubs_gzwwjnlyj_bfrp_zeqpqkb_opgbd_wmafggpm_dpcdgncj
mov ecx, 0x1007cfd8
call fcn.1000b30d
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x28], 0x58a60016
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x10038770
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x30], 0xc93
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10038762
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jg 0x10038829
push 2
pop esi
mov dword [ebp - 0x1c], 0xfc07e17f
mov dword [ebp - 0x20], 0xf84255eb
mov dword [ebp - 0x1c], ebx
jmp 0x10038812
mov dword [ebp - 0x24], 0x8fb0
mov eax, dword [ebp - 0x1c]
cmp esi, eax
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setne dl
xor ecx, ecx
cmp eax, 0x4cf5
mov eax, dword [ebp - 0x30]
setl cl
sub ecx, edx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setne dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0x18]
sete cl
sub edx, ecx
xor ecx, ecx
imul edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setle cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x30]
imul eax, dword [ebp - 0x20]
neg eax
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
cmp eax, 0xfffffffb
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x10038797
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x10038784
xor esi, esi
inc esi
mov eax, dword [ebp + 0x10]
lea edx, [ebp - 0x3c]
xor cl, cl
movzx eax, word [eax]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
call fcn.10037d1e
mov dword [ebp - 0x1c], 0x68fc
cmp dword [ebp - 0x1c], 0x6c24
pop ecx
jle 0x100388bc
mov edi, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], ebx
mov eax, edi
mov dword [ebp - 0x28], 0x75dd
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
cdq
lea ecx, [ebp - 0xb0]
push edx
push eax
call fcn.10001301
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10038880
mov eax, dword [eax]
push eax
call fcn.10048570
pop ecx
push ebx
push esi
lea ecx, [ebp - 0xb0]
call fcn.1000162e
mov eax, dword [ebp - 0x20]
add eax, edi
dec dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jne 0x10038868
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x764c
mov edi, dword [ebp - 0x18]
jl 0x10038859
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x1bb9
jl 0x10038856
cmp dword [ebp - 0x1c], 0x666f
jge 0x100388d0
push str.jvnfm_lgrxcjhh_dzojt_oihyp_qhnsqup_xayeev_eyfsc_sqemo
call fcn.10048570
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x20], 0x2db58e46
mov dword [ebp - 0x20], 0x57ad95e1
mov dword [ebp - 0x20], 0x9bf39019
push 3
call fcn.1000145c
push 2
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 5
call fcn.1000145c
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x20], 0x764361a6
push 4
call fcn.1000145c
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x74]
xor dl, dl
push eax
mov ecx, 0x3297
call fcn.10037dfb
lea eax, [ebp - 0x68]
xor dl, dl
push eax
lea ecx, [ebp - 0x38]
call fcn.1003627b
pop ecx
pop ecx
lea eax, [ebp - 0x38]
push eax
push ecx
lea edx, [ebp - 0x5c]
call fcn.1003629e
add esp, 0xc
mov byte [ebp - 0x29], bl
lea edx, [ebp - 0x29]
push 0x1d32
push ecx
push ecx
push ebx
call fcn.10035782
push 0x1ea4
push 0xf7e
push 0x4d49
lea eax, [ebp - 0x5c]
mov edx, 0x6a6f
push eax
push 0x1a87
push ebx
push 0xf5
push 0x9bd
push esi
push 0x20d5
push ebx
mov ecx, 0x165d
call fcn.10037e16
add esp, 0x3c
lea ecx, [ebp - 0x5c]
call fcn.100014df
lea ecx, [ebp - 0x68]
call fcn.100014df
lea ecx, [ebp - 0x74]
call fcn.100014df
mov esi, dword [ebp - 0x3c]
mov cl, byte [ebx + esi]
mov dl, 0xc9
call fcn.1003e5eb
mov byte [ebx + esi], al
inc ebx
cmp ebx, 2
jb 0x100389bb
mov ecx, dword [ebp - 0x50]
mov ax, word [ebp - 0x34]
mov word [ecx], ax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret