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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x30
mov dword [esp + 8], 0x7b8c7998
mov dword [esp + 0xc], 0x7f807d9e
mov dword [esp + 0x10], 0x734e7182
mov dword [esp + 0x14], 0x77887596
mov dword [esp + 0x18], 0xb08098a
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov byte [esp + 0x24], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1c
ja 0x433919
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, 0x50
sub edx, eax
add eax, 0x67e345af
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
add al, 0x37
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1d
jb 0x4338e0
lea esi, [esp + 8]
push esi
call fcn.004351f0
add esp, 4
mov ecx, eax
mov dword [0x449040], eax
xor edx, edx
test eax, eax
sete dl
xor eax, eax
jmp dword [edx*4 + 0x43f2ac]
jmp dword [0x43f2b4]
jmp 0x433c0d
push 0xd060c378
push eax
call fcn.00435820
add esp, 8
mov dword [0x43fd10], eax
push 0x22c0538
push dword [0x44101c]
call fcn.00435820
add esp, 8
mov dword [0x43fe14], eax
push 0x6e21bb5b
push dword [0x44101c]
call fcn.00435820
add esp, 8
mov dword [0x44103c], eax
call fcn.00433e90
movzx ecx, al
xor eax, eax
jmp dword [ecx*4 + 0x43f2dc]
jmp dword [0x43f2e8]
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
call fcn.0042ea40
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
call fcn.0042ea40
jmp dword [0x43f2ec]
movzx eax, al
jmp dword [eax*4 + 0x43f2f4]
mov eax, dword [0x43fd10]
mov dword [esp + 8], 0xb33ab50b
mov dword [esp + 0xc], 0x8f00b135
mov dword [esp + 0x10], 0x8bc18d02
mov dword [esp + 0x14], 0x87fa89c4
mov dword [esp + 0x18], 0x8330853a
mov dword [esp + 0x1c], 0x9f808136
mov byte [esp + 0x20], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x18
ja 0x433a6b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
mov edi, 0x66
sub edi, ecx
add ecx, 0x254cc99
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esp + 4], edi
mov ecx, dword [esp + 4]
add cl, 0xd1
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x19
jb 0x433a30
push 0x800
push 0
push esi
call eax
jmp dword [0x43f310]
test eax, eax
je case.0x433936.25
mov dword [0x441034], eax
jmp case.0x433936.25
jmp dword [0x43f314]
test eax, eax
je 0x433a90
mov dword [0x441034], eax
jmp 0x433a90
jmp dword [0x43f324]
mov ecx, dword [case.0x433936.1]
xor eax, eax
nop
nop
nop
nop
nop
nop
jmp ecx
push 0x61ae2ca
push dword [0x449040]
call fcn.00435820
add esp, 8
mov dword [0x449048], eax
push 0x4ca0951f
push dword [0x449040]
call fcn.00435820
add esp, 8
mov dword [0x44904c], eax
push 0x36ebfd27
push dword [0x449040]
call fcn.00435820
add esp, 8
mov dword [0x449050], eax
push 0x36d3e846
push dword [0x449040]
call fcn.00435820
add esp, 8
mov dword [0x441024], eax
mov dword [esp + 8], 0xb377b14b
mov dword [esp + 0xc], 0xb748b546
mov dword [esp + 0x10], 0xab56a96d
mov dword [esp + 0x14], 0xaf7cad7f
mov dword [esp + 0x18], 0xa366a17e
mov dword [esp + 0x1c], 0xa75aa558
mov word [esp + 0x20], 0x5958
mov dword [esp + 0x22], 0
mov dword [esp + 0x26], 0
mov dword [esp + 0x2a], 0
mov word [esp + 0x2e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x27
ja 0x433bf9
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, 0x97
sub edx, eax
add eax, 0x7fd90168
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
add al, 0x28
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x28
jb 0x433bc0
push esi
call fcn.004351f0
add esp, 4
mov dword [0x44101c], eax
mov ecx, dword [0x449040]
push 0x61ae2ca
push ecx
call fcn.00435820
add esp, 8
mov dword [0x449048], eax
push 0x4ca0951f
push dword [0x449040]
call fcn.00435820
add esp, 8
mov dword [0x44904c], eax
push 0x36ebfd27
push dword [0x449040]
call fcn.00435820
add esp, 8
mov dword [0x449050], eax
push 0x36d3e846
push dword [0x449040]
call fcn.00435820
add esp, 8
mov dword [0x441024], eax
mov dword [esp + 8], 0xb377b14b
mov dword [esp + 0xc], 0xb748b546
mov dword [esp + 0x10], 0xab56a96d
mov dword [esp + 0x14], 0xaf7cad7f
mov dword [esp + 0x18], 0xa366a17e
mov dword [esp + 0x1c], 0xa75aa558
mov word [esp + 0x20], 0x5958
mov dword [esp + 0x22], 0
mov dword [esp + 0x26], 0
mov dword [esp + 0x2a], 0
mov word [esp + 0x2e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x27
ja 0x433d09
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, 0x97
sub edx, eax
add eax, 0x7fd90168
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
add al, 0x28
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x28
jb 0x433cd0
push esi
call fcn.004351f0
add esp, 4
mov dword [0x44101c], eax
jmp dword [0x43f2bc]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x43f2c4]
xor eax, eax
jmp dword [0x43f2d4]
mov ecx, dword [0x43f360]
nop
nop
jmp ecx