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

Disassembly:
mov eax, 0x1005edad
call fcn.1005e6e0
sub esp, 0xa4
push ebx
push esi
mov dword [ebp - 0x20], 0x221b
xor ebx, ebx
cmp dword [ebp - 0x20], 0x22f1
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x60], ecx
jle 0x10007d4d
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadIconA]
mov edi, ebx
xor esi, esi
mov dword [ebp - 0x24], edi
inc esi
mov eax, ebx
mov dword [ebp - 0x14], ebx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
cdq
idiv ecx
mov dword [ebp - 0x1c], edi
sub edi, edx
mov dword [ebp - 0x1c], 0x944
mov eax, edi
lea ecx, [ebp - 0xb0]
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10007cfa
mov eax, dword [eax]
push eax
call fcn.10047d34
pop ecx
push ebx
push esi
lea ecx, [ebp - 0xb0]
call fcn.10002050
dec edi
dec dword [ebp - 0x1c]
jne 0x10007ce0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x24]
inc ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
cmp ecx, 0x34ae
jl 0x10007cd1
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x6bd5
jl 0x10007ccc
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x282a
jl 0x10007cc7
push 0x26c
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
jmp 0x10007d50
xor esi, esi
inc esi
cmp dword [ebp - 0x20], 0x2149
jge 0x10007d64
push str.qbhnxsb_uqczss_efcewndio_uanham_kqvzjvsxf_doiimjqn_ubhmr_nrzmqe_vvpmpqq_wwrerys_dqbe
call fcn.10047d34
pop ecx
or edi, 0xffffffff
mov dword [ebp - 4], edi
mov dword [ebp - 0x24], 0x7a7b
cmp dword [ebp - 0x24], 0x7b2e
jle 0x10007dd2
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov esi, eax
mov dword [ebp - 0x1c], ebx
and esi, edi
mov eax, esi
mov ecx, 0x1007ab78
xor eax, ebx
cdq
push edx
push eax
call fcn.10001bfe
inc ebx
cmp ebx, 0x15e8
jl 0x10007d88
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
push 0
pop ebx
cmp eax, 0x161c
jl 0x10007d81
inc edi
cmp edi, 0x63d1
jl 0x10007d7c
push 0x13fd
push 0x1e3a
call dword [sym.imp.USER32.dll_GetDlgItem]
xor esi, esi
inc esi
or edi, 0xffffffff
mov dword [ebp - 4], 2
cmp dword [ebp - 0x24], 0x7895
jge 0x10007e15
mov edx, str.sshtm_yvtiimwb_cik_cnifo_gpwulv_dlnsgerag_nabbzw_qftwg_yzswzeob_kuetg_pdjzf_wxg_wqpdsjgbh
mov ecx, 0x1007ab78
call fcn.100039fb
jmp 0x10007e15
mov dword [ebp - 4], edi
cmp byte [ebp + 0x10], 0
je 0x10007e79
mov ecx, dword [ebp + 0x2c]
cmp dword [ecx], edi
ja 0x10007e68
mov eax, dword [ebp + 0x14]
xor edx, edx
mov dword [eax], 0xffff
mov eax, dword [ecx]
test eax, eax
mov ecx, dword [ecx]
mov eax, dword [ebp + 0xc]
setne dl
sub ecx, edx
mov dword [eax], ecx
mov ecx, dword [ebp + 0x2c]
mov eax, dword [ecx]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
cmp dword [eax], edi
jne 0x10007e55
mov eax, dword [ebp + 0x30]
cmp dword [eax], ebx
jne 0x10007e5b
cmp dword [ecx], ebx
mov ecx, ebx
je 0x10007e5d
mov ecx, esi
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
mov dword [eax], ecx
test ecx, ecx
jne 0x10007e6a
mov esi, ebx
mov eax, dword [ebp + 0x24]
mov dword [eax], esi
mov eax, dword [ebp - 0x60]
mov dword [eax], esi
jmp 0x100081e5
mov eax, dword [ebp + 0x20]
xor edx, edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], 0xfffffff8
mov dword [ebp - 0x14], 0xcf5aa05d
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x1c], 0xfffffffc
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setg cl
inc ecx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
xor ecx, ecx
cmp dword [ebp - 0x20], eax
setle cl
cmp ecx, dword [ebp - 0x18]
jg 0x10007edc
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp eax, 0xfea0
push 2
setge dl
xor ecx, ecx
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp edx, eax
setl cl
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], ebx
je 0x10007ffe
pop eax
push eax
lea ecx, [ebp - 0x84]
call fcn.1000efc4
push ecx
push ecx
push 0xf01
sub esp, 0xc
mov dword [ebp - 4], 4
lea eax, [ebp - 0x54]
mov dword [ebp - 0x14], 0x7c2657a7
push ebx
push ecx
push 0x6d79
push eax
lea ecx, [ebp - 0x84]
call fcn.10006bd5
add esp, 0x28
mov dword [ebp - 0x18], ebx
jmp 0x10007fc9
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp eax, 0x5412
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x48]
jne 0x10007f6a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x84]
mov dword [eax], 5
mov dword [ebp - 0x14], 0x585c2c10
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x4c]
cmp eax, esi
mov eax, dword [ebp - 0x18]
sete dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x4c]
cmp edx, eax
setle cl
sub ecx, 0x4e22
mov dword [ebp - 0x1c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x10007f4b
push esi
push esi
push 0x36c3
push ebx
mov edx, 0x2acf
mov byte [ebp - 0x29], bl
lea ecx, [ebp - 0x29]
call fcn.100071fb
add esp, 0x10
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x84]
call fcn.1000f047
jmp 0x10008047
xor ecx, ecx
mov dword [ebp - 0x20], 0x2ffabe4b
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x1ea52fa5
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
pop eax
setl cl
cmp eax, ecx
mov ecx, 0x6e99
sbb eax, eax
inc eax
sub ecx, eax
sub ecx, 0xbd68e480
add ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x38], 0xffff
mov dword [ebp - 0x50], 0x1c7bf0b9
mov dword [ebp - 0x5c], 0xd2703d9b
mov dword [ebp - 0x24], 0x5362daab
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x28], 0x7e2f9d44
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x64], 0xfffffffd
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], ebx
jmp 0x100080a1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x30], 0xa32a17d0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10008093
push ebx
push 0x778c
push ecx
lea eax, [ebp - 0x38]
mov edx, 0x601a
push eax
lea eax, [ebp - 0x50]
push eax
push ecx
mov ecx, 0x76a9
call fcn.10005af1
mov eax, dword [ebp - 0x38]
add esp, 0x18
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg eax
jne 0x100080fc
cmp dword [ebp - 0x18], ebx
jne 0x100080f0
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
sub ecx, eax
mov eax, dword [ebp - 0x5c]
imul eax, ecx
sub eax, dword [ebp - 0x30]
je 0x100080f0
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + 0x20]
lea ecx, [ebp - 0x34]
push ebx
mov dword [ebp - 0x18], esi
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.100049e7
push esi
push ecx
push ecx
mov ecx, 0x1930
call fcn.100047fb
mov esi, dword [ebp - 0x3c]
add esp, 0x14
mov edi, ebx
mov cl, byte [edi + esi]
mov dl, 0x61
call fcn.1000f403
mov byte [edi + esi], al
inc edi
cmp edi, 4
jb 0x10008129
push dword [ebp - 0x54]
movdqa xmm0, xmmword [0x1006de30]
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x74], ebx
push eax
push ebx
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x70], ebx
movdqu xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0x6c], ebx
call fcn.1000f43a
mov dword [ebp - 4], 5
xor esi, esi
mov dword [ebp - 0x58], 0x6d444182
inc esi
mov dword [ebp - 0x78], 0x95998ab5
mov dword [ebp - 0x28], 0x24f20479
mov dword [ebp - 0x28], 0x817d1dc6
mov dword [ebp - 0x14], ebx
jmp 0x100081ab
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x88], 0xa955a63a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1000819a
push ecx
push 0x694a
lea eax, [ebp - 0x78]
push eax
push ebx
push ecx
lea eax, [ebp - 0x74]
push eax
sub esp, 0xc
lea eax, [ebp - 0x58]
push eax
push ecx
mov ecx, 0x551c
call fcn.10005e1c
add esp, 0x2c
lea ecx, [ebp - 0x74]
call fcn.1000f047
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 0x34]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret