Function at 0x1003cfdc
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1006375c
call fcn.10061a48
sub esp, 0xe8
cmp byte [ebp + 8], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x48], edx
je 0x1003d00a
mov ecx, 0xbbc
call fcn.1000ebd4
jmp 0x1003d5c1
push 0x19e4
mov edx, 0x4f85
xor cl, cl
call fcn.1003d5d2
movdqa xmm0, xmmword [0x100707d0]
lea eax, [ebp - 0xb4]
pop ecx
push 3
pop esi
push dword [ebp - 0x40]
xor ebx, ebx
mov dword [ebp - 0x18], esi
push eax
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x74], ebx
push eax
push ebx
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x70], ebx
movdqu xmmword [ebp - 0xc4], xmm0
mov dword [ebp - 0x6c], ebx
call fcn.10007962
mov dword [ebp - 4], ebx
mov dword [ebp - 0x28], 0x2b96ce02
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x18], 0xffffffeb
jmp 0x1003d1ae
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x38], ebx
jl 0x1003d17c
push dword [ebp - 0x40]
movdqa xmm0, xmmword [0x100707f0]
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xd4]
mov dword [ebp - 0x58], ebx
push eax
push ebx
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x54], ebx
movdqu xmmword [ebp - 0xd4], xmm0
mov dword [ebp - 0x50], ebx
call fcn.10007962
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x58]
mov dword [edi + 8], ebx
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], ebx
jl 0x1003d15c
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x24], ebx
jmp 0x1003d0fa
mov dword [ebp - 0x4c], 0x19a80bfb
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], 1
xor dl, dl
call fcn.1003d931
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x1003d0df
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], ebx
jl 0x1003d153
push 1
push ebx
push ebx
push 0x462a
mov byte [ebp - 0x29], bl
lea ecx, [ebp - 0x29]
push 0x6c64
mov edx, 0x70af
call fcn.1003e4c8
add esp, 0x14
mov byte [ebp - 0x2b], bl
lea eax, [ebp - 0x2b]
push 0x73e9
push ecx
push 0x50b5
push eax
push 0x6132
push 0x114e
xor cl, cl
call fcn.1003b622
add esp, 0x18
dec dword [ebp - 0x28]
jns 0x1003d107
dec dword [ebp - 0x1c]
jns 0x1003d0d3
inc dword [edi + 8]
cmp dword [edi + 8], esi
jle 0x1003d0c0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], bl
call fcn.10004ee5
dec dword [ebp - 0x38]
jns 0x1003d083
push 0x2e04
push ebx
lea eax, [ebp - 0x5c]
mov edx, 0x2601
push eax
lea eax, [ebp - 0x38]
mov ecx, 0x4788
push eax
push 0x1a8a
push 0x6a7c
push 0x7a53
call fcn.1003ccdc
add esp, 0x1c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x11
jge 0x1003d070
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.10004ee5
mov eax, dword [ebp + 0x10]
movzx eax, word [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x20], 0x5cf1
cmp dword [ebp - 0x20], 0x5e83
jle 0x1003d207
mov edi, ebx
mov esi, ebx
mov eax, esi
mov ecx, 0x1007d9f8
xor eax, edi
cdq
push edx
push eax
call fcn.10004c38
inc esi
cmp esi, 0x197c
jl 0x1003d1e1
inc edi
cmp edi, 0x7c4e
jl 0x1003d1df
push 3
pop esi
push 2
mov dword [ebp - 0x28], 0x20624039
pop edi
mov dword [ebp - 4], edi
cmp dword [ebp - 0x20], 0x5a76
jge 0x1003d22c
mov edx, str.dqekkttcz_rdpsual_splutg_ksejkdn_dpqxwcajr_lgrmy_arfnyqe_vuy_xperyjn_chqndbbex_qbnuxk_lcm_phfpaf
mov ecx, 0x1007d9f8
call fcn.100070aa
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x28], 0xfffffffc
jmp 0x1003d40b
mov dword [ebp - 0x24], 0xc0f8067e
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x20], 0xde9ab5c2
mov dword [ebp - 0x18], ebx
jmp 0x1003d28f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xdc], 0xff55e00f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1003d27e
mov dword [ebp - 0x24], ebx
jmp 0x1003d3fe
mov dword [ebp - 0x20], 0x79c4185a
mov dword [ebp - 0x20], 0xd0176df7
mov dword [ebp - 0x20], 0xd0f065f4
mov dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], ebx
jl 0x1003d3f4
push edi
lea ecx, [ebp - 0x8c]
call fcn.10004e62
push 4
pop eax
mov dword [ebp - 4], eax
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0x1c], 0x643b8a27
push eax
call fcn.10004e62
push 0x68dd
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 5
push eax
push ebx
lea edx, [ebp - 0x34]
mov ecx, 0x9b4
call fcn.1003bd3a
add esp, 0xc
mov dword [ebp - 0x34], ebx
jmp 0x1003d31f
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 0x6a0b5978
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 4
jl 0x1003d30c
mov eax, dword [ebp - 0x8c]
mov dword [eax], 1
mov dword [ebp - 0x1c], 0xb9193c1d
mov dword [ebp - 0x1c], 0x667f5aee
mov dword [ebp - 0x1c], 0x4151c8b9
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1003d360
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x68], 0xfffffff7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003d352
mov dword [ebp - 0x68], ebx
jmp 0x1003d3ad
mov dword [ebp - 0x1c], 0xd2f38d9
mov dword [ebp - 0x1c], 0xdffbe584
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x1c], 0xfffffff6
mov dword [ebp - 0x1c], 1
cmp dword [ebp - 0x1c], ebx
jl 0x1003d3aa
push ecx
lea eax, [ebp - 0x44]
mov edx, 0x3101
push eax
xor cl, cl
call fcn.1003ad81
dec dword [ebp - 0x1c]
pop ecx
pop ecx
jns 0x1003d392
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], 1
jle 0x1003d36a
mov eax, dword [ebp - 0x8c]
dec dword [eax]
jns 0x1003d331
mov byte [ebp - 0x2a], bl
cmp byte [ebp - 0x2a], 0
je 0x1003d3d1
xor cl, cl
call fcn.1003cd7c
lea ecx, [ebp - 0xb4]
call fcn.10004ee5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8c]
call fcn.10004ee5
dec dword [ebp - 0x20]
jns 0x1003d2c1
xor cl, cl
call fcn.1003e0b0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 1
jle 0x1003d29c
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff2
jl 0x1003d264
push esi
lea ecx, [ebp - 0xa4]
call fcn.10004e62
push edi
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 6
call fcn.10004e62
mov byte [ebp - 4], 7
mov dword [ebp - 0x24], 0x745
cmp dword [ebp - 0x24], 0x974
jle 0x1003d4cd
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov esi, ebx
mov dword [ebp - 0x18], ebx
mov ecx, esi
mov dword [ebp - 0x28], 0x15a0
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov eax, esi
shl eax, cl
lea ecx, [ebp - 0xf4]
or eax, edi
cdq
push edx
push eax
call fcn.10001a95
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003d483
mov eax, dword [eax]
push eax
call fcn.1004af7c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xf4]
call fcn.10005365
mov ecx, dword [ebp - 0x1c]
dec ecx
dec dword [ebp - 0x28]
mov dword [ebp - 0x1c], ecx
jne 0x1003d465
mov esi, dword [ebp - 0x18]
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x5633
jl 0x1003d456
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x6612
jl 0x1003d451
inc edi
cmp edi, 0x5b2f
jl 0x1003d44e
push 2
pop edi
mov dword [ebp - 0x30], 0xc5416513
cmp dword [ebp - 0x24], 0x72e
jge 0x1003d4e8
push str.ymqpscikx_cweyroqzg_dhuydiqx_mvcyr_xlxps_hefxwnkl_fwknjdx_sfvae_qpxck_uxt_wolrmjc
call fcn.1004af7c
pop ecx
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 7
push eax
push 0x52d0
lea eax, [ebp - 0xa4]
mov edx, 0x80d
push eax
push ecx
xor cl, cl
call fcn.1003c3ee
add esp, 0xc
lea eax, [ebp - 0x40]
xor dl, dl
push 0x3add
push eax
push ecx
push 0x5aaf
lea ecx, [ebp - 0x98]
call fcn.1003cef3
add esp, 0xc
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.1003e916
add esp, 0x10
mov dword [ebp - 0x30], 0xa
jmp 0x1003d580
push edi
lea ecx, [ebp - 0x80]
call fcn.10004e62
push ecx
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0xa8]
call fcn.1003cc2d
mov eax, dword [ebp - 0x80]
pop ecx
pop ecx
lea ecx, [ebp - 0x80]
cmp dword [eax + 4], ebx
jne 0x1003d588
mov byte [ebp - 4], 7
call fcn.10004ee5
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x1c
jg 0x1003d54a
jmp 0x1003d58d
call fcn.10004ee5
lea ecx, [ebp - 0x98]
call fcn.10004ee5
lea ecx, [ebp - 0xa4]
call fcn.10004ee5
mov cl, byte [ebp + ebx - 0x3c]
mov dl, 0x25
call fcn.100446b5
mov byte [ebp + ebx - 0x3c], al
inc ebx
cmp ebx, edi
jb 0x1003d5a3
mov ecx, dword [ebp - 0x48]
mov ax, word [ebp - 0x3c]
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