Function at 0x10036579
Capabilities:
Encode data using xor
Get disk information

Disassembly:
mov eax, 0x1005f1fa
call fcn.1005d884
sub esp, 0x13c
push ebx
push esi
mov dword [ebp - 0x28], 0x1dce
xor ebx, ebx
cmp dword [ebp - 0x28], 0x1e05
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x44], ecx
jle 0x10036608
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov ecx, edi
mov dword [ebp - 0x18], ebx
mov edi, esi
mov dword [ebp - 0x20], esi
shl edi, cl
mov esi, ebx
mov ebx, dword [ebp - 0x18]
mov eax, edi
mov ecx, 0x10079a18
xor eax, esi
xor eax, ebx
cdq
push edx
push eax
call fcn.1000f556
inc esi
cmp esi, 0x74ec
jl 0x100365bf
inc ebx
push 0
mov dword [ebp - 0x18], ebx
cmp ebx, 0x7eda
pop ebx
jl 0x100365ba
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x34]
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x1c0e
jl 0x100365ae
inc esi
mov dword [ebp - 0x34], esi
cmp esi, 0x844
jl 0x100365a9
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x28], 0x1d33
jge 0x10036623
mov edx, str.qwfibedfb_qdzb_iokz_ymvjsnpm_gaeinr_dcldics_zsea_uetcgzdwo_sgmpkb_ddqn_cmccn_hxybj
mov ecx, 0x10079a18
call fcn.10012762
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x10], 0
je 0x10036717
mov dword [ebp - 0x28], 0x2d49
cmp dword [ebp - 0x28], 0x2e22
jle 0x1003667e
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov eax, edi
cdq
idiv ebx
mov eax, esi
mov ecx, edx
sar eax, cl
mov ecx, 0x10079a18
cdq
push edx
push eax
call fcn.1000f556
inc ebx
cmp ebx, 0x58df
jl 0x10036648
inc edi
push 0
pop ebx
cmp edi, 0xe06
jl 0x10036645
inc esi
cmp esi, 0x46e7
jl 0x10036643
mov dword [ebp - 0x1c], 0xb9f9b319
mov dword [ebp - 4], 2
cmp dword [ebp - 0x28], 0x29a7
jge 0x100366e7
mov edx, str.jdwo_jinakz_zkiwoiqyf_sjkhyqivd_lkwswyeal_zfpuzhpz
mov ecx, 0x10079a18
call fcn.10012762
jmp 0x100366e7
mov dword [ebp - 0x1c], 0x18
jmp 0x1003670c
mov dword [ebp - 0x20], 0xf506
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10036706
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff6
jne 0x100366f0
jmp 0x10036dbe
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 4], 4
lea eax, [ebp - 0xf8]
push dword [ebp - 0x54]
movdqa xmm0, xmmword [0x1006c720]
lea ecx, [ebp - 0x60]
push eax
lea eax, [ebp - 0x108]
mov dword [ebp - 0x60], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x108], xmm0
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
call fcn.10013216
mov byte [ebp - 4], 5
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x4c], 0xfffffffc
mov dword [ebp - 0x24], ebx
jmp 0x1003684b
mov dword [ebp - 0x2c], 0x7c8a6b95
mov dword [ebp - 0x50], 0x9329bfae
mov dword [ebp - 0x78], 8
mov dword [ebp - 0x2c], ebx
jmp 0x1003683e
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jne 0x100367ab
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x2c], ebx
jne 0x100367c6
mov esi, ebx
jmp 0x100367c9
xor esi, esi
inc esi
mov edx, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x50]
cmp esi, eax
mov eax, dword [ebp - 0x60]
setle cl
imul ecx, dword [eax + edx*4]
imul eax, ecx, 0xffffabb1
test eax, eax
je 0x100367f7
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10036830
call fcn.10036fff
jmp 0x10036830
push ecx
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x98], 0x316d
push eax
lea eax, [ebp - 0x2c]
mov edx, 0x5cff
push eax
push 1
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x50]
push eax
push ecx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x98]
call fcn.10036306
add esp, 0x24
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jle 0x10036797
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jle 0x1003677a
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 4
call fcn.1000f91b
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0xe4]
push 1
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], 0xee1c9741
mov dword [ebp - 0x34], eax
call fcn.1000f845
mov byte [ebp - 4], 6
mov dword [ebp - 0x28], 0x4644
cmp dword [ebp - 0x28], 0x48d9
jle 0x1003690b
mov edx, ebx
mov dword [ebp - 0x1c], ebx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov esi, ebx
mov edi, ebx
mov eax, edi
and eax, esi
and eax, ecx
lea ecx, [ebp - 0x130]
and eax, edx
cdq
push edx
push eax
call fcn.10001a9f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100368c3
mov eax, dword [eax]
push eax
call fcn.10045b49
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.100101ce
mov ecx, dword [ebp - 0x18]
inc edi
mov edx, dword [ebp - 0x1c]
cmp edi, 0x7179
jl 0x100368a3
inc esi
cmp esi, 0x7af3
jl 0x100368a1
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x24f5
jl 0x1003689f
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 0x645a
jl 0x1003689a
mov esi, dword [ebp + 8]
mov dword [ebp - 0x3c], ebx
jmp 0x10036921
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0xf8], 0x48261f9c
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 1
jl 0x10036910
cmp dword [ebp - 0x28], 0x4533
jge 0x1003693b
push str.gfvb_invhwqsq_fjbhibhop
call fcn.10045b49
pop ecx
push ecx
lea edx, [ebp - 0xe4]
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x3c]
call fcn.10036f43
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
pop ecx
je 0x10036968
push 1
mov edx, 0x1763
call fcn.100359e9
pop ecx
mov dword [ebp - 0x18], ebx
jmp 0x10036a2d
mov dword [ebp - 0x1c], 1
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x20], 0x4dc9ed9b
push 3
call fcn.1000f845
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 9
push eax
push 0x7031
lea eax, [ebp - 0xe8]
mov edx, 0x8b3
push eax
push 0x1597
xor cl, cl
call fcn.10037e1f
add esp, 0x10
mov dword [ebp - 0x1c], ebx
jmp 0x10036a16
push 3
lea ecx, [ebp - 0xb4]
call fcn.1000f845
push 0x2e01
push ecx
push ecx
push ebx
lea edx, [ebp - 0x9c]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xb4]
call fcn.10036483
add esp, 0xc
lea eax, [ebp - 0xb4]
push 0x7be9
push eax
push ecx
push 0xb06
mov cl, 1
call fcn.10038e80
add esp, 0x14
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xb4]
call fcn.1000f91b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x100369bb
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 6
call fcn.1000f91b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x10036970
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 4
call fcn.1000f91b
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x84]
push 4
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x20], eax
call fcn.1000f845
push 2
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0xb
call fcn.1000f845
push 0x4a37
push ecx
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x30], 0xa9c21324
push eax
mov edx, 0x595e
mov ecx, 0x2b9d
call fcn.10037f9d
pop ecx
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0xcc]
call fcn.100391f0
mov edx, dword [ebp - 0x84]
add esp, 0xc
mov eax, dword [ebp - 0xcc]
mov ecx, dword [edx + 8]
mov dword [eax], ecx
mov eax, dword [edx + 8]
mov edx, 0xffff
add eax, ecx
cmp edx, eax
mov eax, 0xa7275995
sbb ecx, ecx
inc ecx
sub eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
inc eax
je 0x10036af5
mov eax, dword [ebp - 0x84]
cmp dword [eax + 4], ebx
je 0x10036af5
mov dword [ebp - 0x28], edx
dec dword [ebp - 0x28]
jmp 0x10036b84
mov dword [ebp - 0xa8], 0x2b79dc86
mov dword [ebp - 0x70], 0x9a984365
mov dword [ebp - 0x88], 0xfc24489
mov dword [ebp - 0x30], ebx
jmp 0x10036b7e
push 0x572f
push 0x31a7
lea eax, [ebp - 0x84]
mov dword [ebp - 0x74], ebx
push eax
push 0x7f50
push 0x4cbc
push 1
push 1
lea eax, [ebp - 0x74]
mov edx, 0x5ff9
push eax
push ebx
push 0x6a28
mov ecx, 0x265a
call fcn.10037061
add esp, 0x24
lea eax, [ebp - 0x70]
lea edx, [ebp - 0x30]
push eax
lea eax, [ebp - 0xa8]
push eax
push ecx
push ecx
push 1
push ecx
lea eax, [ebp - 0x88]
push eax
push ecx
push 0x6eec
call fcn.10035bd3
add esp, 0x28
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 1
jle 0x10036b15
lea ecx, [ebp - 0xcc]
call fcn.1000f91b
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 4
call fcn.1000f91b
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x10036bab
mov eax, dword [esi]
jmp 0x10036bad
mov eax, esi
push ecx
push ebx
push eax
mov ecx, edi
call fcn.100355f9
mov esi, ebx
mov dword [ebp - 0x40], esi
mov edi, eax
cmp esi, 0xffffffff
je 0x10036daa
cmp esi, dword [ebp - 0x20]
jae 0x10036daa
cmp edi, 0xffffffff
jne 0x10036df8
push dword [ebp - 0x9c]
movdqa xmm0, xmmword [0x1006c710]
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x118]
mov dword [ebp - 0x94], ebx
push eax
push ebx
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x90], ebx
movdqu xmmword [ebp - 0x118], xmm0
mov dword [ebp - 0x8c], ebx
call fcn.10013216
push 2
pop esi
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xa4], 0x90c4d8e5
push esi
call fcn.1000f845
push 1
push 1
push 0x329f
push 1
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0xe
push eax
mov dword [ebp - 0x20], edi
lea edx, [ebp - 0xec]
mov dword [ebp - 0x20], edi
mov ecx, 0x19de
push 0x748c
call fcn.100363c2
lea eax, [ebp - 0xc0]
mov edx, 0x7e04
push eax
lea eax, [ebp - 0x94]
push ebx
push eax
lea ecx, [ebp - 0xa4]
call fcn.10037e72
add esp, 0x24
lea ecx, [ebp - 0xc0]
call fcn.1000f91b
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 4
call fcn.1000f91b
push 0x3cd6
push 0x648d
push ebx
lea eax, [ebp - 0x6c]
mov edx, 0x3aba
push eax
push ebx
push 0x556e
push 0x4680
push 1
push 0x25bd
push 0xed5
push dword [ebp - 0x44]
lea ecx, [ebp - 0x40]
push 0x2218
call fcn.100382b8
mov dword [ebp - 0x20], 0xa75c19c5
add esp, 0x30
mov dword [ebp - 0x18], ebx
jmp 0x10036cfc
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf4], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10036cef
mov eax, 0x1124f01c
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], 0x4e4
cmp dword [ebp - 0x18], 0x771
jle 0x10036d6f
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], 0x2616
mov eax, esi
mov ecx, 0x10079a18
xor eax, edi
cdq
push edx
push eax
call fcn.1000f556
add esi, ebx
dec dword [ebp - 0x28]
jne 0x10036d33
mov esi, dword [ebp - 0x34]
inc ebx
cmp ebx, 0x2462
jl 0x10036d29
inc esi
mov dword [ebp - 0x34], esi
push 0
pop ebx
cmp esi, 0x230d
jl 0x10036d26
inc edi
cmp edi, 0x167f
jl 0x10036d21
mov byte [ebp - 0x36], bl
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x18], 0x318
jge 0x10036d8e
mov edx, str.nxsapd_tyf_zynto_mxbi_vxcpgm_xyvieo_conyguu_mhxconwu
mov ecx, 0x10079a18
call fcn.10012762
mov dword [ebp - 4], 4
lea eax, [ebp - 0x36]
mov ecx, 0x3c9d
push eax
push 0x2777
call fcn.100373f9
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x6c]
push eax
call fcn.10039dab
lea ecx, [ebp - 0x6c]
call fcn.1003a236
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, esi
je 0x10036ea6
mov dword [ebp - 0x48], 0xc05baf43
cmp dword [ebp - 0x48], ebx
je 0x10036e3f
push 1
lea eax, [ebp - 0x35]
mov byte [ebp - 0x35], bl
push eax
push ecx
push 0x50b3
call fcn.10036f51
add esp, 0x10
lea eax, [ebp - 0x48]
mov edx, 0x45fe
push eax
push ecx
push ecx
push 1
mov ecx, 0x172f
call fcn.10036483
add esp, 0x10
jmp 0x10036e6f
push ebx
push 0x6c08
push 1
push 0x173a
push 0x572d
push 0x56f2
push 0x3b2c
push 1
mov edx, 0x57dc
mov ecx, 0x77f5
call fcn.10037fc5
add esp, 0x20
mov ecx, dword [ebp - 0x44]
mov eax, edi
sub eax, dword [ebp - 0x40]
push eax
push dword [ebp - 0x40]
lea eax, [ebp - 0x148]
push eax
call fcn.10039c88
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x11
call fcn.10039d3b
push ebx
push 1
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 4
call fcn.100103a2
mov eax, dword [ebp + 8]
mov esi, dword [ebp - 0x34]
add esi, edi
mov dword [ebp - 0x40], esi
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x10036ebc
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0x44]
push esi
push eax
call fcn.100355f9
jmp 0x10036bbc