Function at 0x1003be1c
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005d550
call fcn.1005c388
sub esp, 0xdc
push ebx
push esi
mov dword [ebp - 0x14], 0x45e4
cmp dword [ebp - 0x14], 0x46df
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x70], ecx
jle 0x1003beb5
call dword [sym.imp.USER32.dll_GetCapture]
xor ebx, ebx
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov eax, edi
mov dword [ebp - 0x20], ebx
and eax, esi
mov dword [ebp - 0x2c], eax
mov esi, eax
mov edi, ebx
mov ebx, dword [ebp - 0x20]
mov ecx, edi
mov eax, ebx
shl eax, cl
mov ecx, 0x10075fb8
xor eax, esi
cdq
push edx
push eax
call fcn.10004fa9
inc edi
cmp edi, 0x5c2a
jl 0x1003be68
inc ebx
push 0
mov dword [ebp - 0x20], ebx
cmp ebx, 0x7511
pop ebx
jl 0x1003be63
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x1c]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x6916
jl 0x1003be57
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x5e3b
jl 0x1003be52
jmp 0x1003beb7
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x14], 0x427a
jge 0x1003bed2
mov edx, str.hoqnhcr_rbumqa_boz_eiktymb_vsh_yrjcyce_atyw_mllrgrs
mov ecx, 0x10075fb8
call fcn.1000736a
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0xc], 0
je 0x1003c503
push 0xfffffffffffffff7
pop edi
mov dword [ebp - 0x8c], edi
xor esi, esi
mov dword [ebp - 0x88], edi
inc esi
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x2c], 0x57f451d5
mov dword [ebp - 0x28], 0x4f3f7e81
mov dword [ebp - 0x40], 6
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x20], 0xa66fa4bc
mov dword [ebp - 0x18], 0xfffb
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], ebx
jmp 0x1003bf66
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003bf5c
mov dword [ebp - 0x14], ebx
jmp 0x1003bf7a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x44], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003bf70
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add eax, 4
je 0x1003bf99
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
cmp eax, 0x249de49
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x44]
setle cl
add eax, ecx
mov ecx, dword [ebp - 0x24]
imul edx, eax
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
inc edx
imul ecx, edx
dec dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x38]
mov ecx, esi
cmovg ecx, ebx
add eax, ecx
jne 0x1003bfe6
mov edx, ebx
cmp dword [ebp - 0x88], ebx
je 0x1003bfe8
mov edx, esi
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x84]
sub eax, 0x43
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x44]
jl 0x1003c00f
mov edx, ebx
cmp dword [ebp - 0x18], ebx
je 0x1003c011
mov edx, esi
mov eax, dword [ebp - 0x84]
xor ecx, ecx
cmp eax, edx
setge cl
xor eax, eax
cmp ecx, 0x5ce4ec6
setle al
sub eax, 0xf55f5dd
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x38]
je 0x1003c043
push ecx
lea edx, [ebp - 0x38]
call fcn.1003afd4
jmp 0x1003c058
push ebx
lea edx, [ebp - 0x74]
mov dword [ebp - 0x74], 0x32c2674d
mov ecx, 0x3e72
call fcn.1003acb5
pop ecx
push dword [ebp - 0x70]
lea ecx, [ebp - 0xb8]
call fcn.10007f20
push ecx
push dword [ebp + 0x18]
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], 2
call fcn.1003da55
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x14], 0xfffffff6
mov dword [ebp - 0x24], 0x15898f01
mov dword [ebp - 0x18], ebx
jmp 0x1003c0a4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc0], 0xf9986e3e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003c093
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
je 0x1003c0be
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov edx, 0x20b5
mov eax, dword [ebp - 0x14]
mov ecx, 0x3f19
dec eax
push 0x6570
neg eax
push 0x8d9
push 0x872
sbb eax, eax
neg eax
push ebx
mov dword [ebp - 0xbc], eax
push ebx
call fcn.1003be1c
add esp, 0x14
lea eax, [ebp - 0xb8]
mov edx, 0x2835
lea ecx, [ebp - 0x48]
push ebx
push eax
call fcn.1003b9cb
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x40], 0x57f451d5
mov dword [ebp - 0x20], 0x4f3f7e81
mov dword [ebp - 0x34], 6
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x24], 0xa66fa4bc
mov dword [ebp - 0x1c], 0xfffb
pop ecx
mov dword [ebp - 0x24], ebx
pop ecx
mov dword [ebp - 0x14], ebx
jmp 0x1003c169
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x78], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003c15f
mov dword [ebp - 0x14], ebx
jmp 0x1003c17d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003c173
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
add eax, 4
je 0x1003c19c
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
cmp eax, 0x249de49
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x3c]
setle cl
add eax, ecx
mov ecx, dword [ebp - 0x2c]
imul edx, eax
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
inc edx
imul ecx, edx
dec dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
mov ecx, esi
cmovg ecx, ebx
add eax, ecx
jne 0x1003c1e9
mov edx, ebx
cmp dword [ebp - 0x9c], ebx
je 0x1003c1eb
mov edx, esi
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x98]
sub eax, 0x43
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x3c]
jl 0x1003c212
mov edx, ebx
cmp dword [ebp - 0x1c], ebx
je 0x1003c214
mov edx, esi
mov eax, dword [ebp - 0x98]
xor ecx, ecx
cmp eax, edx
setge cl
xor eax, eax
cmp ecx, 0x5ce4ec6
setle al
sub eax, 0xf55f5dd
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x18]
je 0x1003c266
mov dword [ebp - 0x18], ebx
jmp 0x1003c25e
lea eax, [ebp - 0x2f]
mov byte [ebp - 0x2f], bl
push eax
push ecx
push 0x7f7e
push ebx
mov edx, 0x4cf9
call fcn.100397a5
add esp, 0x10
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xb
jge 0x1003c240
jmp 0x1003c27b
lea edx, [ebp - 0x90]
mov dword [ebp - 0x90], 0x32c2674d
call fcn.10039a36
push ecx
push dword [ebp + 0x18]
lea ecx, [ebp - 0xb8]
call fcn.1003d9d1
mov dword [ebp - 0x48], eax
mov eax, 0x4a68
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x14], 0x871c7bf0
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x14], ebx
jmp 0x1003c2bb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x68], 0x5ff57440
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1003c2ad
push 3
mov dword [ebp - 0x14], ebx
pop edi
jmp 0x1003c2da
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xcc], 0xc7e90690
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1003c2c9
mov dword [ebp - 0x24], 0x5fa9
cmp dword [ebp - 0x24], 0x6053
jle 0x1003c34f
mov esi, ebx
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
and eax, edi
lea ecx, [ebp - 0xe4]
and eax, esi
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003c314
mov eax, dword [eax]
push eax
call fcn.100443ac
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xe4]
call fcn.10005611
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x2879
jl 0x1003c2f8
inc edi
cmp edi, 0x28ac
jl 0x1003c2f3
inc esi
cmp esi, 0x77ad
jl 0x1003c2f1
xor esi, esi
push 3
inc esi
pop edi
mov dword [ebp - 0x14], ebx
jmp 0x1003c429
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x34], 0x5610a143
mov dword [ebp - 0x18], ebx
jmp 0x1003c37f
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x58], ecx
call fcn.100395ff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x1003c369
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x1003c3d6
mov dword [ebp - 0x1c], 0xbfc4f27d
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], ebx
jl 0x1003c3d1
lea eax, [ebp - 0x2e]
mov dword [ebp - 0x7c], 0x20452a26
mov byte [ebp - 0x2e], bl
mov edx, 0x14f6
push eax
xor cl, cl
call fcn.10039bec
push 0x771c
lea edx, [ebp - 0x7c]
mov ecx, 0x7506
call fcn.10039f97
dec dword [ebp - 0x1c]
pop ecx
pop ecx
jns 0x1003c39e
dec dword [ebp - 0x18]
jns 0x1003c38c
mov dword [ebp - 0x18], ebx
jmp 0x1003c421
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x4c]
cmp eax, ecx
setl dl
cmp edx, dword [ebp - 0x18]
jle 0x1003c40e
mov ecx, esi
cmp dword [ebp - 0x20], ebx
jne 0x1003c410
mov ecx, ebx
xor eax, eax
cmp ecx, 0x84868fda
setne al
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x1003c3db
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x1003c357
cmp dword [ebp - 0x24], 0x5d2c
jge 0x1003c446
push str.gzmyg_mej_xfsa_drmunxn_wmqxtcun_bcbpri_tlb_lyjjs_hapvdfaa_npw_spmv_ggnpn
call fcn.100443ac
pop ecx
mov dword [ebp - 4], 2
cmp dword [ebp - 0x14], ebx
je 0x1003c4ac
mov dword [ebp - 0x14], 0xbd0d
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x14], eax
je 0x1003c4a3
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x14]
sub edx, eax
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
neg ecx
cmp ecx, dword [ebp - 0x5c]
jle 0x1003c489
mov eax, esi
cmp dword [ebp - 0x14], ebx
jne 0x1003c48b
mov eax, ebx
cmp eax, dword [ebp - 0x68]
jle 0x1003c493
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x5c]
mov eax, ebx
jl 0x1003c4a5
mov eax, esi
cmp eax, dword [ebp - 0x54]
mov eax, esi
jl 0x1003c4ae
mov eax, ebx
push 0x3dd1
mov dword [ebp - 0xc8], eax
lea edx, [ebp - 0xb8]
push ecx
lea eax, [ebp - 0x48]
push eax
push esi
call fcn.100397a5
push 0x9f5
xor dl, dl
mov ecx, 0x3a33
call fcn.1003a7df
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0xb8]
add esp, 0x14
cmp ecx, eax
je 0x1003c4f4
push 0xffffffffffffffff
push ebx
push eax
call fcn.10006312
push ebx
push esi
lea ecx, [ebp - 0xb8]
call fcn.100056dd
jmp 0x1003c521
push 0x3587
push ecx
push 0x4f79
lea edx, [ebp - 0x2d]
mov byte [ebp - 0x2d], bl
mov ecx, 0x1b66
call fcn.1003ab86
add esp, 0xc
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret