Function at 0x41cf82
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 0x41cf8a
call fcn.0057b2e0
mov edx, dword [esp + 0x48]
lea ecx, [esp]
call fcn.0050d0f0
mov dword [section..data], 0x600909
mov dword [section..data], 0x600914
mov dword [esp + 8], 0
mov dword [section..data], 0x60091d
mov dword [section..data], 0x60091f
mov ebp, dword [esp + 0x44]
push dword [ebp + 0x30]
call fcn.0056b4b1
mov dword [section..data], 0x600921
push edx
call fcn.0057b460
pop edx
push eax
push 4
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.UDF_ReadFile___File__
push edx
call fcn.0057b230
mov edx, dword [esp + 0xc]
push edx
call fcn.0057b230
mov edx, str.____StartPosition__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.0056a320
pop eax
mov edx, str.__LengthToRead__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, str.__DriveMode__
push edx
call fcn.0057b230
mov ebp, dword [esp + 0x50]
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [ebp + 0xc]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x600923
push dword [esp + 0x50]
push dword [esp + 0x50]
pop ebx
pop edi
cmp edi, 0
jg 0x41d0e7
jl 0x41d0e3
cmp ebx, 0
ja 0x41d0e7
xor eax, eax
jmp 0x41d0ec
mov eax, 1
or eax, eax
je 0x41d100
mov ebx, dword [esp + 0x54]
cmp ebx, 0xffffffff
jne 0x41d100
mov eax, 1
jmp 0x41d102
xor eax, eax
and eax, eax
je 0x41d1ca
mov dword [section..data], 0x600924
push edx
call fcn.0057b460
pop edx
push eax
push 0
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.ERROR__Invalid_parameter__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.0056a320
pop eax
mov edx, str.__LengthToRead__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x600925
mov dword [esp + 8], 0xfffffd29
mov dword [section..data], 0x600926
jmp 0x41e4fe
mov dword [section..data], 0x600927
mov dword [section..data], 0x60092a
mov ebp, dword [esp + 0x44]
cmp dword [ebp + 0xc], 0
je 0x41d93e
mov dword [section..data], 0x60092d
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push 2
mov ebp, dword [esp + 0x50]
push dword [ebp]
call fcn.005698f0
mov edx, dword [esp + 4]
push edx
call fcn.0057b230
lea eax, [esp + 0x34]
push eax
call fcn.0057b350
mov dword [section..data], 0x60092e
push edx
call fcn.0057b460
pop edx
push eax
push 3
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.Drive_Filename__
push edx
call fcn.0057b230
mov edx, dword [esp + 0x3c]
push edx
call fcn.0057b230
mov edx, str.__LengthToRead__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x600930
push dword [esp + 0x30]
call fcn.0056d9eb
push edx
push eax
pop dword [esp + 0x2c]
pop dword [esp + 0x2c]
mov dword [section..data], 0x600931
push dword [esp + 0x2c]
push dword [esp + 0x2c]
pop ebx
pop edi
cmp edi, 0
jl 0x41d2f7
jg 0x41d2f3
cmp ebx, 0
jb 0x41d2f7
xor eax, eax
jmp 0x41d2fc
mov eax, 1
or eax, eax
je 0x41d3b1
mov dword [section..data], 0x600932
push edx
call fcn.0057b460
pop edx
push eax
push 0
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.ERROR__Filesize_invalid__
push edx
call fcn.0057b230
mov edx, dword [esp + 0x3c]
push edx
call fcn.0057b230
mov edx, str.__Size__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push dword [esp + 0x40]
push dword [esp + 0x40]
call fcn.0056a320
pop eax
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x600933
mov dword [esp + 8], 0xfffffd1e
mov dword [section..data], 0x600934
jmp 0x41e4fe
mov dword [section..data], 0x600935
mov dword [section..data], 0x600937
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], 0x600939
cmp dword [esp + 0x14], 0
je 0x41d405
xor eax, eax
jmp 0x41d40a
mov eax, 1
and eax, eax
je 0x41d516
mov dword [section..data], 0x60093a
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0x24], eax
mov dword [section..data], 0x60093b
push edx
call fcn.0057b460
pop edx
push eax
push 0
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.CreateFile__failed__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, str.__GetLastError__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x38]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, 0x69ad3c
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push dword [esp + 0x34]
call fcn.00412a79
pop eax
mov edx, 0x686920
push edx
call fcn.0057b230
mov edx, dword [esp + 0x3c]
push edx
call fcn.0057b230
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x60093c
mov dword [esp + 8], 0xfffffd42
mov dword [section..data], 0x60093d
jmp 0x41e4fe
mov dword [section..data], 0x60093e
mov dword [section..data], 0x600940
push dword [esp + 0x50]
push dword [esp + 0x50]
pop ebx
pop edi
cmp ebx, 0
jne 0x41d542
cmp edi, 0
jne 0x41d542
xor eax, eax
jmp 0x41d547
mov eax, 1
or eax, eax
je 0x41d566
mov dword [section..data], 0x600941
push dword [esp + 0x50]
push dword [esp + 0x50]
push dword [esp + 0x1c]
call fcn.0056e620
mov dword [section..data], 0x600942
mov dword [section..data], 0x600944
mov ebx, dword [esp + 0x54]
cmp ebx, 0xffffffff
jne 0x41d59a
mov dword [section..data], 0x600945
push dword [esp + 0x30]
call fcn.0056d9eb
mov dword [esp + 0x54], eax
mov dword [section..data], 0x600946
mov dword [section..data], 0x600948
mov ebx, dword [esp + 0x54]
and ebx, ebx
jg 0x41d651
mov dword [section..data], 0x600949
push edx
call fcn.0057b460
pop edx
push eax
push 0
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.ERROR__Invalid_LengthToRead__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x60094a
mov dword [esp + 8], 0xfffffd26
mov dword [section..data], 0x60094b
jmp 0x41e4fe
mov dword [section..data], 0x60094c
mov dword [section..data], 0x60094f
push dword [esp + 0x54]
call fcn.0057abd0
mov dword [esp + 4], eax
mov dword [section..data], 0x600950
cmp dword [esp + 4], 0
je 0x41d687
xor eax, eax
jmp 0x41d68c
mov eax, 1
and eax, eax
je 0x41d72b
mov dword [section..data], 0x600951
push edx
call fcn.0057b460
pop edx
push eax
push 0
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.ERROR__AllocateMemory_failed____
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, str.__bytes
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x600952
mov dword [esp + 8], 0xfffffd3d
mov dword [section..data], 0x600953
jmp 0x41e4fe
mov dword [section..data], 0x600954
mov dword [section..data], 0x600956
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], 0x600958
mov ebx, dword [esp + 0x24]
and ebx, ebx
jne 0x41d878
mov dword [section..data], 0x600959
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0x24], eax
mov dword [section..data], 0x60095a
push edx
call fcn.0057b460
pop edx
push eax
push 0
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.ReadFile___
push edx
call fcn.0057b230
mov edx, dword [esp + 0x3c]
push edx
call fcn.0057b230
mov edx, str.__failed__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x1c]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, str.____GetLastError__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x38]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, 0x69ad3c
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push dword [esp + 0x34]
call fcn.00412a79
pop eax
mov edx, 0x67ce72
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x60095b
mov dword [esp + 8], 0xfffffd42
mov dword [section..data], 0x60095c
jmp 0x41e4fe
mov dword [section..data], 0x60095d
mov dword [section..data], 0x60095f
push edx
call fcn.0057b460
pop edx
push eax
push 3
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.Bytes_read__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x34]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x600961
push dword [esp + 0x14]
call sub.KERNEL32.dll_CloseHandle
mov dword [section..data], 0x600962
mov dword [esp + 0x14], 0
mov dword [section..data], 0x600965
mov dword [esp + 8], 1
mov dword [section..data], 0x600967
jmp 0x41e4fe
mov dword [section..data], 0x600968
mov dword [section..data], 0x60096b
mov ebp, dword [esp + 0x44]
push dword [ebp + 4]
pop eax
mov dword [esp + 0x14], eax
mov dword [section..data], 0x60096d
push dword [esp + 0x14]
call fcn.0056e6b0
and eax, eax
je 0x41d979
xor eax, eax
jmp 0x41d97e
mov eax, 1
and eax, eax
je 0x41da1d
mov dword [section..data], 0x60096e
push edx
call fcn.0057b460
pop edx
push eax
push 0
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.ERROR__File_not_initialized___
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x60096f
mov dword [esp + 8], 0xfffffd40
mov dword [section..data], 0x600970
jmp 0x41e4fe
mov dword [section..data], 0x600971
mov dword [section..data], 0x600973
mov dword [esp + 8], 0xfffffd43
mov dword [section..data], 0x600975
mov ebp, dword [esp + 0x44]
push dword [ebp + 0x30]
call fcn.0056b3fd
mov ebx, eax
and ebx, ebx
jl 0x41dab0
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov ebp, dword [esp + 0x4c]
mov ebp, dword [ebp + 0x34]
push dword [ebp + 8]
call fcn.0056ab00
call fcn.0057b490
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push dword [esp + 0xc]
call fcn.0056ab00
call fcn.0050d250
mov edx, eax
pop ecx
push ecx
call fcn.0050d250
mov ecx, eax
call fcn.0050d1d0
je 0x41dab0
mov eax, 1
jmp 0x41dab2
xor eax, eax
and eax, eax
je 0x41dacb
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x34]
mov ebx, dword [ebp + 0xc]
and ebx, ebx
jne 0x41dacb
mov eax, 1
jmp 0x41dacd
xor eax, eax
and eax, eax
je 0x41daf2
mov dword [section..data], 0x600976
mov dword [esp + 8], 1
mov dword [section..data], 0x600977
jmp 0x41dbe0
mov dword [section..data], 0x600977
mov dword [section..data], 0x600978
mov ebp, dword [esp + 0x44]
push dword [ebp + 0x30]
call fcn.0056b50d
mov dword [section..data], 0x600979
mov ebp, dword [esp + 0x44]
push dword [ebp + 0x30]
call fcn.0056b43c
and eax, eax
je 0x41dbe0
mov dword [section..data], 0x60097a
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov ebp, dword [esp + 0x4c]
mov ebp, dword [ebp + 0x34]
push dword [ebp + 8]
call fcn.0056ab00
call fcn.0057b490
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push dword [esp + 0xc]
call fcn.0056ab00
call fcn.0050d250
mov edx, eax
pop ecx
push ecx
call fcn.0050d250
mov ecx, eax
call fcn.0050d1d0
je 0x41dba3
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x34]
mov ebx, dword [ebp + 0xc]
and ebx, ebx
jne 0x41dba3
mov eax, 1
jmp 0x41dba5
xor eax, eax
and eax, eax
je 0x41dbc7
mov dword [section..data], 0x60097b
mov dword [esp + 8], 1
mov dword [section..data], 0x60097c
jmp 0x41dbe0
mov dword [section..data], 0x60097d
mov dword [section..data], 0x60097e
jmp 0x41db12
mov dword [section..data], 0x60097f
mov dword [section..data], 0x600981
mov ebx, dword [esp + 8]
cmp ebx, 1
je 0x41dc0c
mov dword [section..data], 0x600982
jmp 0x41e4fe
mov dword [section..data], 0x600983
mov dword [section..data], 0x600987
mov ebx, dword [esp + 0x54]
cmp ebx, 0xffffffff
jne 0x41dc42
mov dword [section..data], 0x600988
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x34]
push dword [ebp + 0x10]
pop eax
mov dword [esp + 0x54], eax
mov dword [section..data], 0x600989
mov dword [section..data], 0x60098b
mov ebx, dword [esp + 0x54]
and ebx, ebx
jg 0x41dcf9
mov dword [section..data], 0x60098c
push edx
call fcn.0057b460
pop edx
push eax
push 0
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.ERROR__Invalid_LengthToRead__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x60098d
mov dword [esp + 8], 0xfffffd26
mov dword [section..data], 0x60098e
jmp 0x41e4fe
mov dword [section..data], 0x60098f
mov dword [section..data], 0x600992
push dword [esp + 0x54]
call fcn.0057abd0
mov dword [esp + 4], eax
mov dword [section..data], 0x600993
cmp dword [esp + 4], 0
je 0x41dd2f
xor eax, eax
jmp 0x41dd34
mov eax, 1
and eax, eax
je 0x41ddd3
mov dword [section..data], 0x600994
push edx
call fcn.0057b460
pop edx
push eax
push 0
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.ERROR__AllocateMemory_failed____
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, str.__bytes
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x600995
mov dword [esp + 8], 0xfffffd3d
mov dword [section..data], 0x600996
jmp 0x41e4fe
mov dword [section..data], 0x600997
mov dword [section..data], 0x600999
push edx
call fcn.0057b460
pop edx
push eax
push 4
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.There_are__
push edx
call fcn.0057b230
mov ebp, dword [esp + 0x50]
mov ebp, dword [ebp + 0x34]
add ebp, 8
push dword [ebp + 0x38]
call fcn.0056b429
mov ebx, eax
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, ebx
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, str.__AllocationExtents_available_for_file__
push edx
call fcn.0057b230
mov edx, dword [esp + 0xc]
push edx
call fcn.0057b230
mov edx, str.____StartPosition__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.0056a320
pop eax
mov edx, str.__LengthToRead__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x60099b
mov dword [esp + 0x20], 0
mov dword [section..data], 0x60099d
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x34]
add ebp, 8
push dword [ebp + 0x38]
call fcn.0056b50d
mov dword [section..data], 0x60099e
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x34]
add ebp, 8
push dword [ebp + 0x38]
call fcn.0056b43c
and eax, eax
je 0x41e4cb
mov dword [section..data], 0x6009a0
push dword [esp + 0x50]
push dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
mov ebp, dword [ebp + 0x34]
add ebp, 8
mov ebp, dword [ebp + 0x3c]
lea eax, [ebp + 0x18]
pop ebx
pop edi
cmp edi, dword [eax + 4]
jl 0x41df50
jg 0x41df4c
cmp ebx, dword [eax]
jb 0x41df50
xor eax, eax
jmp 0x41df55
mov eax, 1
or eax, eax
jne 0x41df92
push dword [esp + 0x50]
push dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
mov ebp, dword [ebp + 0x34]
add ebp, 8
mov ebp, dword [ebp + 0x3c]
lea eax, [ebp + 0x20]
pop ebx
pop edi
cmp edi, dword [eax + 4]
jl 0x41df82
jg 0x41df7e
cmp ebx, dword [eax]
jb 0x41df82
xor eax, eax
jmp 0x41df87
mov eax, 1
or eax, eax
je 0x41df92
mov eax, 1
jmp 0x41df94
xor eax, eax
and eax, eax
je 0x41e4b2
mov dword [section..data], 0x6009a2
push edx
call fcn.0057b460
pop edx
push eax
push 4
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.Destination_startposition__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.0056a320
pop eax
mov edx, str.__is_in_current_extent_beginning_at_position__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov ebp, dword [esp + 0x58]
mov ebp, dword [ebp + 0x34]
add ebp, 8
mov ebp, dword [ebp + 0x3c]
lea eax, [ebp + 0x18]
push dword [eax + 4]
push dword [eax]
call fcn.0056a320
pop eax
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x6009a4
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 + 0x34]
add ebp, 8
mov ebp, dword [ebp + 0x3c]
lea eax, [ebp + 0x20]
pop ebx
pop edi
cmp edi, dword [eax + 4]
jl 0x41e088
jg 0x41e084
cmp ebx, dword [eax]
jb 0x41e088
xor eax, eax
jmp 0x41e08d
mov eax, 1
or eax, eax
je 0x41e0b0
mov dword [section..data], 0x6009a5
push dword [esp + 0x54]
pop eax
mov dword [esp + 0x18], eax
mov dword [section..data], 0x6009a6
jmp 0x41e0ef
mov dword [section..data], 0x6009a6
mov dword [section..data], 0x6009a7
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x34]
add ebp, 8
mov ebp, dword [ebp + 0x3c]
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], 0x6009a8
mov dword [section..data], 0x6009ac
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x34]
add ebp, 8
mov ebp, dword [ebp + 0x3c]
push dword [ebp + 8]
mov ebp, dword [esp + 0x48]
mov ebp, dword [ebp + 0x34]
add ebp, 8
mov ebp, dword [ebp + 0x3c]
push dword [ebp + 0xc]
push dword [esp + 0x4c]
call fcn.00418756
mov dword [esp + 0x1c], eax
mov dword [section..data], 0x6009af
mov eax, dword [esp + 0x1c]
cdq
push edx
push eax
push 0
push 0x800
push dword [esp + 0xc]
push dword [esp + 0xc]
call fcn.0050d000
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 + 0x34]
add ebp, 8
mov ebp, dword [ebp + 0x3c]
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.0056e620
mov dword [section..data], 0x6009b1
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.0056e850
mov dword [esp + 0x24], eax
mov dword [section..data], 0x6009b2
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x18]
je 0x41e299
mov dword [section..data], 0x6009b3
push edx
call fcn.0057b460
pop edx
push eax
push 0
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.ERROR__Couldnt_read_all_requested_bytes___
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x38]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, 0x69c13c
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x2c]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x6009b4
mov dword [esp + 8], 0xfffffd42
mov dword [section..data], 0x6009b5
jmp 0x41e4cb
mov dword [section..data], 0x6009b6
mov dword [section..data], 0x6009b8
mov ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x18]
mov dword [esp + 0x20], ebx
mov dword [section..data], 0x6009b9
mov ebx, dword [esp + 0x54]
sub ebx, dword [esp + 0x18]
mov dword [esp + 0x54], ebx
mov dword [section..data], 0x6009ba
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], 0x6009bc
mov ebx, dword [esp + 0x54]
and ebx, ebx
jne 0x41e3e1
mov dword [section..data], 0x6009bd
push edx
call fcn.0057b460
pop edx
push eax
push 4
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.FINAL_after_extent___BytesRead__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x34]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, str.____New_LengthToRead__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, str.____New_StartPosition__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.0056a320
pop eax
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x6009be
jmp 0x41e4cb
mov dword [section..data], 0x6009bf
mov dword [section..data], 0x6009c1
push edx
call fcn.0057b460
pop edx
push eax
push 4
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.Result_after_extent___BytesRead__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x34]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, str.____New_LengthToRead__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x68]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, str.____New_StartPosition__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.0056a320
pop eax
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.BRUDF_ReadFile
push eax
mov eax, 0x68188a
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0x6009c3
mov dword [section..data], 0x6009c5
jmp 0x41def9
mov dword [section..data], 0x6009c7
mov ebx, dword [esp + 8]
cmp ebx, 1
je 0x41e4ea
mov dword [section..data], 0x6009c8
jmp 0x41e4fe
mov dword [section..data], 0x6009c9
mov dword [section..data], 0x6009cb
mov dword [section..data], 0x6009cd
mov ebp, dword [esp + 0x44]
push dword [ebp + 0x30]
call fcn.0056b477
mov dword [section..data], 0x6009cf
mov ebp, dword [esp + 0x44]
cmp dword [ebp + 0xc], 0
je 0x41e536
cmp dword [esp + 0x14], 0
je 0x41e536
mov eax, 1
jmp 0x41e538
xor eax, eax
and eax, eax
je 0x41e54f
mov dword [section..data], 0x6009d0
push dword [esp + 0x14]
call sub.KERNEL32.dll_CloseHandle
mov dword [section..data], 0x6009d1
mov dword [section..data], 0x6009d3
mov ebx, dword [esp + 8]
cmp ebx, 1
jne 0x41e57c
mov dword [section..data], 0x6009d4
mov eax, dword [esp + 4]
jmp 0x41e5a2
mov dword [section..data], 0x6009d5
mov dword [section..data], 0x6009d7
mov eax, dword [esp + 8]
jmp 0x41e5a2
push dword [esp]
call fcn.0057b3c0
push dword [esp + 0x30]
call fcn.0057b3c0
add esp, 0x34
pop edi
pop ebx
pop ebp
ret 0x14