Function at 0x40f5d0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x462040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [0x465edc]
xorps xmm0, xmm0
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], 0
movlpd qword [ebp - 0x28], xmm0
mov dword [ebp - 0x30], esi
push edi
test esi, esi
je 0x40fd78
mov eax, dword [ebp - 0x24]
xor ebx, ebx
mov edi, 5
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edi
lea ecx, [ebx + 3]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xc], 0x62eb20
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40f66d
add eax, 2
add eax, ebx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40f64f
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x40f6c0
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40f669
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40f651
jmp 0x40f6c0
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40f67e
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40f723
mov ecx, dword [ebp - 0xc]
lea eax, [ebx + 3]
add ecx, 2
imul ecx, eax
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
test al, 1
jne 0x40f6bb
nop word [eax + eax]
mov eax, dword [ebp - 0xc]
cdq
idiv edi
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40f6b0
dec eax
jmp 0x40f6b1
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
test al, 1
je 0x40f6a0
mov ecx, 3
mov ebx, dword [ebp - 0x24]
mov edi, 0
mov dword [ebp - 0xc], 0x62eb20
sub esi, ebx
mov eax, dword [ebp - 0xc]
sbb edi, dword [ebp - 0x18]
cdq
idiv ecx
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40f773
add eax, 2
add eax, esi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40f6fe
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x40f7c5
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40f71c
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40f704
jmp 0x40f7c5
mov eax, dword [ebp - 0xc]
cdq
idiv edi
test edx, edx
je 0x40f6c0
mov eax, dword [ebp - 0xc]
lea ecx, [ebx + 0x17]
add eax, 0xb
cdq
idiv ecx
mov ecx, 3
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
test edx, edx
jne 0x40f6c0
nop
mov eax, dword [ebp - 0xc]
cdq
idiv edi
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40f760
inc eax
jmp 0x40f761
dec eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
test edx, edx
je 0x40f750
jmp 0x40f6c0
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40f784
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40f8b4
mov ecx, dword [ebp - 0xc]
lea eax, [esi + 3]
add ecx, 2
imul ecx, eax
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
test al, 1
jne 0x40f7c0
mov ecx, 5
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40f7b5
dec eax
jmp 0x40f7b6
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
test al, 1
je 0x40f7a5
mov ecx, 3
test edi, edi
jl 0x40f7d8
jg 0x40f7d3
cmp esi, 0x500000
jbe 0x40f7d8
mov esi, 0x500000
mov dword [ebp - 0xc], 0x62eb20
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40f909
add eax, 2
add eax, esi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40f809
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x40f82a
nop dword [eax + eax]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40f828
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40f810
mov edi, 3
push 0
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0x14]
push esi
mov esi, dword [ebp - 0x2c]
push esi
push dword [eax + 0x20c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40fd78
cmp dword [ebp - 8], 0
je 0x40fd78
mov dword [ebp - 0xc], 0x62eb20
mov eax, dword [ebp - 0xc]
cdq
idiv edi
test edx, edx
je 0x40f9c3
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
add eax, 2
add eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40f88f
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x40fa62
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40f8ad
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40f895
jmp 0x40fa62
mov eax, dword [ebp - 0xc]
cdq
idiv dword [ebp - 0x1c]
test edx, edx
je 0x40f7c5
mov eax, dword [ebp - 0xc]
lea ecx, [esi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov ecx, 3
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
test edx, edx
jne 0x40f7c5
mov eax, dword [ebp - 0xc]
cdq
idiv dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40f8f6
inc eax
jmp 0x40f8f7
dec eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
test edx, edx
je 0x40f8e5
jmp 0x40f7c5
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40f91a
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40f960
mov ecx, dword [ebp - 0xc]
lea eax, [esi + 3]
add ecx, 2
imul ecx, eax
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
test al, 1
jne 0x40f82a
mov ecx, 5
nop dword [eax + eax]
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40f950
dec eax
jmp 0x40f951
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
test al, 1
je 0x40f940
jmp 0x40f82a
mov eax, dword [ebp - 0xc]
mov ecx, 5
cdq
idiv ecx
test edx, edx
je 0x40f82a
mov eax, dword [ebp - 0xc]
lea ecx, [esi + 0x17]
add eax, 0xb
mov edi, 3
cdq
idiv ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv edi
test edx, edx
jne 0x40f82f
mov ecx, 5
nop word [eax + eax]
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40f9b0
inc eax
jmp 0x40f9b1
dec eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv edi
test edx, edx
je 0x40f9a0
jmp 0x40f82f
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40f9d7
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40fa14
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
add ecx, 2
add eax, 3
imul eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
test al, 1
jne 0x40fa62
mov ecx, 5
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40fa07
dec eax
jmp 0x40fa08
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
test al, 1
je 0x40f9f7
jmp 0x40fa62
mov eax, dword [ebp - 0xc]
mov ecx, 5
cdq
idiv ecx
test edx, edx
je 0x40fa62
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
add eax, 0xb
cdq
add ecx, 0x17
idiv ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv edi
test edx, edx
jne 0x40fa62
mov ecx, 5
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40fa54
inc eax
jmp 0x40fa55
dec eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv edi
test edx, edx
je 0x40fa44
mov edi, dword [ebp - 8]
mov ecx, 3
mov dword [ebp - 0xc], 0x62eb20
add ebx, edi
mov eax, dword [ebp - 0xc]
adc dword [ebp - 0x18], 0
cdq
idiv ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x24], ebx
test edx, edx
je 0x40fac5
add eax, 2
add eax, ebx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40faa0
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x40fb5f
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40fabe
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40faa6
jmp 0x40fb5f
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40fad6
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40fb10
mov ecx, dword [ebp - 0xc]
lea eax, [ebx + 3]
add ecx, 2
imul ecx, eax
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
test al, 1
jne 0x40fb5f
mov ecx, 5
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40fb03
dec eax
jmp 0x40fb04
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
test al, 1
je 0x40faf3
jmp 0x40fb5f
mov eax, dword [ebp - 0xc]
mov ecx, 5
cdq
idiv ecx
test edx, edx
je 0x40fb5f
mov eax, dword [ebp - 0xc]
lea ecx, [ebx + 0x17]
add eax, 0xb
cdq
idiv ecx
mov ecx, 3
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
test edx, edx
jne 0x40fb5f
nop dword [eax]
mov eax, dword [ebp - 0xc]
cdq
idiv dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40fb51
inc eax
jmp 0x40fb52
dec eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
test edx, edx
je 0x40fb40
mov ecx, dword [ebp - 0x14]
mov edx, esi
push dword [ebp - 8]
push esi
lea ecx, [ecx + 0x218]
call fcn.004268e0
mov dword [ebp - 0xc], 0x62eb20
mov ecx, 3
mov eax, dword [ebp - 0xc]
add esp, 8
cdq
idiv ecx
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40fbcf
add eax, 2
add eax, esi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40fba8
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x40fc6e
nop
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40fbc8
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40fbb0
jmp 0x40fc6e
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40fbe0
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40fc1d
mov ecx, dword [ebp - 0xc]
lea eax, [esi + 3]
add ecx, 2
imul ecx, eax
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
test al, 1
jne 0x40fc6e
mov ecx, 5
nop dword [eax]
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40fc10
dec eax
jmp 0x40fc11
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
test al, 1
je 0x40fc00
jmp 0x40fc6e
mov eax, dword [ebp - 0xc]
mov ecx, 5
cdq
idiv ecx
test edx, edx
je 0x40fc6e
mov eax, dword [ebp - 0xc]
lea ecx, [esi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov ecx, 3
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
test edx, edx
jne 0x40fc6e
mov esi, 5
nop
mov eax, dword [ebp - 0xc]
cdq
idiv esi
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40fc60
inc eax
jmp 0x40fc61
dec eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
test edx, edx
je 0x40fc50
mov esi, dword [ebp - 8]
xor eax, eax
neg esi
push 1
adc eax, eax
neg eax
push 0
push eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x14]
push esi
push dword [eax + 0x20c]
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x40fd78
mov dword [ebp - 0xc], 0x62eb20
mov ecx, 3
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40fd8e
add eax, 2
add eax, esi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40fccf
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x40fceb
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40fce9
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40fcd1
mov esi, 5
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x2c]
push edi
mov ecx, dword [eax + 0x20c]
call fcn.0040c360
add esp, 4
test eax, eax
je 0x40fd78
mov dword [ebp - 0xc], 0x62eb20
mov ecx, 3
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40fe40
add eax, 2
add eax, edi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40fd3f
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x40fd5b
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40fd59
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40fd41
mov edi, 5
cmp dword [ebp - 0x18], 0
mov esi, dword [ebp - 0x30]
jl 0x40f622
jg 0x40fd78
cmp dword [ebp - 0x24], esi
jb 0x40f622
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00434f21
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40fd9f
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40fde0
mov ecx, dword [ebp - 0xc]
lea eax, [esi + 3]
add ecx, 2
mov esi, 5
imul ecx, eax
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
test al, 1
jne 0x40fcf0
mov eax, dword [ebp - 0xc]
cdq
idiv esi
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40fdd0
dec eax
jmp 0x40fdd1
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
test al, 1
je 0x40fdc0
jmp 0x40fcf0
mov eax, dword [ebp - 0xc]
mov ecx, 5
cdq
idiv ecx
test edx, edx
je 0x40fe39
mov eax, dword [ebp - 0xc]
lea ecx, [esi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov ecx, 3
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
test edx, edx
jne 0x40fceb
mov esi, 5
mov eax, dword [ebp - 0xc]
cdq
idiv esi
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40fe26
inc eax
jmp 0x40fe27
dec eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
test edx, edx
je 0x40fe16
jmp 0x40fcf0
mov esi, ecx
jmp 0x40fcf0
mov eax, dword [ebp - 0xc]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40fe51
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40fe95
mov ecx, dword [ebp - 0xc]
lea eax, [edi + 3]
add ecx, 2
mov edi, 5
imul ecx, eax
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
test al, 1
jne 0x40fe8b
nop
mov eax, dword [ebp - 0xc]
cdq
idiv edi
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40fe80
dec eax
jmp 0x40fe81
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
test al, 1
je 0x40fe70
mov ecx, 3
jmp 0x40fd60
mov eax, dword [ebp - 0xc]
cdq
idiv esi
test edx, edx
je 0x40fd5b
mov eax, dword [ebp - 0xc]
lea ecx, [edi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov ecx, 3
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
test edx, edx
jne 0x40fd5b
mov edi, 5
nop word [eax + eax]
mov eax, dword [ebp - 0xc]
cdq
idiv edi
mov eax, dword [ebp - 0xc]
test edx, edx
je 0x40fee0
inc eax
jmp 0x40fee1
dec eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
test edx, edx
je 0x40fed0
jmp 0x40fd60