Function at 0x40d980
Capabilities:
Read file on windows

Disassembly:
push 0x104
mov eax, 0x47a0ec
call fcn.0044ce70
mov eax, dword [ebp + 8]
mov dword [ebp - 0x88], ecx
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x80], ebx
push 3
push bind
push eax
lea eax, [ebp - 0x80]
push eax
mov dword [ebp - 4], ebx
call fcn.0040cd85
test eax, eax
jge 0x40d9d3
cmp dword [ebp - 0x80], ebx
je 0x40d9cc
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x40dbde
mov edi, 0x1000
push edi
call fcn.00445215
mov dword [ebp - 0x7c], eax
pop ecx
lea eax, [ebp - 0x78]
mov dword [ebp - 0x84], ebx
call fcn.00417084
push ebx
lea eax, [ebp - 0x84]
push eax
push edi
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, ebx
jne 0x40da10
call fcn.0040c7b0
jmp 0x40da12
xor eax, eax
cmp eax, ebx
jl 0x40da52
cmp dword [ebp - 0x84], ebx
je 0x40da60
mov eax, dword [0x49fc48]
cmp eax, ebx
je 0x40da2e
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x7c]
mov eax, dword [ebp - 0x84]
lea esi, [ebp - 0x78]
call fcn.004170a8
mov eax, dword [0x49fc48]
cmp eax, ebx
pop ecx
je 0x40d9f0
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40d9f0
push dword [ebp - 0x7c]
call fcn.00445a2a
pop ecx
jmp 0x40d9be
mov eax, dword [0x49ead4]
mov ecx, 0x49ead4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x7c], eax
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 1
call fcn.0041713e
mov eax, dword [0x49fc48]
cmp eax, ebx
je 0x40da92
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
movzx eax, byte [ebp - 0x11]
push eax
movzx eax, byte [ebp - 0x12]
push eax
movzx eax, byte [ebp - 0x13]
push eax
movzx eax, byte [ebp - 0x14]
push eax
movzx eax, byte [ebp - 0x15]
push eax
movzx eax, byte [ebp - 0x16]
push eax
movzx eax, byte [ebp - 0x17]
push eax
movzx eax, byte [ebp - 0x18]
push eax
movzx eax, byte [ebp - 0x19]
push eax
movzx eax, byte [ebp - 0x1a]
push eax
movzx eax, byte [ebp - 0x1b]
push eax
movzx eax, byte [ebp - 0x1c]
push eax
movzx eax, byte [ebp - 0x1d]
push eax
movzx eax, byte [ebp - 0x1e]
push eax
movzx eax, byte [ebp - 0x1f]
push eax
movzx eax, byte [ebp - 0x20]
push eax
mov edi, str._02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x
lea eax, [ebp - 0x7c]
push edi
push eax
call fcn.00407d26
add esp, 0x48
push dword [ebp - 0x88]
lea eax, [ebp - 0x7c]
push eax
call fcn.004078e0
lea eax, [ebp - 0x7c]
call fcn.00411631
lea eax, [ebp - 0x78]
call fcn.00417084
mov ebx, dword [ebp - 0x7c]
push ebx
lea esi, [ebp - 0x110]
call fcn.004118e4
push dword [eax]
mov eax, dword [ebx - 0xc]
lea esi, [ebp - 0x78]
call fcn.004170a8
lea eax, [ebp - 0x10c]
cmp dword [ebp - 0x110], eax
pop ecx
je 0x40db4a
push dword [ebp - 0x110]
call fcn.00445fa2
pop ecx
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x78]
call fcn.0041713e
mov eax, dword [0x49fc48]
test eax, eax
je 0x40db65
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
movzx eax, byte [ebp - 0x11]
push eax
movzx eax, byte [ebp - 0x12]
push eax
movzx eax, byte [ebp - 0x13]
push eax
movzx eax, byte [ebp - 0x14]
push eax
movzx eax, byte [ebp - 0x15]
push eax
movzx eax, byte [ebp - 0x16]
push eax
movzx eax, byte [ebp - 0x17]
push eax
movzx eax, byte [ebp - 0x18]
push eax
movzx eax, byte [ebp - 0x19]
push eax
movzx eax, byte [ebp - 0x1a]
push eax
movzx eax, byte [ebp - 0x1b]
push eax
movzx eax, byte [ebp - 0x1c]
push eax
movzx eax, byte [ebp - 0x1d]
push eax
movzx eax, byte [ebp - 0x1e]
push eax
movzx eax, byte [ebp - 0x1f]
push eax
movzx eax, byte [ebp - 0x20]
push eax
push edi
push dword [ebp - 0x8c]
call fcn.00407d26
add esp, 0x48
lea eax, [ebx - 0x10]
call fcn.00408f63
cmp dword [ebp - 0x80], 0
je 0x40dbdb
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
inc eax
call fcn.0044ceba
ret