Function at 0x1003dc95
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10061cb3
call fcn.100600a0
sub esp, 0xd0
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x88], edx
push edi
mov dword [ebp - 0x10], esp
cmp byte [ebp + 0x10], bl
je 0x1003dcde
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x1003e196
push 0x500b
push 0x7d79
push ecx
push ebx
push ecx
call fcn.1003a3b1
add esp, 0x14
jmp 0x1003e196
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], 0x2d8
cmp dword [ebp - 0x34], 0x52f
jle 0x1003dd1b
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x1007bb98
xor eax, esi
cdq
push edx
push eax
call fcn.100042e3
inc edi
cmp edi, 0x43f4
jl 0x1003dcf8
inc esi
cmp esi, 0x7ed3
jl 0x1003dcf6
push 3
lea ecx, [ebp - 0x80]
call fcn.10004595
mov dword [ebp - 4], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], ebx
jmp 0x1003dd41
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x94], 1
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
jl 0x1003dd30
push 0x7766
lea eax, [ebp - 0x30]
mov edx, 0x2840
push eax
lea eax, [ebp - 0x80]
xor cl, cl
push eax
push 1
push ebx
call fcn.1003d4dc
mov edi, dword [ebp - 0x80]
add esp, 0x14
or esi, 0xffffffff
mov dword [edi + 4], 2
push 0x3a53
push 0x36cf
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], esi
push ebx
push ecx
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], esi
push ecx
mov dword [ebp - 0x28], ebx
mov ecx, 0x4536
mov dword [ebp - 0x3c], 1
call fcn.10039c61
add esp, 0x14
mov dword [ebp - 0x68], ebx
jmp 0x1003dfab
push dword [ebp - 0x4c]
movdqa xmm0, xmmword [0x1006f170]
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x20], esi
push eax
push ebx
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], ebx
movdqu xmmword [ebp - 0xb8], xmm0
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
call fcn.10006d4a
mov byte [ebp - 4], 1
mov dword [ebp - 0x28], 0xa7c6dd3e
mov dword [ebp - 0x20], ebx
jmp 0x1003df83
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x1c], 2
cmp dword [ebp - 0x1c], ebx
jl 0x1003df7a
push dword [ebp - 0x4c]
movdqa xmm0, xmmword [0x1006f1e0]
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x48], ebx
push eax
push ebx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x44], ebx
movdqu xmmword [ebp - 0xa8], xmm0
mov dword [ebp - 0x40], ebx
call fcn.10006d4a
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x68]
cmp dword [ebp + eax*4 - 0x94], ebx
jne 0x1003df5e
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
mov dword [eax + 0xc], ebx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x84], eax
push 1
lea ecx, [ebp - 0x64]
call fcn.10004595
push 0xd31
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x98]
xor dl, dl
push eax
push ecx
mov ecx, 0xdc2
call fcn.1003d944
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp dword [edi + 4], esi
push 0x1924
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x84]
push 0x1a01
setg cl
push ebx
mov dword [eax + 0xc], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x64]
cmp dword [eax], 0x2fa8
setge cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x64]
cmp ecx, dword [eax]
setg dl
mov dword [ebp - 0x28], edx
mov edx, 0x663b
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x94]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
neg ecx
cmp ecx, 0x1ea0
mov ecx, 0xfa
setge al
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x29]
push eax
push 1
push 0x2e38
mov byte [ebp - 0x29], bl
call fcn.10039e6b
mov byte [ebp - 4], 2
push dword [ebp - 0x64]
call fcn.100497d9
mov eax, dword [ebp - 0x3c]
add esp, 0x2c
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
inc dword [eax + 0xc]
cmp dword [eax + 0xc], 2
jle 0x1003de64
mov byte [ebp - 4], 1
push dword [ebp - 0x48]
call fcn.100497d9
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
dec dword [ebp - 0x1c]
pop ecx
jns 0x1003de0b
jmp 0x1003df7a
mov byte [ebp - 4], 1
cmp dword [ebp - 0x48], 0
je 0x1003df7a
push dword [ebp - 0x48]
call fcn.100497d9
pop ecx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov eax, dword [edi + 4]
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x1003ddf4
mov byte [ebp - 4], bl
cmp dword [ebp - 0x58], 0
je 0x1003dfa8
push dword [ebp - 0x58]
call fcn.100497d9
pop ecx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], 2
jle 0x1003ddab
dec dword [edi + 4]
jns 0x1003dd73
push dword [ebp - 0x80]
call fcn.100497d9
mov dword [ebp - 4], 4
cmp dword [ebp - 0x34], 0x99
pop ecx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
jge 0x1003e010
mov edx, str.tlpmesfx_rdwm_xlijeo_xngnf_qhuuoxg_nygosu_pkzbs
mov ecx, 0x1007bb98
call fcn.100067dc
jmp 0x1003e010
mov dword [ebp - 4], esi
call fcn.1003e23a
mov ecx, dword [ebp + 0x14]
mov al, byte [ecx]
mov byte [ebp - 0x21], al
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], ebx
jmp 0x1003e039
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xc4], 0xa8eac8b1
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1003e028
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1003e06b
sub esp, 0x14
mov edx, 0xde5
push ebx
push ecx
push ecx
push 0x1cc9
push 0x11a8
push ecx
mov ecx, 0xf52
call fcn.10039abc
add esp, 0x2c
mov dword [ebp - 0x1c], ebx
jmp 0x1003e081
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc4], 0xfffffff7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1003e070
push 0x2b77
lea eax, [ebp - 0x38]
push ebx
push eax
lea edx, [ebp - 0x21]
call fcn.1003d4b3
add esp, 0xc
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x3c], 0xfffffff8
mov edx, 0x642e
push 0x289b
push 0x6ae4
push 0x10ce
push 0x4db8
push 0x3592
push 0x31cb
push 0x4c7
push ecx
lea ecx, [ebp - 0x4c]
call fcn.1003e923
push 1
push 0x74cb
push 0x34fd
mov byte [ebp - 0x2a], bl
lea edx, [ebp - 0x2a]
push 0x79ca
mov cl, 1
call fcn.1003930c
mov esi, dword [ebp - 0x38]
add esp, 0x30
mov dl, 0xd9
mov cl, byte [esi]
call fcn.1004319e
mov byte [esi], al
mov dword [ebp - 0x34], 0x2999
cmp dword [ebp - 0x34], 0x2b42
jle 0x1003e177
mov esi, ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x38], ebx
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0xdc]
xor eax, esi
cdq
push edx
push eax
call fcn.10001a85
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003e141
mov eax, dword [eax]
push eax
call fcn.10049603
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xdc]
call fcn.100048ea
mov ecx, dword [ebp - 0x38]
inc ecx
mov dword [ebp - 0x38], ecx
cmp ecx, 0x946
jl 0x1003e123
inc edi
cmp edi, 0x432d
jl 0x1003e11e
inc esi
cmp esi, 0x3ff7
jl 0x1003e11c
cmp dword [ebp - 0x34], 0x2882
mov ecx, dword [ebp - 0x88]
mov al, byte [ebp - 0x21]
mov byte [ecx], al
jge 0x1003e196
push str.crt_vjpqgq_ghj_loadtra_wtso_bfchef_cfmhkdvt_qitiqdvyi_ymy_abdkyt_goaezdcn_bzepm_uwsdqd
call fcn.10049603
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret