Function at 0x100071a0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
mov dword [ebp - 0x44], 0x3e8
mov eax, dword [ebp + 8]
push eax
call fcn.1000ef40
add esp, 4
test eax, eax
ja 0x100071ca
mov eax, 0x3ea
jmp 0x1000770f
cmp dword [ebp + 0xc], 0
jl 0x100071d9
cmp dword [ebp + 0xc], 0x270f
jle 0x100071e3
mov eax, 0x3ea
jmp 0x1000770f
cmp dword [ebp + 0x10], 0
jl 0x100071f2
cmp dword [ebp + 0x10], 0x270f
jle 0x100071fc
mov eax, 0x3ea
jmp 0x1000770f
cmp dword [ebp + 0x14], 0
jl 0x10007208
cmp dword [ebp + 0x14], 4
jle 0x10007212
mov eax, 0x3ea
jmp 0x1000770f
push 0
push 0
push 3
push 0
push 0
push bind
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0xffffffff
jne 0x1000723e
mov eax, 0x3eb
jmp 0x1000770f
push 0
lea edx, [ebp - 0x14]
push edx
push 0xe
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x80]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [ebp - 0x14], 0xe
je 0x1000726e
mov edx, dword [ebp - 0x80]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x3ec
jmp 0x1000770f
push 0
lea eax, [ebp - 0x14]
push eax
push 0x28
lea ecx, [ebp - 0x74]
push ecx
mov edx, dword [ebp - 0x80]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [ebp - 0x14], 0x28
je 0x1000729e
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x3ec
jmp 0x1000770f
mov ecx, dword [ebp - 0x80]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x10]
and edx, 0xffff
cmp edx, 0x4d42
je 0x100072c3
mov eax, 0x3f0
jmp 0x1000770f
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jl 0x100072d8
cmp dword [ebp - 0x18], 0x270f
jle 0x100072e2
mov eax, 0x3ea
jmp 0x1000770f
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x78], ecx
cmp dword [ebp - 0x78], 0
jl 0x100072f7
cmp dword [ebp - 0x78], 0x270f
jle 0x10007301
mov eax, 0x3ea
jmp 0x1000770f
mov eax, dword [ebp - 0x18]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
shl eax, 3
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jl 0x10007325
cmp dword [ebp - 0x40], 0x270f
jle 0x1000732f
mov eax, 0x3ea
jmp 0x1000770f
mov eax, dword [ebp - 0x18]
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
shl eax, 5
mov dword [ebp - 0x7c], eax
push 0x23
push 0
lea edx, [ebp - 0x3c]
push edx
call fcn.1000f350
add esp, 0xc
cmp dword [ebp + 0x14], 0
jne 0x100073d8
mov eax, dword [ebp - 0x78]
cdq
and edx, 0xff
add eax, edx
sar eax, 8
push eax
mov eax, dword [ebp - 0x78]
and eax, 0x800000ff
jns 0x1000737b
dec eax
or eax, 0xffffff00
inc eax
push eax
mov eax, dword [ebp - 0x18]
cdq
and edx, 0xff
add eax, edx
sar eax, 8
push eax
mov ecx, dword [ebp - 0x18]
and ecx, 0x800000ff
jns 0x1000739f
dec ecx
or ecx, 0xffffff00
inc ecx
push ecx
push 0xd
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 0x10]
push eax
push 0x1001c604
lea ecx, [ebp - 0x3c]
push ecx
call fcn.1000f2f5
add esp, 0x24
mov edx, dword [0x1001fb18]
push edx
push 0x14
lea eax, [ebp - 0x3c]
push eax
call fcn.100021c0
add esp, 0xc
mov dword [ebp - 0x44], eax
jmp 0x1000745b
mov eax, dword [ebp - 0x78]
cdq
and edx, 0xff
add eax, edx
sar eax, 8
push eax
mov ecx, dword [ebp - 0x78]
and ecx, 0x800000ff
jns 0x100073fb
dec ecx
or ecx, 0xffffff00
inc ecx
push ecx
mov eax, dword [ebp - 0x18]
cdq
and edx, 0xff
add eax, edx
sar eax, 8
push eax
mov edx, dword [ebp - 0x18]
and edx, 0x800000ff
jns 0x1000741f
dec edx
or edx, 0xffffff00
inc edx
push edx
push 0xd
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
push 0xa
push 0xd
mov edx, dword [ebp + 0x14]
push edx
push str.A_d_c_c1Y11001_04d_04d_c_c_c_c_c
lea eax, [ebp - 0x3c]
push eax
call fcn.1000f2f5
add esp, 0x30
mov ecx, dword [0x1001fb18]
push ecx
push 0x18
lea edx, [ebp - 0x3c]
push edx
call fcn.100021c0
add esp, 0xc
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x3e8
je 0x1000746c
mov eax, dword [ebp - 0x44]
jmp 0x1000770f
push 0
push 0
push 3
push 0
push 0
push bind
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0xffffffff
jne 0x10007498
mov eax, 0x3eb
jmp 0x1000770f
mov eax, dword [ebp - 0x40]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x48], ecx
jmp 0x100074c1
mov edx, dword [ebp - 0x48]
sub edx, 1
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0
jbe 0x100076f6
push 0
push 0
mov eax, dword [ebp - 0x7c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp - 0x48]
sub ecx, 1
imul eax, ecx
add eax, 0x3e
push eax
mov edx, dword [ebp - 0x80]
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x40]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [ebp - 0x80]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 0x40]
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp dword [ebp - 0x14], eax
je 0x10007542
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x4c]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 0x3ec
jmp 0x1000770f
mov eax, dword [ebp - 0x18]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0x84], eax
jmp 0x10007568
mov edx, dword [ebp - 0x84]
add edx, 1
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 0x18]
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp dword [ebp - 0x84], eax
jge 0x1000758a
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x84]
mov byte [eax], 0xff
jmp 0x10007559
mov ecx, dword [ebp - 0x18]
and ecx, reloc.WS2_32.dll_getsockopt
jns 0x1000759a
dec ecx
or ecx, 0xfffffff8
inc ecx
mov dword [ebp - 0x8c], ecx
mov byte [ebp - 0x88], 0
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x98], edx
cmp dword [ebp - 0x98], 7
ja case.default.0x100075c2
mov eax, dword [ebp - 0x98]
jmp dword [eax*4 + 0x10007715]
mov byte [ebp - 0x88], 0
jmp case.default.0x100075c2
mov byte [ebp - 0x88], 0x7f
jmp case.default.0x100075c2
mov byte [ebp - 0x88], 0x3f
jmp case.default.0x100075c2
mov byte [ebp - 0x88], 0x1f
jmp case.default.0x100075c2
mov byte [ebp - 0x88], 0xf
jmp case.default.0x100075c2
mov byte [ebp - 0x88], 7
jmp case.default.0x100075c2
mov byte [ebp - 0x88], 3
jmp case.default.0x100075c2
mov byte [ebp - 0x88], 1
mov eax, dword [ebp - 0x18]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp - 0x4c]
movsx ecx, byte [ecx + eax - 1]
mov edx, dword [ebp - 0x88]
and edx, 0xff
or ecx, edx
mov eax, dword [ebp - 0x18]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
mov edx, dword [ebp - 0x4c]
mov byte [edx + eax - 1], cl
mov eax, dword [ebp - 0x14]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], 0
jmp 0x10007677
mov ecx, dword [ebp - 0x90]
add ecx, 1
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0x14]
jae 0x100076a5
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x90]
movsx ecx, byte [eax]
mov edx, 0xff
sub edx, ecx
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0x90]
mov byte [eax], dl
jmp 0x10007668
mov ecx, dword [0x1001fb18]
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x94]
push eax
call fcn.100021c0
add esp, 0xc
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x94]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x44], 0x3e8
je 0x100076f1
mov edx, dword [ebp - 0x4c]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x44]
jmp 0x1000770f
jmp 0x100074b8
mov ecx, dword [ebp - 0x4c]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edx, dword [ebp - 0x80]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x3e8
mov esp, ebp
pop ebp
ret 0x10