Function at 0x10038795
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10063072
call fcn.10061438
sub esp, 0x2c
push ebx
mov ebx, edx
mov dword [ebp - 0x34], ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test cl, cl
je 0x100388ae
mov dword [ebp - 0x2c], 0x2920
cmp dword [ebp - 0x2c], 0x2a22
jle 0x10038803
push 0
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
xor esi, esi
mov ebx, esi
mov dword [ebp - 0x28], 0x13f5
xor edi, edi
mov eax, ebx
mov ecx, 0x1007fdb8
xor eax, edi
cdq
push edx
push eax
call fcn.1000e5de
inc edi
cmp edi, 0x3917
jl 0x100387da
dec ebx
dec dword [ebp - 0x28]
jne 0x100387d8
inc esi
cmp esi, 0x4e65
jl 0x100387cf
and dword [ebp - 4], 0
cmp dword [ebp - 0x2c], 0x2908
jge 0x1003881f
mov edx, str.iof_vjbbralrc_aqnegsakq
mov ecx, 0x1007fdb8
call fcn.100113ff
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x14], 0
je 0x10038870
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x2c]
push dword [eax]
mov eax, dword [ebp + 0x24]
mov edx, dword [edx]
mov ecx, dword [ecx]
push dword [eax]
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax]
push eax
mov eax, dword [ebp + 0x20]
push dword [eax]
call fcn.10037a3a
add esp, 0x10
jmp 0x10038a3c
mov esi, dword [ebp + 8]
mov dword [esi], 1
cmp dword [esi], 0
jl 0x10038a3c
mov edi, dword [ebp + 0x30]
mov ecx, dword [esi]
mov eax, dword [edi]
cmp dword [eax + ecx*4], 0
jne 0x10038a3c
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x100388a2
call fcn.1003a4d2
dec dword [esi]
cmp dword [esi], 0
jge 0x10038885
jmp 0x10038a3c
mov dword [ebp - 0x2c], 0x16be
cmp dword [ebp - 0x2c], 0x584
jge 0x10038a0f
lea eax, [ebp - 0x30]
mov ecx, 0x1007fed8
push eax
call fcn.1001c5ee
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x10038a0b
mov esi, dword [ebp - 0x34]
mov ebx, eax
mov edi, dword [ebp - 0x34]
lea eax, [ebp - 0x1c]
dec ebx
push eax
push ecx
lea eax, [ebp - 0x24]
push eax
push ecx
lea eax, [ebp - 0x18]
push eax
push ecx
lea eax, [ebp - 0x20]
mov ecx, 0x1007fed8
push eax
call fcn.1001c5ee
lea edx, [ebp - 0x12]
mov ecx, eax
call fcn.10041d3e
pop ecx
mov ecx, eax
call fcn.1001c5ee
lea edx, [ebp - 0x13]
mov ecx, eax
call fcn.10041d3e
pop ecx
mov ecx, eax
call fcn.1001c5ee
lea edx, [ebp - 0x12]
mov ecx, eax
call fcn.10041d3e
pop ecx
mov ecx, eax
call fcn.1001c5ee
mov al, byte [ebp - 0x13]
cmp al, 0x2b
jne 0x10038955
mov edi, dword [ebp - 0x1c]
mov eax, edi
mov esi, dword [ebp - 0x24]
imul esi, dword [ebp - 0x18]
imul eax, dword [ebp - 0x20]
add esi, eax
jmp 0x10038987
cmp al, 0x2d
jne 0x1003896d
mov edi, dword [ebp - 0x1c]
mov esi, edi
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x18]
imul esi, dword [ebp - 0x20]
sub esi, eax
jmp 0x10038987
cmp al, 0x2a
jne 0x10038979
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
jmp 0x10038983
cmp al, 0x2f
jne 0x1003898b
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x24]
imul esi, dword [ebp - 0x20]
imul edi, dword [ebp - 0x18]
push edi
push ecx
push esi
mov ecx, 0x1007fdb8
call fcn.1001c7e7
mov ecx, eax
call fcn.10041e19
pop ecx
mov ecx, eax
call fcn.1001c7e7
mov edx, 0x1007064c
mov ecx, eax
call fcn.100113ff
mov edx, edi
mov ecx, esi
call fcn.10038778
push eax
call fcn.100493bf
pop ecx
mov ecx, eax
mov eax, esi
cdq
idiv ecx
mov esi, eax
mov eax, edi
cdq
idiv ecx
mov edi, eax
push edi
push ecx
push esi
mov ecx, 0x1007fdb8
call fcn.1001c7e7
mov ecx, eax
call fcn.10041e19
pop ecx
mov ecx, eax
call fcn.1001c7e7
push 0x1007fdb8
call fcn.1001f0bc
pop ecx
test ebx, ebx
jne 0x100388e6
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x30], eax
cmp byte [ebp + 0x28], 0
je 0x10038a34
xor esi, esi
mov dword [ebx], 0
inc esi
cmp dword [ebx], esi
jge 0x10038a3c
mov edx, dword [ebp + 0x34]
mov ecx, dword [ebx]
mov eax, dword [edx]
mov dword [eax + ecx*4], esi
inc dword [ebx]
cmp dword [ebx], esi
jl 0x10038a25
jmp 0x10038a3c
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0xc]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret