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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x74
mov eax, dword [0x452e18]
mov dword [esp], 0x99ce9bb7
mov dword [esp + 4], 0xa5cba7e9
mov dword [esp + 8], 0xa1d6a3cb
mov dword [esp + 0xc], 0xaddeafef
mov dword [esp + 0x10], 0xa9e6abdc
mov dword [esp + 0x14], 0xb5cab7c7
mov dword [esp + 0x18], 0xb199b3db
mov word [esp + 0x1c], 0xbfb0
mov dword [esp + 0x1e], 0
mov byte [esp + 0x22], 0
mov ecx, 0x9b
mov edx, 0x63944864
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x9b]
mov esi, ecx
and esi, edi
lea ebx, [edi + edi]
not ebx
add ebx, edi
and ebx, edx
mov edi, ebx
not edi
and edi, esi
xor ebx, esi
add ebx, esi
not ebx
add ebx, edi
add bl, 0xf9
mov byte [esp + ecx - 0x9b], bl
inc ecx
dec edx
cmp ecx, 0xbe
jne 0x427f50
lea ecx, [esp + 0x54]
mov ebp, esp
push ecx
push 0
push 0
push 0xe
push ebp
push 0
call eax
mov ebx, dword [esp + 0x54]
test ebx, ebx
jns 0x427fa8
mov eax, 0xffffffff
jmp 0x427fab
lea eax, [ebx + ebx]
push eax
call fcn.0040cb60
add esp, 4
mov dword [esp + 0x58], eax
mov eax, dword [0x452e18]
mov dword [esp + 0x50], eax
mov dword [esp], 0xe926ebcf
mov dword [esp + 4], 0xed0bef19
mov dword [esp + 8], 0xf11ef30b
mov dword [esp + 0xc], 0xf506f737
mov dword [esp + 0x10], 0xf93efb04
mov dword [esp + 0x14], 0xfd0aff1f
mov dword [esp + 0x18], 0x81a9831b
mov word [esp + 0x1c], 0x8780
mov dword [esp + 0x1e], 0
mov ecx, 0x31334627
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x31334627]
lea esi, [ecx - 0x31334600]
and esi, edi
mov eax, esi
or eax, 0xfffffffd
inc eax
mov edx, esi
and edx, 0x7d
imul edx, eax
mov eax, esi
and eax, 2
or esi, 2
imul esi, eax
lea eax, [ecx + edi]
add edx, edi
sub edx, esi
add edx, ecx
and eax, 1
xor edx, 1
lea eax, [edx + eax*2]
add al, 0x3c
mov byte [esp + ecx - 0x31334627], al
inc ecx
cmp ecx, 0x31334649
jne 0x428010
lea eax, [esp + 0x54]
push eax
push ebx
push dword [esp + 0x60]
push 0xe
push ebp
push 0
call dword [esp + 0x68]
mov eax, dword [esp + 0x54]
mov ecx, eax
add ecx, 9
jns 0x428082
mov eax, 0xffffffff
jmp 0x428089
lea eax, [eax*2 + 0x12]
push eax
call fcn.0040cb60
add esp, 4
mov dword [esp + 0x50], eax
mov dword [esp], 0x3f8e3984
mov dword [esp + 4], 0x23853d9d
mov dword [esp + 8], 0x2787218f
mov dword [esp + 0xc], 0x2b8f258f
mov dword [esp + 0x10], 0x2f2e29bf
mov word [esp + 0x14], 0
mov byte [esp + 0x16], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
movzx edx, byte [esp + ecx]
mov esi, eax
and esi, 0x32
mov ebx, ecx
xor ebx, 0x632591f9
mov ebp, 0xcee
sub ebp, esi
sub ebp, ebx
add esi, ebx
add esi, 0x84c0d311
and ebp, 0x13b1
and esi, 0xe1e0444e
or esi, ebp
xor edx, 0x60633b1
mov edi, edx
and edi, esi
add edi, edi
sub esi, edi
add esi, edx
mov edx, esi
and edx, 0x4d
xor esi, 0xcd
lea edx, [esi + edx*2]
inc dl
mov byte [esp + ecx], dl
inc ecx
add eax, 2
cmp ecx, 0x17
jne 0x4280d0
mov edi, dword [esp + 0x58]
movzx ecx, word [edi]
mov ebp, dword [esp + 0x50]
mov eax, ebp
test cx, cx
je 0x428161
lea edx, [edi + 2]
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x428150
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x428191
lea edx, [esp + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x428180
mov word [eax], 0
lea eax, [esp + 0x70]
push eax
push ebp
call fcn.00446bc0
add esp, 8
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44e444]