Function at 0x4018a7
Capabilities:
Get file size

Disassembly:
push ebp
lea ebp, [esp - 0x90]
sub esp, 0x110
mov eax, dword [0x42a2e4]
xor eax, ebp
mov dword [ebp + 0x8c], eax
push ebx
push esi
push edi
mov edi, ecx
lea eax, [edi + 0x10]
push 0x442b48
push eax
mov dword [ebp - 0x7c], edi
lea ebx, [edi + 0xf0]
mov dword [edi + 0xec], 0x63538263
call fcn.00407bc0
test byte [0x42b5f4], 1
pop ecx
mov esi, eax
pop ecx
mov dword [ebp - 0x80], esi
je 0x4018fd
mov eax, dword [esi]
mov dword [edi + 0x14], eax
xor eax, eax
mov dword [ebp - 0x78], eax
jmp 0x401907
mov esi, dword [ebp - 0x80]
cmp byte [eax + 0x42c62c], 0
je 0x401922
mov cl, byte [eax + 0x42c628]
mov byte [ebx], cl
mov cl, byte [eax + 0x42c62c]
inc ebx
mov byte [ebx], cl
inc ebx
mov eax, dword [eax + 0x42c628]
cmp eax, 0x2c
ja 0x401a43
je 0x401a39
dec eax
je 0x401a2f
dec eax
dec eax
je 0x401a19
sub eax, 3
je 0x401a39
dec eax
je 0x401a05
sub eax, 6
je 0x40199e
dec eax
dec eax
jne 0x401af4
cmp byte [0x442c54], al
je 0x401af4
mov esi, 0x442c54
mov byte [ebx], 0xf
push esi
inc ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [ebx], al
movzx eax, al
push eax
lea eax, [ebx + 1]
push esi
push eax
call fcn.004118a0
movzx eax, byte [ebx]
add esp, 0xc
lea ebx, [ebx + eax + 1]
jmp 0x401af4
push dword [edi + 0x10]
lea edx, [edi + 0x1c]
lea esi, [ebp - 0x74]
mov ecx, 0x442b54
call fcn.00402a79
pop ecx
push 0
push 0x80
push 3
push 0
push 1
push accept
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x401af4
mov byte [ebx], 0xd
inc ebx
push 0
mov byte [ebx], 2
push esi
inc ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
shr eax, 9
inc eax
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebx], ax
inc ebx
push esi
inc ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x401af4
test byte [0x42b5f4], 8
je 0x401af4
mov eax, dword [esi]
jmp 0x401af2
mov eax, dword [0x442b50]
cmp eax, 0xffffffff
jne 0x401af2
mov eax, dword [edi + 0x10]
jmp 0x401af2
mov eax, dword [0x442b48]
jmp 0x401af2
mov eax, dword [0x442b4c]
jmp 0x401af2
cmp eax, 0x33
je 0x401ae3
cmp eax, 0x35
je 0x401ad9
cmp eax, 0x36
je 0x401a12
cmp eax, 0x39
jbe 0x401af4
cmp eax, 0x3b
jbe 0x401acd
cmp eax, 0xfe
je 0x401a83
cmp eax, 0xff
jne 0x401af4
mov byte [ebx], al
inc ebx
mov byte [ebx], 0
inc ebx
mov byte [ebx], 0
inc ebx
jmp 0x401af4
xor esi, esi
lea eax, [esi + 0x442cdc]
cmp dword [eax], 0
je 0x401abd
mov al, byte [eax]
mov byte [ebx], al
mov eax, dword [ebp - 0x7c]
add eax, 0x10
push dword [eax]
inc ebx
lea eax, [esi + 0x442ce0]
add edi, 0x1c
push eax
lea ecx, [ebx + 1]
call fcn.004026f9
mov edi, dword [ebp - 0x7c]
mov byte [ebx], al
movzx eax, al
pop ecx
pop ecx
lea ebx, [ebx + eax + 1]
add esi, 0x84
cmp esi, 0x528
jb 0x401a85
jmp 0x401af4
mov eax, dword [0x442cd4]
cdq
sub eax, edx
sar eax, 1
jmp 0x401ae8
mov al, byte [ebp + 0x98]
mov byte [ebx], al
jmp 0x401af4
mov eax, dword [0x442cd4]
imul eax, eax, 0x3c
push eax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebx], eax
mov eax, dword [ebp - 0x78]
movsx ecx, byte [eax + 0x42c62c]
add eax, 8
add ebx, ecx
mov dword [ebp - 0x78], eax
cmp eax, 0x70
jb 0x401904
mov ecx, dword [ebp + 0x8c]
mov eax, ebx
sub eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040e92f
add ebp, 0x90
leave
ret