Function at 0x10035e3f
Capabilities:
Encode data using xor
Get keyboard layout

Disassembly:
mov eax, 0x1005afc6
call fcn.10059bf8
sub esp, 0x118
cmp byte [ebp + 0x14], 0
mov eax, edx
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x64], eax
je 0x10035e98
cmp byte [ebp + 0xc], 0
je 0x10035e88
xor ebx, ebx
push ebx
push 0x159
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
jmp 0x10036840
push 0x1191
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
jmp 0x10036840
cmp byte [ebp + 0x18], 0
je 0x10035eb9
cmp byte [ecx], 0
je 0x10036840
push 1
sub esp, 0x24
call fcn.10036948
add esp, 0x28
jmp 0x10036840
mov ecx, dword [ebp + 0x10]
xor ebx, ebx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 8]
push 3
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], ebx
pop esi
jmp 0x10035ee3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc8], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10035ed2
mov dword [ebp - 0x14], ebx
jmp 0x10035efe
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa4], 0x34504cd4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10035eed
mov dword [ebp - 0x9c], ebx
jmp 0x10035f23
mov eax, dword [ebp - 0x9c]
mov dword [ebp + eax*4 - 0xc8], 0xffffffff
inc dword [ebp - 0x9c]
cmp dword [ebp - 0x9c], esi
jl 0x10035f0c
xor eax, eax
mov dword [ebp - 0x80], 7
mov dword [ebp - 0x84], ebx
mov word [ebp - 0x94], ax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], 0x558b
cmp dword [ebp - 0x18], 0x58aa
jle 0x10035f85
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edi, ebx
mov esi, ebx
mov eax, esi
mov ecx, 0x10073e38
xor eax, edi
cdq
push edx
push eax
call fcn.10001ae9
inc esi
cmp esi, 0x2888
jl 0x10035f5f
inc edi
cmp edi, 0x672f
jl 0x10035f5d
push 3
pop esi
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 1
cmp dword [ebp - 0x18], 0x546f
jge 0x10035fc5
mov edx, str.tjjnybus_jtsarg_mxvvriwyz_zhbye_foeh_gembfzky_lbup_gauwsrtek_jmg_zngjqtf_gznz
mov ecx, 0x10073e38
call fcn.100034b8
jmp 0x10035fc5
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], 0x11738ab6
mov dword [ebp - 0x1c], 0x78e9
cmp dword [ebp - 0x1c], 0x792a
jle 0x1003603f
mov esi, ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x104]
or eax, esi
cdq
push edx
push eax
call fcn.10001a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10036006
mov eax, dword [eax]
push eax
call fcn.10041a06
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x104]
call fcn.10001e51
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x74e2
jl 0x10035fe8
inc edi
cmp edi, 0x2f42
jl 0x10035fe3
inc esi
cmp esi, 0xbf3
jl 0x10035fe1
push 3
pop esi
cmp dword [ebp - 0x1c], 0x7861
jge 0x10036053
push str.yxoumjvbr_fflgm_rog_ddhtrnkv_qfeisdeom_nxqdlhjjd_fxqvxlokp_pgp_hjucxdmm_gdpd_rhzv_sgt_bjosaqc_vwlcpitd
call fcn.10041a06
pop ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], ebx
jmp 0x1003606c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xac], 0xae355683
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003605b
mov dword [ebp - 0x14], ebx
jmp 0x100360b9
mov eax, dword [ebp - 0x14]
xor dl, dl
push 0x1878
push ebx
push 0x3bc
mov eax, dword [ebp + eax*4 - 0xac]
push 0x69ff
push 0x4ed
push ecx
push ecx
mov dword [ebp - 0x20], eax
mov ecx, 0x3c86
lea eax, [ebp + 0x17]
mov byte [ebp + 0x17], bl
push 0x638a
push eax
call fcn.100358db
add esp, 0x24
inc dword [ebp - 0x14]
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x14], ecx
jle 0x10036077
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x10]
cmp dword [ebp - 0x64], eax
ja 0x1003625b
mov dword [ebp - 0x1c], 0x394d
cmp dword [ebp - 0x1c], 0x3cf8
jle 0x10036143
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], 0x31a5
mov ecx, ebx
mov eax, edi
shl eax, cl
mov ecx, 0x10073e38
cdq
push edx
push eax
call fcn.10001ae9
add ebx, esi
dec dword [ebp - 0x18]
jne 0x10036101
inc esi
push 0
pop ebx
cmp esi, 0xc8f
jl 0x100360f7
inc edi
cmp edi, 0x692c
jl 0x100360f5
push ebx
push 0x11e9
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetScrollInfo]
mov byte [ebp - 4], 5
cmp dword [ebp - 0x1c], 0x3629
jge 0x1003617d
mov edx, str.glkj_fmidtrz_puoseq_sxfgbxmu_xzgp_qtpc_dsgemkkyn_rjynr_ctcr
mov ecx, 0x10073e38
call fcn.100034b8
jmp 0x1003617d
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1c], 0x24ec2e0c
mov dword [ebp - 0x34], 0x9ebf495e
mov dword [ebp - 0x14], ebx
jmp 0x100361a4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x124], 1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10036193
mov dword [ebp - 0x1c], 0xfffffff7
jmp 0x10036227
mov dword [ebp - 0x14], 0x532bb11a
mov dword [ebp - 0x34], 0x425a80e3
mov dword [ebp - 0x34], 0x374c7af
mov dword [ebp - 0x34], 0xcd32
mov dword [ebp - 0x70], 0x2b82
mov dword [ebp - 0x14], ebx
jmp 0x100361e9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7c], 0xa3a92bd4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x100361db
mov dword [ebp - 0x14], ebx
jmp 0x1003621e
push ecx
mov dword [ebp - 0x34], 0xffffffff
lea edx, [ebp - 0x70]
mov dword [ebp - 0x34], 1
mov ecx, 0x173d
push 1
call fcn.1003451d
pop ecx
mov dword [ebp - 0x7c], 0xfffffff9
inc dword [ebp - 0x14]
pop ecx
cmp dword [ebp - 0x14], 6
jge 0x100361f4
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff1
jl 0x100361b3
mov byte [ebp - 0x36], bl
cmp byte [ebp - 0x36], 0
je 0x1003623f
push ecx
xor cl, cl
call fcn.1003461c
pop ecx
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x94]
cmp eax, ecx
je 0x10036832
push 0xffffffffffffffff
push ebx
push ecx
mov ecx, eax
jmp 0x1003682d
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], 0x8cccddd
mov dword [ebp - 0x44], 0x5b2906c9
mov dword [ebp - 0x60], 0xffffffff
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], 0x17b722ba
mov dword [ebp - 0x14], ebx
jmp 0x1003628f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x114], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10036282
mov dword [ebp - 0x14], ebx
jmp 0x100362a8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003629a
lea eax, [ebp - 0x44]
mov edx, 0x6cc8
push eax
push ebx
push 0x1f6e
lea eax, [ebp - 0x78]
push eax
push ecx
lea eax, [ebp - 0x60]
xor cl, cl
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.10035c2e
add esp, 0x1c
xor edx, edx
dec dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x60]
cmp ecx, eax
push 0x1c95
setl dl
neg edx
mov dword [ebp - 0x44], edx
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x48]
push 1
push eax
push ecx
push ecx
lea ecx, [ebp - 0x94]
call fcn.10034411
push 0x73d4
push 0x1748
push ebx
push 0x32b6
push 0x4253
xor eax, eax
mov edx, 0x71c8
inc eax
push 0x335e
push 0x5de8
mov dword [ebp - 0x14], eax
mov cl, al
mov dword [ebp - 0x30], 0xffff
push eax
call fcn.10034ac7
add esp, 0x34
mov dword [ebp - 0x14], 9
jmp 0x100364b7
mov dword [ebp - 0x18], 0xcbeb9691
mov dword [ebp - 0x1c], ebx
jmp 0x1003636c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2c], 0xffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x1003635e
push ecx
push 0x10e1
push 0x40d4
mov byte [ebp - 0x35], bl
lea ecx, [ebp - 0x35]
push ebx
mov edx, 0x6447
call fcn.10034c44
mov eax, dword [ebp - 0x2c]
add esp, 0x10
cmp dword [ebp - 0x14], ebx
je 0x100363b2
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x18], ebx
je 0x100363d7
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0xf0f5ebe
mov dword [ebp - 0x20], 7
inc dword [ebp - 0x30]
jmp 0x100364b4
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x28], 0x8a0c0902
mov dword [ebp - 0x20], 0x17fe
cmp dword [ebp - 0x20], 0xb7e
jge 0x10036447
lea eax, [ebp - 0x4c]
push eax
push str._ld_n
call fcn.10041c62
mov edi, dword [ebp - 0x4c]
mov eax, edi
cdq
idiv esi
pop ecx
pop ecx
cmp edx, 1
jne 0x10036415
dec edi
jmp 0x1003641b
cmp edx, 2
jne 0x1003641e
inc edi
mov dword [ebp - 0x4c], edi
push 0x24
pop ecx
mov eax, edi
cdq
idiv ecx
push 3
mov esi, eax
imul ecx, esi, 0x24
sub edi, ecx
pop ecx
mov eax, edi
cdq
idiv ecx
push eax
push esi
push str._ld__ld_n
call fcn.10041a06
add esp, 0xc
push 3
pop esi
mov dword [ebp - 0x1c], ebx
jmp 0x10036459
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb8], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1003644c
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor edx, edx
cmp eax, ecx
setle dl
sub edx, 8
neg edx
sbb edx, edx
inc edx
cmp edx, dword [ebp - 0x2c]
jge 0x10036491
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x14]
mov edx, 0x72d6
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x14]
push ecx
push ecx
xor cl, cl
mov dword [ebp - 0x18], 0x776e9f81
call fcn.10034bfa
pop ecx
pop ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x15
je 0x10036352
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x5c]
jae 0x10036698
mov dword [ebp - 0x20], 0x5b2a
cmp dword [ebp - 0x20], 0x5bb4
jle 0x10036522
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov ecx, 0x10073e38
and eax, edi
or eax, esi
cdq
push edx
push eax
call fcn.10001ae9
inc ebx
cmp ebx, 0x129c
jl 0x100364e4
inc edi
push 0
pop ebx
cmp edi, 0x68c2
jl 0x100364e1
inc esi
cmp esi, 0x52db
jl 0x100364df
push 1
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorOwner]
push 3
pop esi
push ecx
push ebx
push ecx
lea eax, [ebp - 0x40]
mov dword [ebp - 0x3c], 0x33efc07e
mov dword [ebp - 0x40], 0xffffffff
lea ecx, [ebp - 0x3c]
push eax
mov edx, 0x1ee4
call fcn.100358c3
add esp, 0x10
mov dword [ebp - 0x40], ebx
cmp dword [ebp - 0x40], 0x1d
jl 0x10036638
mov dword [ebp - 0x18], ebx
jmp 0x1003656a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd4], 0x1da6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10036559
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], 2
jg 0x1003662d
mov dword [ebp - 0x28], 0x5a72
cmp dword [ebp - 0x28], 0x5cb7
jle 0x10036609
mov esi, ebx
mov edi, ebx
mov edx, esi
mov dword [ebp - 0x1c], ebx
mov ecx, edi
shl edx, cl
mov dword [ebp - 0x14], edx
mov ecx, ebx
mov dword [ebp - 0x18], 0x75d8
mov dword [ebp - 0x30], ecx
mov eax, edx
shl eax, cl
lea ecx, [ebp - 0xec]
cdq
push edx
push eax
call fcn.10001a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100365c4
mov eax, dword [eax]
push eax
call fcn.10041a06
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xec]
call fcn.10001e51
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
add ecx, eax
dec dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], ecx
jne 0x100365a8
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x123
jl 0x1003659c
inc edi
cmp edi, 0x6c33
jl 0x10036590
inc esi
cmp esi, 0x7754
jl 0x1003658e
call fcn.10037321
cmp dword [ebp - 0x28], 0x5831
jge 0x10036622
push str.cpijpkd_vvkys_etkjmtfb_sgpndpol_dtbpp_yxzkguf
call fcn.10041a06
pop ecx
mov dword [ebp - 4], ebx
inc dword [ebp - 0x3c]
jmp 0x10036572
inc dword [ebp - 0x40]
push 3
pop esi
jmp 0x1003654a
mov byte [ebp - 4], 9
cmp dword [ebp - 0x20], 0x5986
jge 0x10036675
mov edx, str.tpbs_wmk_fgcvt_erudcpmf_hmtcud_ofdgrtjmg_xnx_wszkyt_cruyvb_whhex_wtnmysjap_mqjlzijq
mov ecx, 0x10073e38
call fcn.100034b8
jmp 0x10036675
push 0x1fce
push ecx
lea eax, [ebp - 0x94]
mov dword [ebp - 4], ebx
push eax
push ecx
lea edx, [ebp - 0x48]
xor cl, cl
call fcn.10035ad9
add esp, 0x10
jmp 0x100364c1
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x20], 0x3b1067dc
mov dword [ebp - 0x18], ebx
jmp 0x100366b5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x58], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100366ab
mov dword [ebp - 0x58], ebx
cmp dword [ebp - 0x58], 0xfffffff0
jl 0x1003681c
mov dword [ebp - 0x14], ebx
jmp 0x100366dd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbc], 0xc3099cf
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x100366cc
mov dword [ebp - 0x30], 0x3cbf
cmp dword [ebp - 0x30], 0x3f79
jle 0x10036748
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x20], ebx
mov eax, edi
mov dword [ebp - 0x18], esi
cdq
mov ebx, 0x19a3
idiv ecx
sub esi, edx
mov eax, esi
mov ecx, 0x10073e38
cdq
push edx
push eax
call fcn.10001ae9
dec esi
dec ebx
jne 0x1003670e
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x14f1
jl 0x100366ff
inc edi
cmp edi, 0x7c18
jl 0x100366fa
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x6b5b
jl 0x100366f8
mov dword [ebp - 0x14], ebx
jmp 0x1003675b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x24], 0x16580849
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1003674d
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x30], 0x3b44
jge 0x1003679b
mov edx, str.hmhq_ljl_ahx_stxwuehsc_pcfp_wevmfpe_roancjzy_cbixwevco_pup_mcfez_jilosn_ccttxae_vsoyfddz
mov ecx, 0x10073e38
call fcn.100034b8
jmp 0x1003679b
mov dword [ebp - 4], ebx
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jl 0x10036814
mov dword [ebp - 0x20], 0x9b69
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0x20], 0x5cf4
cmp dword [ebp - 0x50], ebx
jne 0x100367f0
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setge dl
cmp dword [ebp - 0x20], edx
jle 0x100367e1
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x24]
jns 0x100367a6
dec dword [ebp - 0x58]
jmp 0x100366bd
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x94]
cmp ecx, eax
je 0x10036832
push 0xffffffffffffffff
push ebx
push eax
call fcn.10007120
push ebx
push 1
lea ecx, [ebp - 0x94]
call fcn.10006eef
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret