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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff7b4
mov eax, 0x5740b0
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
call fcn.0053b394
push 0x400
push 0
lea edx, [ebp - 0x444]
push edx
call fcn.0053af60
add esp, 0xc
lea ecx, [ebp - 0x844]
push 0x400
push 0
push ecx
call fcn.0053af60
add esp, 0xc
mov eax, dword [ebp - 0x3c]
shl eax, 3
mov edx, edi
shl edx, 2
add eax, edx
mov dword [ebp - 0x848], eax
fild dword [ebp - 0x848]
mov dword [ebp - 0x84c], ebx
fild dword [ebp - 0x84c]
fmul qword [0x4830d4]
faddp st(1)
call fcn.00542070
mov dword [ebp - 0x38], eax
shl edi, 3
mov edx, dword [ebp - 0x40]
shl edx, 2
add edi, edx
lea eax, [ebx + ebx*2]
add edi, eax
mov dword [ebp - 0x3c], edi
mov edi, dword [ebp - 0x40]
shl edi, 3
mov edx, dword [ebp - 0x44]
shl edx, 2
add edi, edx
add edi, eax
mov ecx, dword [ebp - 0x44]
shl ecx, 3
mov edx, ebx
shl edx, 2
add ecx, edx
add ecx, eax
mov dword [ebp - 0x40], ecx
mov ecx, ebx
shl ecx, 3
mov edx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
add ecx, eax
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x38]
shl ecx, 3
mov edx, edi
shl edx, 2
add ecx, edx
add ecx, eax
mov ebx, ecx
mov dword [esi + 0x232c], 0xffffffff
cmp byte [esi + 0xb89], 1
jne 0x482f83
lea eax, [ebp - 0x444]
push eax
push esi
call fcn.004be1d8
add esp, 8
cmp eax, 0xffffffff
jne 0x482eee
mov word [ebp - 0x20], 8
mov edx, 0x56e9a1
lea eax, [ebp - 4]
call fcn.00548ff0
inc dword [ebp - 0x14]
lea edx, [ebp - 4]
mov eax, dword [ebp + 8]
call fcn.005491d0
mov eax, dword [ebp + 8]
mov edx, 2
mov word [ebp - 0x20], 0x14
push eax
lea eax, [ebp - 4]
dec dword [ebp - 0x14]
call fcn.005491a0
pop eax
mov word [ebp - 0x20], 8
inc dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
mov dword fs:[0], edx
jmp 0x4830ca
cmp eax, 0xfffffffe
jne 0x482f47
mov word [ebp - 0x20], 0x20
mov edx, 0x56e9a2
lea eax, [ebp - 8]
call fcn.00548ff0
inc dword [ebp - 0x14]
lea edx, [ebp - 8]
mov eax, dword [ebp + 8]
call fcn.005491d0
mov eax, dword [ebp + 8]
mov edx, 2
mov word [ebp - 0x20], 0x2c
push eax
lea eax, [ebp - 8]
dec dword [ebp - 0x14]
call fcn.005491a0
pop eax
mov word [ebp - 0x20], 0x20
inc dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
mov dword fs:[0], edx
jmp 0x4830ca
test eax, eax
jne 0x482f54
mov byte [esi + 0xb89], 0
jmp 0x482f83
xor ebx, ebx
lea ecx, [ebp - 0x444]
movsx edi, byte [ecx]
mov eax, edi
mov edi, 9
xor eax, ebx
inc ebx
cdq
idiv edi
mov eax, edx
add eax, 0x30
mov byte [ecx], al
inc ecx
mov dword [esi + 0x232c], 0x64
cmp ebx, 0x14
jl 0x482f5c
cmp byte [esi + 0xb89], 0
jne 0x483068
lea edx, [ebp - 0x844]
push 0x400
push edx
push 0
lea ecx, [ebp - 0x34]
push 0
push ecx
lea eax, [ebp - 0x444]
push 0x400
push eax
push 0x56e9a3
call sub.KERNEL32.DLL_GetVolumeInformationA
mov dword [esi + 0x232c], 0x64
mov eax, dword [ebp - 0x34]
xor edx, edx
mov ecx, 0x2c
div ecx
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x444]
shr eax, 1
add edx, eax
add edx, 0xbc5446
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x34]
push edx
push 0x56e9a7
push ecx
call fcn.0053e6d0
add esp, 0xc
lea eax, [ebp - 0x444]
push eax
call fcn.0053b094
pop ecx
cmp eax, 3
jl 0x483022
mov dl, byte [ebp - 0x442]
mov cl, byte [ebp - 0x444]
mov byte [ebp - 0x442], cl
mov byte [ebp - 0x444], dl
mov ebx, eax
lea ecx, [ebp + ebx - 0x444]
cmp ebx, 0x11
jge 0x48304c
mov eax, dword [ebp - 0x34]
xor edx, edx
div ebx
xor edx, edx
mov esi, 0xa
div esi
add dl, 0x30
inc ebx
mov byte [ecx], dl
inc ecx
cmp ebx, 0x11
jl 0x483030
mov byte [ebp - 0x433], 0x39
mov byte [ebp - 0x432], 0x39
mov byte [ebp - 0x431], 0x39
mov byte [ebp - 0x430], 0
movsx eax, byte [ebp - 0x444]
cmp eax, 0x30
jne 0x48307b
mov byte [ebp - 0x444], 0x39
mov word [ebp - 0x20], 0x38
lea edx, [ebp - 0x444]
lea eax, [ebp - 0xc]
call fcn.00548ff0
mov edx, eax
inc dword [ebp - 0x14]
mov eax, dword [ebp + 8]
call fcn.005491d0
mov eax, dword [ebp + 8]
mov edx, 2
mov word [ebp - 0x20], 0x44
push eax
lea eax, [ebp - 0xc]
dec dword [ebp - 0x14]
call fcn.005491a0
pop eax
mov word [ebp - 0x20], 0x38
inc dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret