Function at 0x41963e
Capabilities:
Read file on windows

Disassembly:
push ebp
push ebx
push edi
mov edx, 0xd
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x419646
call fcn.005873a0
mov edx, dword [esp + 0x48]
lea ecx, [esp]
call fcn.004fc000
mov dword [section..data], 0x6008b4
mov dword [section..data], 0x6008bf
mov dword [esp + 8], 0
mov dword [section..data], 0x6008c8
mov dword [section..data], 0x6008ca
mov ebp, dword [esp + 0x44]
push dword [ebp + 0x2c]
call fcn.00576cde
mov dword [section..data], 0x6008cc
push edx
call fcn.00587290
pop edx
push eax
push 4
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.UDF_ReadFile___File__
push edx
call fcn.00587330
mov edx, dword [esp + 0xc]
push edx
call fcn.00587330
mov edx, str.____StartPosition__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00574cc0
pop eax
mov edx, str.__LengthToRead__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, str.__DriveMode__
push edx
call fcn.00587330
mov ebp, dword [esp + 0x50]
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [ebp + 0xc]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x6008ce
push dword [esp + 0x50]
push dword [esp + 0x50]
pop ebx
pop edi
cmp edi, 0
jg 0x4197a3
jl 0x41979f
cmp ebx, 0
ja 0x4197a3
xor eax, eax
jmp 0x4197a8
mov eax, 1
or eax, eax
je 0x4197bc
mov ebx, dword [esp + 0x54]
cmp ebx, 0xffffffff
jne 0x4197bc
mov eax, 1
jmp 0x4197be
xor eax, eax
and eax, eax
je 0x419886
mov dword [section..data], 0x6008cf
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.ERROR__Invalid_parameter__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00574cc0
pop eax
mov edx, str.__LengthToRead__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x6008d0
mov dword [esp + 8], 0xfffffd29
mov dword [section..data], 0x6008d1
jmp 0x41abba
mov dword [section..data], 0x6008d2
mov dword [section..data], 0x6008d5
mov ebp, dword [esp + 0x44]
cmp dword [ebp + 0xc], 0
je 0x419ffa
mov dword [section..data], 0x6008d8
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push 2
mov ebp, dword [esp + 0x50]
push dword [ebp]
call fcn.005752e0
mov edx, dword [esp + 4]
push edx
call fcn.00587330
lea eax, [esp + 0x34]
push eax
call fcn.005872c0
mov dword [section..data], 0x6008d9
push edx
call fcn.00587290
pop edx
push eax
push 3
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.Drive_Filename__
push edx
call fcn.00587330
mov edx, dword [esp + 0x3c]
push edx
call fcn.00587330
mov edx, str.__LengthToRead__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x6008db
push dword [esp + 0x30]
call fcn.00578e8f
push edx
push eax
pop dword [esp + 0x2c]
pop dword [esp + 0x2c]
mov dword [section..data], 0x6008dc
push dword [esp + 0x2c]
push dword [esp + 0x2c]
pop ebx
pop edi
cmp edi, 0
jl 0x4199b3
jg 0x4199af
cmp ebx, 0
jb 0x4199b3
xor eax, eax
jmp 0x4199b8
mov eax, 1
or eax, eax
je 0x419a6d
mov dword [section..data], 0x6008dd
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.ERROR__Filesize_invalid__
push edx
call fcn.00587330
mov edx, dword [esp + 0x3c]
push edx
call fcn.00587330
mov edx, str.__Size__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push dword [esp + 0x40]
push dword [esp + 0x40]
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x6008de
mov dword [esp + 8], 0xfffffd1e
mov dword [section..data], 0x6008df
jmp 0x41abba
mov dword [section..data], 0x6008e0
mov dword [section..data], 0x6008e2
push 0
push 0
push 3
push 0
push 3
push closesocket
push dword [esp + 0x48]
call sub.KERNEL32.dll_CreateFileW
mov dword [esp + 0x14], eax
mov dword [section..data], 0x6008e4
cmp dword [esp + 0x14], 0
je 0x419ac1
xor eax, eax
jmp 0x419ac6
mov eax, 1
and eax, eax
je 0x419bd2
mov dword [section..data], 0x6008e5
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0x24], eax
mov dword [section..data], 0x6008e6
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.CreateFile__failed__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, str.__GetLastError__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x38]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6db8ba
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push dword [esp + 0x34]
call fcn.0040f612
pop eax
mov edx, 0x6c780c
push edx
call fcn.00587330
mov edx, dword [esp + 0x3c]
push edx
call fcn.00587330
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x6008e7
mov dword [esp + 8], 0xfffffd42
mov dword [section..data], 0x6008e8
jmp 0x41abba
mov dword [section..data], 0x6008e9
mov dword [section..data], 0x6008eb
push dword [esp + 0x50]
push dword [esp + 0x50]
pop ebx
pop edi
cmp ebx, 0
jne 0x419bfe
cmp edi, 0
jne 0x419bfe
xor eax, eax
jmp 0x419c03
mov eax, 1
or eax, eax
je 0x419c22
mov dword [section..data], 0x6008ec
push dword [esp + 0x50]
push dword [esp + 0x50]
push dword [esp + 0x1c]
call fcn.00579b20
mov dword [section..data], 0x6008ed
mov dword [section..data], 0x6008ef
mov ebx, dword [esp + 0x54]
cmp ebx, 0xffffffff
jne 0x419c56
mov dword [section..data], 0x6008f0
push dword [esp + 0x30]
call fcn.00578e8f
mov dword [esp + 0x54], eax
mov dword [section..data], 0x6008f1
mov dword [section..data], 0x6008f3
mov ebx, dword [esp + 0x54]
and ebx, ebx
jg 0x419d0d
mov dword [section..data], 0x6008f4
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.ERROR__Invalid_LengthToRead__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x6008f5
mov dword [esp + 8], 0xfffffd26
mov dword [section..data], 0x6008f6
jmp 0x41abba
mov dword [section..data], 0x6008f7
mov dword [section..data], 0x6008fa
push dword [esp + 0x54]
call fcn.00586c00
mov dword [esp + 4], eax
mov dword [section..data], 0x6008fb
cmp dword [esp + 4], 0
je 0x419d43
xor eax, eax
jmp 0x419d48
mov eax, 1
and eax, eax
je 0x419de7
mov dword [section..data], 0x6008fc
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.ERROR__AllocateMemory_failed____
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, str.__bytes
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x6008fd
mov dword [esp + 8], 0xfffffd3d
mov dword [section..data], 0x6008fe
jmp 0x41abba
mov dword [section..data], 0x6008ff
mov dword [section..data], 0x600901
push 0
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x5c]
push dword [esp + 0x10]
push dword [esp + 0x24]
call sub.KERNEL32.dll_ReadFile
mov dword [esp + 0x24], eax
mov dword [section..data], 0x600903
mov ebx, dword [esp + 0x24]
and ebx, ebx
jne 0x419f34
mov dword [section..data], 0x600904
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0x24], eax
mov dword [section..data], 0x600905
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.ReadFile___
push edx
call fcn.00587330
mov edx, dword [esp + 0x3c]
push edx
call fcn.00587330
mov edx, str.__failed__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x1c]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, str.____GetLastError__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x38]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6db8ba
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push dword [esp + 0x34]
call fcn.0040f612
pop eax
mov edx, 0x6bdecc
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x600906
mov dword [esp + 8], 0xfffffd42
mov dword [section..data], 0x600907
jmp 0x41abba
mov dword [section..data], 0x600908
mov dword [section..data], 0x60090a
push edx
call fcn.00587290
pop edx
push eax
push 3
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.Bytes_read__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x34]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x60090c
push dword [esp + 0x14]
call sub.KERNEL32.dll_CloseHandle
mov dword [section..data], 0x60090d
mov dword [esp + 0x14], 0
mov dword [section..data], 0x600910
mov dword [esp + 8], 1
mov dword [section..data], 0x600912
jmp 0x41abba
mov dword [section..data], 0x600913
mov dword [section..data], 0x600916
mov ebp, dword [esp + 0x44]
push dword [ebp + 4]
pop eax
mov dword [esp + 0x14], eax
mov dword [section..data], 0x600918
push dword [esp + 0x14]
call fcn.00579a70
and eax, eax
je 0x41a035
xor eax, eax
jmp 0x41a03a
mov eax, 1
and eax, eax
je 0x41a0d9
mov dword [section..data], 0x600919
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.ERROR__File_not_initialized___
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x60091a
mov dword [esp + 8], 0xfffffd40
mov dword [section..data], 0x60091b
jmp 0x41abba
mov dword [section..data], 0x60091c
mov dword [section..data], 0x60091e
mov dword [esp + 8], 0xfffffd43
mov dword [section..data], 0x600920
mov ebp, dword [esp + 0x44]
push dword [ebp + 0x2c]
call fcn.00576bc7
mov ebx, eax
and ebx, ebx
jl 0x41a16c
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov ebp, dword [esp + 0x4c]
mov ebp, dword [ebp + 0x30]
push dword [ebp + 8]
call fcn.00575d20
call fcn.00587380
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push dword [esp + 0xc]
call fcn.00575d20
call fcn.004fc330
mov edx, eax
pop ecx
push ecx
call fcn.004fc330
mov ecx, eax
call fcn.004fc340
je 0x41a16c
mov eax, 1
jmp 0x41a16e
xor eax, eax
and eax, eax
je 0x41a187
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x30]
mov ebx, dword [ebp + 0xc]
and ebx, ebx
jne 0x41a187
mov eax, 1
jmp 0x41a189
xor eax, eax
and eax, eax
je 0x41a1ae
mov dword [section..data], 0x600921
mov dword [esp + 8], 1
mov dword [section..data], 0x600922
jmp 0x41a29c
mov dword [section..data], 0x600922
mov dword [section..data], 0x600923
mov ebp, dword [esp + 0x44]
push dword [ebp + 0x2c]
call fcn.00576b77
mov dword [section..data], 0x600924
mov ebp, dword [esp + 0x44]
push dword [ebp + 0x2c]
call fcn.00576b8c
and eax, eax
je 0x41a29c
mov dword [section..data], 0x600925
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov ebp, dword [esp + 0x4c]
mov ebp, dword [ebp + 0x30]
push dword [ebp + 8]
call fcn.00575d20
call fcn.00587380
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push dword [esp + 0xc]
call fcn.00575d20
call fcn.004fc330
mov edx, eax
pop ecx
push ecx
call fcn.004fc330
mov ecx, eax
call fcn.004fc340
je 0x41a25f
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x30]
mov ebx, dword [ebp + 0xc]
and ebx, ebx
jne 0x41a25f
mov eax, 1
jmp 0x41a261
xor eax, eax
and eax, eax
je 0x41a283
mov dword [section..data], 0x600926
mov dword [esp + 8], 1
mov dword [section..data], 0x600927
jmp 0x41a29c
mov dword [section..data], 0x600928
mov dword [section..data], 0x600929
jmp 0x41a1ce
mov dword [section..data], 0x60092a
mov dword [section..data], 0x60092c
mov ebx, dword [esp + 8]
cmp ebx, 1
je 0x41a2c8
mov dword [section..data], 0x60092d
jmp 0x41abba
mov dword [section..data], 0x60092e
mov dword [section..data], 0x600932
mov ebx, dword [esp + 0x54]
cmp ebx, 0xffffffff
jne 0x41a2fe
mov dword [section..data], 0x600933
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x30]
push dword [ebp + 0x10]
pop eax
mov dword [esp + 0x54], eax
mov dword [section..data], 0x600934
mov dword [section..data], 0x600936
mov ebx, dword [esp + 0x54]
and ebx, ebx
jg 0x41a3b5
mov dword [section..data], 0x600937
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.ERROR__Invalid_LengthToRead__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x600938
mov dword [esp + 8], 0xfffffd26
mov dword [section..data], 0x600939
jmp 0x41abba
mov dword [section..data], 0x60093a
mov dword [section..data], 0x60093d
push dword [esp + 0x54]
call fcn.00586c00
mov dword [esp + 4], eax
mov dword [section..data], 0x60093e
cmp dword [esp + 4], 0
je 0x41a3eb
xor eax, eax
jmp 0x41a3f0
mov eax, 1
and eax, eax
je 0x41a48f
mov dword [section..data], 0x60093f
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.ERROR__AllocateMemory_failed____
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, str.__bytes
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x600940
mov dword [esp + 8], 0xfffffd3d
mov dword [section..data], 0x600941
jmp 0x41abba
mov dword [section..data], 0x600942
mov dword [section..data], 0x600944
push edx
call fcn.00587290
pop edx
push eax
push 4
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.There_are__
push edx
call fcn.00587330
mov ebp, dword [esp + 0x50]
mov ebp, dword [ebp + 0x30]
add ebp, 8
push dword [ebp + 0x28]
call fcn.00576c91
mov ebx, eax
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, ebx
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, str.__AllocationExtents_available_for_file__
push edx
call fcn.00587330
mov edx, dword [esp + 0xc]
push edx
call fcn.00587330
mov edx, str.____StartPosition__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00574cc0
pop eax
mov edx, str.__LengthToRead__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x600946
mov dword [esp + 0x20], 0
mov dword [section..data], 0x600948
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x30]
add ebp, 8
push dword [ebp + 0x28]
call fcn.00576b77
mov dword [section..data], 0x600949
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x30]
add ebp, 8
push dword [ebp + 0x28]
call fcn.00576b8c
and eax, eax
je 0x41ab87
mov dword [section..data], 0x60094b
push dword [esp + 0x50]
push dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
mov ebp, dword [ebp + 0x30]
add ebp, 8
mov ebp, dword [ebp + 0x2c]
lea eax, [ebp + 0x18]
pop ebx
pop edi
cmp edi, dword [eax + 4]
jl 0x41a60c
jg 0x41a608
cmp ebx, dword [eax]
jb 0x41a60c
xor eax, eax
jmp 0x41a611
mov eax, 1
or eax, eax
jne 0x41a64e
push dword [esp + 0x50]
push dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
mov ebp, dword [ebp + 0x30]
add ebp, 8
mov ebp, dword [ebp + 0x2c]
lea eax, [ebp + 0x20]
pop ebx
pop edi
cmp edi, dword [eax + 4]
jl 0x41a63e
jg 0x41a63a
cmp ebx, dword [eax]
jb 0x41a63e
xor eax, eax
jmp 0x41a643
mov eax, 1
or eax, eax
je 0x41a64e
mov eax, 1
jmp 0x41a650
xor eax, eax
and eax, eax
je 0x41ab6e
mov dword [section..data], 0x60094d
push edx
call fcn.00587290
pop edx
push eax
push 4
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.Destination_startposition__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00574cc0
pop eax
mov edx, str.__is_in_current_extent_beginning_at_position__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov ebp, dword [esp + 0x58]
mov ebp, dword [ebp + 0x30]
add ebp, 8
mov ebp, dword [ebp + 0x2c]
lea eax, [ebp + 0x18]
push dword [eax + 4]
push dword [eax]
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x60094f
push dword [esp + 0x50]
push dword [esp + 0x50]
mov eax, dword [esp + 0x5c]
cdq
add dword [esp], eax
adc dword [esp + 4], edx
mov ebp, dword [esp + 0x4c]
mov ebp, dword [ebp + 0x30]
add ebp, 8
mov ebp, dword [ebp + 0x2c]
lea eax, [ebp + 0x20]
pop ebx
pop edi
cmp edi, dword [eax + 4]
jl 0x41a744
jg 0x41a740
cmp ebx, dword [eax]
jb 0x41a744
xor eax, eax
jmp 0x41a749
mov eax, 1
or eax, eax
je 0x41a76c
mov dword [section..data], 0x600950
push dword [esp + 0x54]
pop eax
mov dword [esp + 0x18], eax
mov dword [section..data], 0x600951
jmp 0x41a7ab
mov dword [section..data], 0x600951
mov dword [section..data], 0x600952
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x30]
add ebp, 8
mov ebp, dword [ebp + 0x2c]
lea eax, [ebp + 0x20]
push dword [eax + 4]
push dword [eax]
lea eax, [esp + 0x54]
mov edx, dword [eax]
sub dword [esp], edx
mov edx, dword [eax + 4]
sbb dword [esp + 4], edx
pop eax
pop edx
mov dword [esp + 0x18], eax
mov dword [section..data], 0x600953
mov dword [section..data], 0x600957
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x30]
add ebp, 8
mov ebp, dword [ebp + 0x2c]
push dword [ebp + 8]
mov ebp, dword [esp + 0x48]
mov ebp, dword [ebp + 0x30]
add ebp, 8
mov ebp, dword [ebp + 0x2c]
push dword [ebp + 0xc]
push dword [esp + 0x4c]
call fcn.0041526f
mov dword [esp + 0x1c], eax
mov dword [section..data], 0x60095a
mov eax, dword [esp + 0x1c]
cdq
push edx
push eax
push 0
push 0x800
push dword [esp + 0xc]
push dword [esp + 0xc]
call fcn.004fc0c0
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [esp + 0x54]
mov edx, dword [eax]
add dword [esp], edx
mov edx, dword [eax + 4]
adc dword [esp + 4], edx
mov ebp, dword [esp + 0x4c]
mov ebp, dword [ebp + 0x30]
add ebp, 8
mov ebp, dword [ebp + 0x2c]
lea eax, [ebp + 0x18]
mov edx, dword [eax]
sub dword [esp], edx
mov edx, dword [eax + 4]
sbb dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
mov ebp, dword [esp + 0x4c]
push dword [ebp + 4]
call fcn.00579b20
mov dword [section..data], 0x60095c
push dword [esp + 0x18]
mov ebx, dword [esp + 8]
add ebx, dword [esp + 0x24]
push ebx
mov ebp, dword [esp + 0x4c]
push dword [ebp + 4]
call fcn.00579b80
mov dword [esp + 0x24], eax
mov dword [section..data], 0x60095d
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x18]
je 0x41a955
mov dword [section..data], 0x60095e
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.ERROR__Couldnt_read_all_requested_bytes___
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x38]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6dccc8
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x2c]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x60095f
mov dword [esp + 8], 0xfffffd42
mov dword [section..data], 0x600960
jmp 0x41ab87
mov dword [section..data], 0x600961
mov dword [section..data], 0x600963
mov ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x18]
mov dword [esp + 0x20], ebx
mov dword [section..data], 0x600964
mov ebx, dword [esp + 0x54]
sub ebx, dword [esp + 0x18]
mov dword [esp + 0x54], ebx
mov dword [section..data], 0x600965
push dword [esp + 0x50]
push dword [esp + 0x50]
mov eax, dword [esp + 0x20]
cdq
add dword [esp], eax
adc dword [esp + 4], edx
pop dword [esp + 0x50]
pop dword [esp + 0x50]
mov dword [section..data], 0x600967
mov ebx, dword [esp + 0x54]
and ebx, ebx
jne 0x41aa9d
mov dword [section..data], 0x600968
push edx
call fcn.00587290
pop edx
push eax
push 4
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.FINAL_after_extent___BytesRead__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x34]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, str.____New_LengthToRead__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, str.____New_StartPosition__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x600969
jmp 0x41ab87
mov dword [section..data], 0x60096a
mov dword [section..data], 0x60096c
push edx
call fcn.00587290
pop edx
push eax
push 4
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.Result_after_extent___BytesRead__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x34]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, str.____New_LengthToRead__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, str.____New_StartPosition__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x6c27d8
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0x60096e
mov dword [section..data], 0x600970
jmp 0x41a5b5
mov dword [section..data], 0x600972
mov ebx, dword [esp + 8]
cmp ebx, 1
je 0x41aba6
mov dword [section..data], 0x600973
jmp 0x41abba
mov dword [section..data], 0x600974
mov dword [section..data], 0x600976
mov dword [section..data], 0x600978
mov ebp, dword [esp + 0x44]
push dword [ebp + 0x2c]
call fcn.00576ca4
mov dword [section..data], 0x60097a
mov ebp, dword [esp + 0x44]
cmp dword [ebp + 0xc], 0
je 0x41abf2
cmp dword [esp + 0x14], 0
je 0x41abf2
mov eax, 1
jmp 0x41abf4
xor eax, eax
and eax, eax
je 0x41ac0b
mov dword [section..data], 0x60097b
push dword [esp + 0x14]
call sub.KERNEL32.dll_CloseHandle
mov dword [section..data], 0x60097c
mov dword [section..data], 0x60097e
mov ebx, dword [esp + 8]
cmp ebx, 1
jne 0x41ac38
mov dword [section..data], 0x60097f
mov eax, dword [esp + 4]
jmp 0x41ac5e
mov dword [section..data], 0x600980
mov dword [section..data], 0x600982
mov eax, dword [esp + 8]
jmp 0x41ac5e
push dword [esp]
call fcn.00587410
push dword [esp + 0x30]
call fcn.00587410
add esp, 0x34
pop edi
pop ebx
pop ebp
ret 0x14