Function at 0x416dbb
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 0x416dc3
call fcn.0055ab90
mov edx, dword [esp + 0x48]
lea ecx, [esp]
call fcn.004f4000
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.0054a970
mov dword [section..data], 0x6008cc
push edx
call fcn.0055a9f0
pop edx
push eax
push 4
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.UDF_ReadFile___File__
push edx
call fcn.0055aac0
mov edx, dword [esp + 0xc]
push edx
call fcn.0055aac0
mov edx, str.____StartPosition__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00548d10
pop eax
mov edx, str.__LengthToRead__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, str.__DriveMode__
push edx
call fcn.0055aac0
mov ebp, dword [esp + 0x50]
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [ebp + 0xc]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0x6008ce
push dword [esp + 0x50]
push dword [esp + 0x50]
pop ebx
pop edi
cmp edi, 0
jg 0x416f20
jl 0x416f1c
cmp ebx, 0
ja 0x416f20
xor eax, eax
jmp 0x416f25
mov eax, 1
or eax, eax
je 0x416f39
mov ebx, dword [esp + 0x54]
cmp ebx, 0xffffffff
jne 0x416f39
mov eax, 1
jmp 0x416f3b
xor eax, eax
and eax, eax
je 0x417003
mov dword [section..data], 0x6008cf
push edx
call fcn.0055a9f0
pop edx
push eax
push 0
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.ERROR__Invalid_parameter__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00548d10
pop eax
mov edx, str.__LengthToRead__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0x6008d0
mov dword [esp + 8], 0xfffffd29
mov dword [section..data], 0x6008d1
jmp 0x418337
mov dword [section..data], 0x6008d2
mov dword [section..data], 0x6008d5
mov ebp, dword [esp + 0x44]
cmp dword [ebp + 0xc], 0
je 0x417777
mov dword [section..data], 0x6008d8
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push 2
mov ebp, dword [esp + 0x50]
push dword [ebp]
call fcn.00549920
mov edx, dword [esp + 4]
push edx
call fcn.0055aac0
lea eax, [esp + 0x34]
push eax
call fcn.0055aa30
mov dword [section..data], 0x6008d9
push edx
call fcn.0055a9f0
pop edx
push eax
push 3
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.Drive_Filename__
push edx
call fcn.0055aac0
mov edx, dword [esp + 0x3c]
push edx
call fcn.0055aac0
mov edx, str.__LengthToRead__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0x6008db
push dword [esp + 0x30]
call fcn.0054cac0
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 0x417130
jg 0x41712c
cmp ebx, 0
jb 0x417130
xor eax, eax
jmp 0x417135
mov eax, 1
or eax, eax
je 0x4171ea
mov dword [section..data], 0x6008dd
push edx
call fcn.0055a9f0
pop edx
push eax
push 0
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.ERROR__Filesize_invalid__
push edx
call fcn.0055aac0
mov edx, dword [esp + 0x3c]
push edx
call fcn.0055aac0
mov edx, str.__Size__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push dword [esp + 0x40]
push dword [esp + 0x40]
call fcn.00548d10
pop eax
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0x6008de
mov dword [esp + 8], 0xfffffd1e
mov dword [section..data], 0x6008df
jmp 0x418337
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 0x41723e
xor eax, eax
jmp 0x417243
mov eax, 1
and eax, eax
je 0x41734f
mov dword [section..data], 0x6008e5
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0x24], eax
mov dword [section..data], 0x6008e6
push edx
call fcn.0055a9f0
pop edx
push eax
push 0
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.CreateFile__failed__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, str.__GetLastError__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x38]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, 0x655306
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push dword [esp + 0x34]
call fcn.0040cdb9
pop eax
mov edx, 0x641854
push edx
call fcn.0055aac0
mov edx, dword [esp + 0x3c]
push edx
call fcn.0055aac0
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0x6008e7
mov dword [esp + 8], 0xfffffd42
mov dword [section..data], 0x6008e8
jmp 0x418337
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 0x41737b
cmp edi, 0
jne 0x41737b
xor eax, eax
jmp 0x417380
mov eax, 1
or eax, eax
je 0x41739f
mov dword [section..data], 0x6008ec
push dword [esp + 0x50]
push dword [esp + 0x50]
push dword [esp + 0x1c]
call fcn.0054d6f0
mov dword [section..data], 0x6008ed
mov dword [section..data], 0x6008ef
mov ebx, dword [esp + 0x54]
cmp ebx, 0xffffffff
jne 0x4173d3
mov dword [section..data], 0x6008f0
push dword [esp + 0x30]
call fcn.0054cac0
mov dword [esp + 0x54], eax
mov dword [section..data], 0x6008f1
mov dword [section..data], 0x6008f3
mov ebx, dword [esp + 0x54]
and ebx, ebx
jg 0x41748a
mov dword [section..data], 0x6008f4
push edx
call fcn.0055a9f0
pop edx
push eax
push 0
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.ERROR__Invalid_LengthToRead__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0x6008f5
mov dword [esp + 8], 0xfffffd26
mov dword [section..data], 0x6008f6
jmp 0x418337
mov dword [section..data], 0x6008f7
mov dword [section..data], 0x6008fa
push dword [esp + 0x54]
call fcn.0055a360
mov dword [esp + 4], eax
mov dword [section..data], 0x6008fb
cmp dword [esp + 4], 0
je 0x4174c0
xor eax, eax
jmp 0x4174c5
mov eax, 1
and eax, eax
je 0x417564
mov dword [section..data], 0x6008fc
push edx
call fcn.0055a9f0
pop edx
push eax
push 0
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.ERROR__AllocateMemory_failed____
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, str.__bytes
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0x6008fd
mov dword [esp + 8], 0xfffffd3d
mov dword [section..data], 0x6008fe
jmp 0x418337
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 0x4176b1
mov dword [section..data], 0x600904
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0x24], eax
mov dword [section..data], 0x600905
push edx
call fcn.0055a9f0
pop edx
push eax
push 0
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.ReadFile___
push edx
call fcn.0055aac0
mov edx, dword [esp + 0x3c]
push edx
call fcn.0055aac0
mov edx, str.__failed__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x1c]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, str.____GetLastError__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x38]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, 0x655306
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push dword [esp + 0x34]
call fcn.0040cdb9
pop eax
mov edx, 0x637c34
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0x600906
mov dword [esp + 8], 0xfffffd42
mov dword [section..data], 0x600907
jmp 0x418337
mov dword [section..data], 0x600908
mov dword [section..data], 0x60090a
push edx
call fcn.0055a9f0
pop edx
push eax
push 3
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.Bytes_read__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x34]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
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 0x418337
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.0054d640
and eax, eax
je 0x4177b2
xor eax, eax
jmp 0x4177b7
mov eax, 1
and eax, eax
je 0x417856
mov dword [section..data], 0x600919
push edx
call fcn.0055a9f0
pop edx
push eax
push 0
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.ERROR__File_not_initialized___
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0x60091a
mov dword [esp + 8], 0xfffffd40
mov dword [section..data], 0x60091b
jmp 0x418337
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.0054a86c
mov ebx, eax
and ebx, ebx
jl 0x4178e9
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov ebp, dword [esp + 0x4c]
mov ebp, dword [ebp + 0x30]
push dword [ebp + 8]
call fcn.005498b0
call fcn.0055ab20
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push dword [esp + 0xc]
call fcn.005498b0
call fcn.004f4360
mov edx, eax
pop ecx
push ecx
call fcn.004f4360
mov ecx, eax
call fcn.004f4370
je 0x4178e9
mov eax, 1
jmp 0x4178eb
xor eax, eax
and eax, eax
je 0x417904
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x30]
mov ebx, dword [ebp + 0xc]
and ebx, ebx
jne 0x417904
mov eax, 1
jmp 0x417906
xor eax, eax
and eax, eax
je 0x41792b
mov dword [section..data], 0x600921
mov dword [esp + 8], 1
mov dword [section..data], 0x600922
jmp 0x417a19
mov dword [section..data], 0x600922
mov dword [section..data], 0x600923
mov ebp, dword [esp + 0x44]
push dword [ebp + 0x2c]
call fcn.0054a823
mov dword [section..data], 0x600924
mov ebp, dword [esp + 0x44]
push dword [ebp + 0x2c]
call fcn.0054a838
and eax, eax
je 0x417a19
mov dword [section..data], 0x600925
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov ebp, dword [esp + 0x4c]
mov ebp, dword [ebp + 0x30]
push dword [ebp + 8]
call fcn.005498b0
call fcn.0055ab20
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push dword [esp + 0xc]
call fcn.005498b0
call fcn.004f4360
mov edx, eax
pop ecx
push ecx
call fcn.004f4360
mov ecx, eax
call fcn.004f4370
je 0x4179dc
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x30]
mov ebx, dword [ebp + 0xc]
and ebx, ebx
jne 0x4179dc
mov eax, 1
jmp 0x4179de
xor eax, eax
and eax, eax
je 0x417a00
mov dword [section..data], 0x600926
mov dword [esp + 8], 1
mov dword [section..data], 0x600927
jmp 0x417a19
mov dword [section..data], 0x600928
mov dword [section..data], 0x600929
jmp 0x41794b
mov dword [section..data], 0x60092a
mov dword [section..data], 0x60092c
mov ebx, dword [esp + 8]
cmp ebx, 1
je 0x417a45
mov dword [section..data], 0x60092d
jmp 0x418337
mov dword [section..data], 0x60092e
mov dword [section..data], 0x600932
mov ebx, dword [esp + 0x54]
cmp ebx, 0xffffffff
jne 0x417a7b
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 0x417b32
mov dword [section..data], 0x600937
push edx
call fcn.0055a9f0
pop edx
push eax
push 0
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.ERROR__Invalid_LengthToRead__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0x600938
mov dword [esp + 8], 0xfffffd26
mov dword [section..data], 0x600939
jmp 0x418337
mov dword [section..data], 0x60093a
mov dword [section..data], 0x60093d
push dword [esp + 0x54]
call fcn.0055a360
mov dword [esp + 4], eax
mov dword [section..data], 0x60093e
cmp dword [esp + 4], 0
je 0x417b68
xor eax, eax
jmp 0x417b6d
mov eax, 1
and eax, eax
je 0x417c0c
mov dword [section..data], 0x60093f
push edx
call fcn.0055a9f0
pop edx
push eax
push 0
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.ERROR__AllocateMemory_failed____
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, str.__bytes
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0x600940
mov dword [esp + 8], 0xfffffd3d
mov dword [section..data], 0x600941
jmp 0x418337
mov dword [section..data], 0x600942
mov dword [section..data], 0x600944
push edx
call fcn.0055a9f0
pop edx
push eax
push 4
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.There_are__
push edx
call fcn.0055aac0
mov ebp, dword [esp + 0x50]
mov ebp, dword [ebp + 0x30]
add ebp, 8
push dword [ebp + 0x28]
call fcn.0054a9a1
mov ebx, eax
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, ebx
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, str.__AllocationExtents_available_for_file__
push edx
call fcn.0055aac0
mov edx, dword [esp + 0xc]
push edx
call fcn.0055aac0
mov edx, str.____StartPosition__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00548d10
pop eax
mov edx, str.__LengthToRead__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
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.0054a823
mov dword [section..data], 0x600949
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x30]
add ebp, 8
push dword [ebp + 0x28]
call fcn.0054a838
and eax, eax
je 0x418304
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 0x417d89
jg 0x417d85
cmp ebx, dword [eax]
jb 0x417d89
xor eax, eax
jmp 0x417d8e
mov eax, 1
or eax, eax
jne 0x417dcb
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 0x417dbb
jg 0x417db7
cmp ebx, dword [eax]
jb 0x417dbb
xor eax, eax
jmp 0x417dc0
mov eax, 1
or eax, eax
je 0x417dcb
mov eax, 1
jmp 0x417dcd
xor eax, eax
and eax, eax
je 0x4182eb
mov dword [section..data], 0x60094d
push edx
call fcn.0055a9f0
pop edx
push eax
push 4
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.Destination_startposition__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00548d10
pop eax
mov edx, str.__is_in_current_extent_beginning_at_position__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
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.00548d10
pop eax
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
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 0x417ec1
jg 0x417ebd
cmp ebx, dword [eax]
jb 0x417ec1
xor eax, eax
jmp 0x417ec6
mov eax, 1
or eax, eax
je 0x417ee9
mov dword [section..data], 0x600950
push dword [esp + 0x54]
pop eax
mov dword [esp + 0x18], eax
mov dword [section..data], 0x600951
jmp 0x417f28
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.00412a16
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.004f40c0
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.0054d6f0
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.0054d760
mov dword [esp + 0x24], eax
mov dword [section..data], 0x60095d
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x18]
je 0x4180d2
mov dword [section..data], 0x60095e
push edx
call fcn.0055a9f0
pop edx
push eax
push 0
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.ERROR__Couldnt_read_all_requested_bytes___
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x38]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, 0x6567d6
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x2c]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0x60095f
mov dword [esp + 8], 0xfffffd42
mov dword [section..data], 0x600960
jmp 0x418304
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 0x41821a
mov dword [section..data], 0x600968
push edx
call fcn.0055a9f0
pop edx
push eax
push 4
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.FINAL_after_extent___BytesRead__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x34]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, str.____New_LengthToRead__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, str.____New_StartPosition__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00548d10
pop eax
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0x600969
jmp 0x418304
mov dword [section..data], 0x60096a
mov dword [section..data], 0x60096c
push edx
call fcn.0055a9f0
pop edx
push eax
push 4
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.Result_after_extent___BytesRead__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x34]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, str.____New_LengthToRead__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, str.____New_StartPosition__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00548d10
pop eax
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x63c1ee
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0x60096e
mov dword [section..data], 0x600970
jmp 0x417d32
mov dword [section..data], 0x600972
mov ebx, dword [esp + 8]
cmp ebx, 1
je 0x418323
mov dword [section..data], 0x600973
jmp 0x418337
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.0054a936
mov dword [section..data], 0x60097a
mov ebp, dword [esp + 0x44]
cmp dword [ebp + 0xc], 0
je 0x41836f
cmp dword [esp + 0x14], 0
je 0x41836f
mov eax, 1
jmp 0x418371
xor eax, eax
and eax, eax
je 0x418388
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 0x4183b5
mov dword [section..data], 0x60097f
mov eax, dword [esp + 4]
jmp 0x4183db
mov dword [section..data], 0x600980
mov dword [section..data], 0x600982
mov eax, dword [esp + 8]
jmp 0x4183db
push dword [esp]
call fcn.0055abf0
push dword [esp + 0x30]
call fcn.0055abf0
add esp, 0x34
pop edi
pop ebx
pop ebp
ret 0x14