Function at 0x1000bd6d
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10056b7e
call fcn.10056410
sub esp, 0xc4
and dword [ebp - 0x30], 0
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x10], 0x491e29ea
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x20], 0x1df82d83
mov dword [ebp - 0x24], 0x89226c31
push 1
mov dword [ebp - 0x2c], ebx
call fcn.1000c530
xor edx, edx
mov dword [ebp - 0x20], 0x6d238e48
xor esi, esi
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], edx
inc esi
jmp 0x1000bdcf
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
mov dword [eax + ecx*4], 0xc3ec3d4e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1000bdbf
cmp dword [ebp - 0x10], edx
jne 0x1000bdff
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0x54]
mov dword [eax], 0x67b33aec
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, 0x19fa553f
mov eax, edx
setne cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], edx
je 0x1000be01
mov eax, esi
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x10], 0xffffffff
jl 0x1000be16
mov eax, dword [ebp - 0x54]
cmp dword [eax], edx
je 0x1000be16
mov edx, esi
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x54]
call fcn.1000c5b3
call fcn.10007e4c
push ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.1000cb47
and dword [ebp - 4], 0
mov dword [ebp - 0x14], 0x7632667a
mov dword [ebp - 0x10], 0
jmp 0x1000be5c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7c], 0xdf99
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1000be4e
mov dword [ebp - 0x18], 0x213
cmp dword [ebp - 0x18], 0x230
jle 0x1000bec7
xor esi, esi
mov dword [ebp - 0x10], esi
xor edi, edi
mov dword [ebp - 0x20], 0x1754
mov ebx, edi
mov dword [ebp - 0x24], 0x53f7
xor esi, esi
mov eax, ebx
mov ecx, 0x1006cbb8
and eax, esi
cdq
push edx
push eax
call fcn.1000c318
inc esi
cmp esi, 0x7597
jl 0x1000be8b
inc ebx
dec dword [ebp - 0x24]
jne 0x1000be89
mov esi, dword [ebp - 0x10]
add edi, esi
dec dword [ebp - 0x20]
jne 0x1000be80
inc esi
mov dword [ebp - 0x10], esi
cmp esi, 0x131
jl 0x1000be77
mov ebx, dword [ebp - 0x2c]
xor esi, esi
inc esi
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], 0
jl 0x1000bf2e
push esi
lea ecx, [ebp - 0x60]
call fcn.1000c530
xor edx, edx
mov dword [ebp - 0x10], edx
jmp 0x1000bef4
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x60]
mov dword [eax + ecx*4], 0x6a485bf2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1000bee4
mov byte [ebp - 0x19], dl
cmp byte [ebp - 0x19], dl
je 0x1000bf0b
push edx
push edx
call dword [sym.imp.USER32.dll_ScreenToClient]
xor edx, edx
mov ecx, dword [ebp - 0x60]
mov dword [ecx], edx
mov eax, dword [ecx]
inc dword [ecx]
cmp dword [ecx], 4
mov dword [ebp + eax*4 - 0x7c], 0x543b
jl 0x1000bf10
lea ecx, [ebp - 0x60]
call fcn.1000c5b3
dec dword [ebp - 0x14]
jns 0x1000bed4
cmp dword [ebp - 0x18], 0xffffff37
jge 0x1000bf46
mov edx, str.wkstw_cep_fymhvvxw_jedrgsnps_dninrbsvp_rhslv_yegxkbba_ofkax
mov ecx, 0x1006cbb8
call fcn.1000e58f
mov edx, dword [ebp - 0x44]
lea esi, [ebx - 0xe7a]
mov ecx, edx
mov eax, dword [edx + 4]
cmp byte [eax + 0xd], 0
jne 0x1000bf7f
cmp dword [eax + 0x10], esi
jge 0x1000bf64
mov eax, dword [eax + 8]
jmp 0x1000bf68
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x1000bf5a
cmp ecx, edx
je 0x1000bf7f
cmp esi, dword [ecx + 0x10]
jl 0x1000bf7f
mov dword [ebp - 0x3c], ecx
lea esi, [ebp - 0x3c]
jmp 0x1000bf85
mov dword [ebp - 0x34], edx
lea esi, [ebp - 0x34]
mov esi, dword [esi]
mov dword [ebp - 0x18], 0x6322
cmp dword [ebp - 0x18], 0x64bf
mov dword [ebp - 0x28], esi
jle 0x1000bfe4
xor edi, edi
xor ebx, ebx
mov ecx, ebx
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x94]
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000bfbc
mov eax, dword [eax]
push eax
call fcn.1004139c
pop ecx
push 0
push 1
lea ecx, [ebp - 0x94]
call fcn.1000c8ef
inc ebx
cmp ebx, 0x481e
jl 0x1000bf9e
inc edi
cmp edi, 0x2ea8
jl 0x1000bf9c
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x18], 0x5ff3
jge 0x1000bfff
push str.xidqdwvix_cqxvkr_jyyejwpgb_jgjxffjnp_jkqfkngwh_mkeftxmm_adxpmkda_awfin_kfdhbir_gajk
call fcn.1004139c
pop ecx
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 6
mov dword [ebp - 0x10], 0
jmp 0x1000c024
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6c], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1000c016
inc dword [ebp - 0x18]
mov dword [ebp - 0x18], 0x1695
cmp dword [ebp - 0x18], 0x1970
jle 0x1000c065
xor edi, edi
mov ebx, edi
mov esi, 0x485a
mov eax, ebx
mov ecx, 0x1006cbb8
cdq
push edx
push eax
call fcn.1000c318
dec ebx
dec esi
jne 0x1000c046
inc edi
cmp edi, 0x64ba
jl 0x1000c03f
mov esi, dword [ebp - 0x28]
push 2
mov dword [ebp - 0x14], 0
pop ebx
jmp 0x1000c090
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 0
jl 0x1000c08d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6c], 0
mov eax, dword [ebp - 0x68]
dec dword [ebp - 0x10]
jns 0x1000c07a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 9
jl 0x1000c071
cmp dword [ebp - 0x18], 0x156b
jge 0x1000c0ae
mov edx, str.sxpxdkqp_svpqn_wtaacoihj
mov ecx, 0x1006cbb8
call fcn.1000e58f
mov eax, dword [0x1006dc74]
test al, 1
jne 0x1000c0e3
and dword [0x100722dc], 0
or eax, 1
mov dword [0x1006dc74], eax
xor eax, eax
push 0x10057c2d
mov dword [0x100722e0], 7
mov word [0x100722cc], ax
call fcn.10041372
pop ecx
mov dword [ebp - 0x14], 0xa48bbca6
mov dword [ebp - 0x48], 0x3ed23c5a
mov dword [ebp - 0x10], 0
jmp 0x1000c10b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb8], 0x47dc4b4e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1000c0fa
mov dword [ebp - 0x14], 0
jmp 0x1000c12f
mov byte [ebp - 0x19], 0
cmp byte [ebp - 0x19], 0
je 0x1000c12c
push 0
call dword [sym.imp.USER32.dll_DispatchMessageA]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe7
je 0x1000c11a
mov dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], ebx
jg 0x1000c20f
mov dword [ebp - 0x10], 9
mov dword [ebp - 0x20], 0x280e
cmp dword [ebp - 0x20], 0x2ab8
jle 0x1000c1c0
xor esi, esi
mov dword [ebp - 0x24], esi
xor edi, edi
mov dword [ebp - 0x18], edi
mov ecx, edi
mov dword [ebp - 0x2c], esi
xor ebx, ebx
sar esi, cl
xor edi, edi
lea eax, [edi + ebx]
mov ecx, 0x1006cbb8
xor eax, esi
cdq
push edx
push eax
call fcn.1000c318
inc edi
cmp edi, 0x6cfb
jl 0x1000c171
inc ebx
cmp ebx, 0x14e2
jl 0x1000c16f
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x24]
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x4ca0
jl 0x1000c166
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x17c2
jl 0x1000c161
push 0
push 0
call dword [sym.imp.USER32.dll_EndDialog]
push 2
pop ebx
mov dword [ebp - 0x18], 0xbcabebf3
cmp dword [ebp - 0x20], 0x27d4
jge 0x1000c1df
mov edx, str.cthyqi_gspawt_fen_yfnhgercr_nkweev_tfhtdqa_epr
mov ecx, 0x1006cbb8
call fcn.1000e58f
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
xor edx, edx
neg eax
add eax, 0x669b68bc
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setne dl
mov dword [ebp - 0x18], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1000c145
mov esi, dword [ebp - 0x28]
cmp esi, dword [ebp - 0x44]
je 0x1000c22f
push dword [esi + 0x18]
mov edx, dword [esi + 0x14]
lea ecx, [ebp - 0xd0]
call fcn.1000229f
pop ecx
xor ebx, ebx
mov byte [ebp - 4], 1
inc ebx
jmp 0x1000c242
push 0x100722cc
lea ecx, [ebp - 0xac]
call fcn.1000c42d
mov dword [ebp - 4], ebx
mov esi, dword [ebp - 0x38]
mov ecx, esi
push eax
mov dword [ebp - 0x30], ebx
call fcn.1000c42d
or ebx, 4
test bl, 2
je 0x1000c26a
push 0
push 1
lea ecx, [ebp - 0xac]
and ebx, 0xfffffffd
call fcn.1000cafd
test bl, 1
je 0x1000c27e
push 0
push 1
lea ecx, [ebp - 0xd0]
call fcn.1000cafd
lea ecx, [ebp - 0x44]
call fcn.1000c5f5
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret