Function at 0x482bb8
Capabilities:
Get file size

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffde0
mov byte [esp], dl
mov esi, eax
lea edi, [esp + 0xc]
mov ebp, dword [0x4bedb0]
xor ebx, ebx
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [0x4bee68]
cmp byte [eax], 6
jae 0x482c11
mov ax, 0x349
call fcn.004aa600
mov edx, eax
mov eax, ebp
call fcn.004b81b0
mov ax, 0x351
call fcn.004aa600
mov edx, eax
mov eax, ebp
mov ecx, 4
call fcn.004b12b8
jmp 0x4830f8
test esi, esi
jne 0x482cc0
mov eax, dword [0x4bede4]
mov al, byte [eax]
mov byte [esp + 0x14], al
mov eax, dword [0x4bede4]
mov byte [eax], 2
mov edx, dword [0x4be784]
lea eax, [esp + 0x15]
call fcn.004b81b0
mov eax, dword [0x4be784]
cmp byte [eax + 0x300], 0x2e
jne 0x482c55
mov eax, 0x483108
call fcn.004b1c50
jmp 0x482c68
mov edx, dword [0x4be784]
add edx, 0x300
mov eax, ebp
call fcn.004b81b0
mov edx, ebp
mov eax, dword [0x4be784]
call fcn.004b81b0
mov edx, dword [0x4be538]
lea eax, [esp + 0x115]
call fcn.004b81b0
mov al, 2
call fcn.00421294
test al, al
jne 0x482cc0
mov eax, dword [0x4bede4]
mov dl, byte [esp + 0x14]
mov byte [eax], dl
lea edx, [esp + 0x15]
mov eax, dword [0x4be784]
call fcn.004b81b0
lea edx, [esp + 0x115]
mov eax, dword [0x4be538]
call fcn.004b81b0
jmp 0x4830f8
mov edx, dword [0x4be538]
mov eax, ebp
call fcn.004b81b0
mov eax, ebp
call fcn.004b8144
mov byte [ebp + eax - 4], 0
mov eax, ebp
call fcn.004b194c
test al, al
jne 0x482d0a
mov edx, ebp
mov ax, 0xa
call fcn.004acdac
mov ax, 0xf7
call fcn.004aa600
mov edx, 0x66
call fcn.004b12a8
test al, al
je 0x4830f8
mov cl, 1
mov dl, 1
xor eax, eax
call fcn.00481b08
test esi, esi
jne 0x482d5a
mov eax, dword [0x4bede4]
mov dl, byte [esp + 0x14]
mov byte [eax], dl
lea edx, [esp + 0x15]
mov eax, dword [0x4be784]
call fcn.004b81b0
mov edx, dword [0x4be538]
mov eax, dword [0x4bef50]
mov eax, dword [eax]
add eax, 8
call fcn.004b81b0
lea edx, [esp + 0x115]
mov eax, dword [0x4be538]
call fcn.004b81b0
jmp 0x482d6b
mov eax, dword [0x4bef50]
mov eax, dword [eax]
add eax, 8
mov edx, esi
call fcn.004b81b0
mov eax, dword [0x4bef50]
mov eax, dword [eax]
add eax, 8
mov ecx, 0x8000000
mov edx, 0x80000000
call fcn.004adc9c
mov esi, eax
cmp esi, 0xffffffff
jne 0x482db8
mov eax, dword [0x4bef50]
mov eax, dword [eax]
lea edx, [eax + 8]
mov ax, 1
call fcn.004acdac
mov eax, dword [0x4bef50]
mov eax, dword [eax]
call fcn.004a9cd0
mov eax, dword [0x4bef50]
xor edx, edx
mov dword [eax], edx
jmp 0x4830bf
push 0
push esi
call sub.kernel32.dll_GetFileSize_1
mov dword [esp + 8], eax
mov edx, dword [esp + 8]
mov eax, 0x40
call fcn.004066ec
mov dword [esp + 4], eax
cmp dword [esp + 4], 0
jne 0x482dfd
fild dword [esp + 8]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004b1e30
mov edx, eax
mov ax, 0xb
call fcn.004acdac
jmp 0x4830bf
mov eax, dword [esp + 8]
push eax
mov eax, dword [esp + 8]
push eax
push esi
call sub.kernel32.dll__hread
cmp eax, dword [esp + 8]
jge 0x482e2b
mov eax, dword [0x4bef50]
mov eax, dword [eax]
lea edx, [eax + 8]
mov ax, 2
call fcn.004acdac
jmp 0x4830bf
mov eax, dword [esp + 4]
mov dword [edi], eax
mov eax, dword [0x4bebd8]
push eax
mov eax, dword [edi]
push eax
call sub.kernel32.dll_lstrcmpA
test eax, eax
je 0x482e5b
mov eax, dword [0x4bef50]
mov eax, dword [eax]
lea edx, [eax + 8]
mov ax, 2
call fcn.004acdac
jmp 0x4830bf
add dword [edi], 0x20
mov eax, dword [0x4bef50]
mov eax, dword [eax]
add eax, 0x108
mov edx, dword [edi]
call fcn.004b81b0
add dword [edi], 0x40
mov edx, 1
mov eax, dword [edi]
call fcn.004aa450
cmp al, 1
sete al
mov edx, dword [0x4bef50]
mov edx, dword [edx]
mov byte [edx + 0x160], al
mov edx, 3
mov eax, dword [edi]
call fcn.004aa450
cmp al, 1
sete al
mov edx, dword [0x4bef50]
mov edx, dword [edx]
mov byte [edx + 0x161], al
xor edx, edx
mov eax, dword [edi]
call fcn.004aa450
cmp al, 1
je 0x482ecf
mov edx, 4
mov eax, dword [edi]
call fcn.004aa450
cmp al, 1
jne 0x482ee7
mov ax, 0x39a
call fcn.004aa600
mov edx, 1
call fcn.004b12a8
jmp 0x4830bf
add dword [edi], 0xa0
add dword [edi], 0x300
jmp 0x48305b
mov eax, dword [edi]
mov ax, word [eax]
add dword [edi], 2
movzx eax, ax
cmp eax, 0xd
jg 0x482f20
je 0x482f81
dec eax
je 0x483028
sub eax, 3
je 0x482f35
sub eax, 7
je 0x482f5b
jmp 0x483052
sub eax, 0x10
je 0x482f9f
sub eax, 0xffef
je 0x48306b
jmp 0x483052
mov eax, dword [edi]
add eax, 4
call fcn.004b8404
mov edx, dword [0x4bef50]
mov edx, dword [edx]
mov dword [edx + 0x158], eax
mov eax, dword [edi]
mov eax, dword [eax]
add eax, 4
add dword [edi], eax
jmp 0x48305b
mov eax, dword [edi]
add eax, 4
call fcn.004b8404
mov edx, dword [0x4bef50]
mov edx, dword [edx]
mov dword [edx + 0x154], eax
mov eax, dword [edi]
mov eax, dword [eax]
add eax, 4
add dword [edi], eax
jmp 0x48305b
add dword [edi], 4
mov eax, dword [0x4bef50]
mov eax, dword [eax]
mov ecx, 8
mov edx, dword [edi]
call fcn.004066dc
add dword [edi], 8
jmp 0x48305b
mov eax, dword [0x4bef50]
mov eax, dword [eax]
lea ebx, [eax + 0x148]
push 4
push 0x1000
mov eax, dword [edi]
mov eax, dword [eax]
add eax, eax
push eax
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov ebp, eax
mov dword [ebx], ebp
test ebp, ebp
jne 0x482fff
mov eax, dword [edi]
mov eax, dword [eax]
add eax, eax
mov dword [esp + 0x218], eax
xor eax, eax
mov dword [esp + 0x21c], eax
fild qword [esp + 0x218]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004b1e30
mov edx, eax
mov ax, 0xb
call fcn.004acdac
jmp 0x48301d
mov eax, dword [edi]
mov eax, dword [eax]
add eax, eax
mov dword [ebx + 4], eax
mov eax, dword [edi]
mov eax, dword [eax]
mov dword [ebx + 8], eax
mov ecx, eax
mov edx, dword [edi]
add edx, 4
mov eax, dword [ebx]
call fcn.004066dc
mov eax, dword [edi]
mov eax, dword [eax]
add eax, 4
add dword [edi], eax
jmp 0x48305b
push edi
lea ecx, [esp + 0xc]
lea edx, [esp + 8]
lea eax, [esp + 0x14]
call fcn.004827b0
test al, al
jne 0x48305b
cmp dword [esp + 0x10], 0
je 0x48305b
mov eax, dword [esp + 0x10]
xor edx, edx
call fcn.004a9830
jmp 0x48305b
mov eax, dword [edi]
mov eax, dword [eax]
add eax, 4
add dword [edi], eax
mov eax, dword [edi]
sub eax, dword [esp + 4]
cmp eax, dword [esp + 8]
jle 0x482ef8
call fcn.00485220
cmp byte [esp], 0
je 0x4830bd
mov eax, dword [0x4bef50]
mov eax, dword [eax]
mov eax, dword [eax + 0x164]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
je 0x4830bd
push 0
mov eax, dword [esp + 0x14]
mov dx, word [eax + 2]
xor eax, eax
call fcn.004066c4
xor ecx, ecx
mov dl, 1
call fcn.004803e4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x204]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
jne 0x48308e
mov bl, 1
cmp dword [esp + 4], 0
je 0x4830cf
mov eax, dword [esp + 4]
call fcn.004066fc
push esi
call sub.kernel32.dll_CloseHandle_1
test bl, bl
jne 0x4830f8
mov eax, dword [0x4bef50]
cmp dword [eax], 0
je 0x4830f8
mov eax, dword [0x4bef50]
mov eax, dword [eax]
call fcn.004a9cd0
mov eax, dword [0x4bef50]
xor edx, edx
mov dword [eax], edx
mov eax, ebx
add esp, 0x220
pop ebp
pop edi
pop esi
pop ebx
ret