Function at 0x401000
Capabilities:
Enumerate files on windows
Initialize winsock library
Read and send data from client to server
Read file on windows
Receive data
Receive data on socket
Send data
Send data on socket
Send http request
Set socket configuration
Start tcp server

Disassembly:
mov eax, 0x51900
call fcn.00404188
nop
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rax, qword [rbp + 0x18]
add rax, 8
mov rcx, qword [rax]
mov r10, rcx
mov rcx, r10
call sub.msvcrt.dll_atoi
mov dword [rbp - 4], eax
mov eax, dword [rbp - 4]
cmp eax, 1
jl 0x40104c
mov eax, dword [rbp - 4]
cmp eax, 0xffff
jg 0x40104c
jmp 0x401054
mov eax, 0xd903
mov dword [rbp - 4], eax
mov eax, 0x202
mov word [rbp - 0x1a6], ax
lea rax, [rbp - 0x1a0]
mov r11, rax
movzx eax, word [rbp - 0x1a6]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_WSAStartup
mov dword [rbp - 0x1a4], eax
mov eax, dword [rbp - 0x1a4]
cmp eax, 0
je 0x4010b5
lea rax, str.The_Winsock_dll_not_found__n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
mov eax, 0
jmp 0x403fe3
lea rax, str.The_Winsock_dll_found_n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
movabs rax, 0xffffffffffffffff
mov qword [rbp - 0x1b0], rax
mov eax, 6
mov r8, rax
mov eax, 1
mov r11, rax
mov eax, 2
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_socket
mov qword [rbp - 0x1b0], rax
mov rax, qword [rbp - 0x1b0]
cmp rax, 0xffffffffffffffff
jne 0x401139
lea rax, str.Error_at_socket_n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
call sub.ws2_32.dll_WSACleanup
mov eax, 0
jmp 0x403fe3
lea rax, str.Socket_is_ok_n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
mov eax, 2
mov word [rbp - 0x1c0], ax
lea rax, str.0.0.0.0
mov r10, rax
mov rcx, r10
call sub.ws2_32.dll_inet_addr
mov dword [rbp - 0x1bc], eax
mov eax, dword [rbp - 4]
and eax, 0xffff
mov r10, rax
mov rcx, r10
call sub.ws2_32.dll_htons
movzx eax, ax
mov word [rbp - 0x1be], ax
mov eax, 0
mov dword [rbp - 0x1c4], eax
mov eax, 0x10
mov r8, rax
lea rax, [rbp - 0x1c0]
mov r11, rax
mov rax, qword [rbp - 0x1b0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_bind
mov dword [rbp - 0x1c4], eax
mov eax, dword [rbp - 0x1c4]
cmp eax, 0xffffffff
jne 0x401217
call sub.ws2_32.dll_WSAGetLastError
mov r11, rax
lea rax, str.Bind_failed_with_error__u_n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 0x1b0]
mov r10, rax
mov rcx, r10
call sub.ws2_32.dll_closesocket
call sub.ws2_32.dll_WSACleanup
mov eax, 1
jmp 0x403fe3
lea rax, str.Bind_returned_success_n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
mov eax, 0x7fffffff
mov r11, rax
mov rax, qword [rbp - 0x1b0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_listen
cmp eax, 0xffffffff
jne 0x40126c
call sub.ws2_32.dll_WSAGetLastError
mov r11, rax
lea rax, str.Listen_function_failed_with_error:__d_n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
mov eax, dword [rbp - 4]
mov r11, rax
lea rax, str.Listening_on_http:__127.0.0.1:_d_n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
movabs rax, 0
mov qword [rbp - 0x1d8], rax
lea rax, str.Waiting_for_client_to_connect_..._n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
movabs rax, 0
mov r8, rax
movabs rax, 0
mov r11, rax
mov rax, qword [rbp - 0x1b0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_accept
mov qword [rbp - 0x1d0], rax
movabs rax, 0
mov r10, rax
mov rcx, r10
call fcn.00404010
mov qword [rbp - 0x1e0], rax
lea rax, [rbp - 0x1e0]
mov r10, rax
mov rcx, r10
call fcn.00403ff0
mov ecx, 0x24
mov r8, rcx
mov r11, rax
lea rcx, [rbp - 0x204]
mov r10, rcx
mov qword [rbp - 0x210], rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov rax, qword [rbp - 0x1d0]
cmp rax, 0xffffffffffffffff
jne 0x4013ce
mov eax, dword [rbp - 0x1f0]
add eax, 0x76c
mov ecx, dword [rbp - 0x1f4]
add ecx, 1
mov qword [rbp - 0x218], rax
mov qword [rbp - 0x220], rcx
call sub.ws2_32.dll_WSAGetLastError
mov qword [rsp + 0x38], rax
mov eax, dword [rbp - 0x204]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp - 0x200]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x1fc]
mov qword [rsp + 0x20], rax
mov eax, dword [rbp - 0x1f8]
mov r9, rax
mov eax, dword [rbp - 0x220]
mov r8, rax
mov eax, dword [rbp - 0x218]
mov r11, rax
lea rax, str._d__02d__02d__02d:_02d:_02d___Accept_failed_with_error:__ld_n_n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
jmp 0x401298
mov eax, dword [rbp - 0x1f0]
add eax, 0x76c
mov ecx, dword [rbp - 0x1f4]
add ecx, 1
mov edx, dword [rbp - 0x204]
mov qword [rsp + 0x30], rdx
mov edx, dword [rbp - 0x200]
mov qword [rsp + 0x28], rdx
mov edx, dword [rbp - 0x1fc]
mov qword [rsp + 0x20], rdx
mov edx, dword [rbp - 0x1f8]
mov r9, rdx
mov r8, rcx
mov r11, rax
lea rax, str._d__02d__02d__02d:_02d:_02d___Client_connected__n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 0x1d8]
mov rcx, rax
add rax, 1
mov qword [rbp - 0x1d8], rax
mov r11, rcx
lea rax, str.Conn._counter_llu_n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
mov eax, 0x5dc
mov dword [rbp - 0x20224], eax
mov eax, 4
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x20224]
mov r9, rax
mov eax, 0x1006
mov r8, rax
mov eax, 0xffff
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_setsockopt
mov eax, 4
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x20224]
mov r9, rax
mov eax, 0x1005
mov r8, rax
mov eax, 0xffff
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_setsockopt
mov eax, 0
mov r9, rax
mov eax, 0xffff
mov r8, rax
lea rax, [rbp - 0x10220]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_recv
mov dword [rbp - 0x20228], eax
mov eax, dword [rbp - 0x20228]
cmp eax, 0xfffe
jg 0x40152d
mov eax, dword [rbp - 0x20228]
cmp eax, 1
jl 0x40152d
jmp 0x401556
lea rax, str.Reading_error__Socket_Closed._n_n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
call sub.ws2_32.dll_closesocket
jmp 0x401298
mov eax, 0x2e
mov byte [rbp - 0x30228], al
mov eax, 0x2f
mov byte [rbp - 0x30227], al
mov eax, 0x73
mov byte [rbp - 0x30226], al
mov eax, 0x65
mov byte [rbp - 0x30225], al
mov eax, 0x72
mov byte [rbp - 0x30224], al
mov eax, 0x76
mov byte [rbp - 0x30223], al
mov eax, 0x65
mov byte [rbp - 0x30222], al
mov eax, 0x72
mov byte [rbp - 0x30221], al
mov eax, 0x72
mov byte [rbp - 0x30220], al
mov eax, 0x6f
mov byte [rbp - 0x3021f], al
mov eax, 0x6f
mov byte [rbp - 0x3021e], al
mov eax, 0x74
mov byte [rbp - 0x3021d], al
mov eax, 0
mov byte [rbp - 0x3021c], al
movabs rax, 0xfff3
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x3021b]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov eax, dword [rbp - 0x20228]
mov r11, rax
lea rax, str.Recieved_req_d_bytes._n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
mov eax, 0
mov dword [rbp - 0x3022c], eax
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
lea rcx, [rbp - 0x10220]
add rcx, rax
movsx eax, byte [rcx]
cmp eax, 0x2f
je 0x40167f
mov eax, dword [rbp - 0x3022c]
mov ecx, dword [rbp - 0x20228]
cmp eax, ecx
jge 0x40167f
mov eax, dword [rbp - 0x3022c]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x3022c], eax
jmp 0x401638
mov eax, 0xc
mov dword [rbp - 0x30230], eax
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
lea rcx, [rbp - 0x10220]
add rcx, rax
movsx eax, byte [rcx]
cmp eax, 0x20
je 0x40181e
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
lea rcx, [rbp - 0x10220]
add rcx, rax
movsx eax, byte [rcx]
cmp eax, 0x3f
je 0x40181e
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
lea rcx, [rbp - 0x10220]
add rcx, rax
movsx eax, byte [rcx]
cmp eax, 0x2a
je 0x40181e
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
lea rcx, [rbp - 0x10220]
add rcx, rax
movsx eax, byte [rcx]
cmp eax, 0x3a
je 0x40181e
mov eax, dword [rbp - 0x3022c]
mov ecx, dword [rbp - 0x20228]
cmp eax, ecx
jge 0x40181e
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
lea rcx, [rbp - 0x10220]
add rcx, rax
movsx eax, byte [rcx]
cmp eax, 0x25
jne 0x4017b7
mov eax, dword [rbp - 0x3022c]
add eax, 1
movsxd rax, eax
lea rcx, [rbp - 0x10220]
add rcx, rax
movsx eax, byte [rcx]
cmp eax, 0x32
jne 0x4017b7
mov eax, dword [rbp - 0x3022c]
add eax, 2
movsxd rax, eax
lea rcx, [rbp - 0x10220]
add rcx, rax
movsx eax, byte [rcx]
cmp eax, 0x30
jne 0x4017b7
mov eax, dword [rbp - 0x3022c]
add eax, 2
mov dword [rbp - 0x3022c], eax
mov eax, dword [rbp - 0x30230]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x30230], eax
movsxd rcx, ecx
lea rax, [rbp - 0x30228]
add rax, rcx
mov ecx, 0x20
mov byte [rax], cl
jmp 0x401807
mov eax, dword [rbp - 0x30230]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x30230], eax
movsxd rcx, ecx
lea rax, [rbp - 0x30228]
add rax, rcx
mov ecx, dword [rbp - 0x3022c]
movsxd rcx, ecx
lea rdx, [rbp - 0x10220]
add rdx, rcx
movsx ecx, byte [rdx]
mov r10, rcx
mov qword [rbp - 0x30238], rax
mov rcx, r10
call sub.msvcrt.dll_tolower
mov rcx, qword [rbp - 0x30238]
mov byte [rcx], al
mov eax, dword [rbp - 0x3022c]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x3022c], eax
jmp 0x40168a
mov eax, 0
mov byte [rbp - 0x30239], al
lea rax, [rbp - 0x30228]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
mov dword [rbp - 0x3022c], eax
mov eax, dword [rbp - 0x3022c]
sub eax, 1
movsxd rax, eax
lea rcx, [rbp - 0x30228]
add rcx, rax
movsx eax, byte [rcx]
cmp eax, 0x2f
jne 0x4018a3
mov eax, 1
mov byte [rbp - 0x30239], al
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
lea rcx, [rbp - 0x30228]
add rcx, rax
lea rax, str.index.html
mov r8, rax
lea rax, [0x004051b3]
mov r11, rax
mov r10, rcx
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x30228]
mov r11, rax
lea rax, str.Requested_file:__s_n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
lea rax, [0x004051d5]
mov r11, rax
lea rax, [rbp - 0x30228]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fopen
mov qword [rbp - 0x40248], rax
mov eax, 0x2f
mov r11, rax
lea rax, [rbp - 0x30228]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strrchr
mov qword [rbp - 0x40250], rax
mov rax, qword [rbp - 0x40250]
mov rcx, rax
add rax, 1
mov qword [rbp - 0x40250], rax
mov rax, qword [rbp - 0x40248]
cmp rax, 0
jne 0x402073
mov rax, qword [rbp - 0x40248]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_fclose
lea rax, str.FILE_NOT_FOUND__n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
movsx eax, byte [rbp - 0x30239]
cmp eax, 0
je 0x401dd9
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
lea rcx, [rbp - 0x30228]
add rcx, rax
mov eax, 0x2a
mov byte [rcx], al
mov eax, dword [rbp - 0x3022c]
add eax, 1
movsxd rax, eax
lea rcx, [rbp - 0x30228]
add rcx, rax
mov eax, 0
mov byte [rcx], al
lea rax, [rbp - 0x40390]
mov r11, rax
lea rax, [rbp - 0x30228]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_FindFirstFileA
mov qword [rbp - 0x50398], rax
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
lea rcx, [rbp - 0x30228]
add rcx, rax
mov eax, 0
mov byte [rcx], al
mov eax, 0
mov dword [rbp - 0x3022c], eax
mov rax, qword [rbp - 0x50398]
cmp rax, 0xffffffffffffffff
je 0x401dd4
lea rax, [rbp - 0x30228]
mov r11, rax
lea rax, str.Creating_listing_of__s_..._n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
lea rax, [0x00405205]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
lea rax, str.HTTP_1.1_200_OK_r_nContent_Type:_text_html__charsetUTF_8_r_nCache_Control:_no_cache_r_nServer:_TinyCHttpServer_r_nAccept_ranges:_bytes_r_nTransfer_Encoding:_chunked_r_nConnection:_close_r_n
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
mov ecx, 0
mov r9, rcx
mov r8, rax
lea rax, [rbp - 0x20220]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
mov eax, dword [rbp - 0x1f0]
add eax, 0x76c
mov ecx, dword [rbp - 0x1f4]
add ecx, 1
mov qword [rbp - 0x503a0], rax
mov qword [rbp - 0x503a8], rcx
call sub.msvcrt.dll_rand
lea rcx, [rbp - 0x3021c]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rax
mov eax, dword [rbp - 0x204]
mov qword [rsp + 0x40], rax
mov eax, dword [rbp - 0x200]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp - 0x1fc]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp - 0x1f8]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x503a8]
mov qword [rsp + 0x20], rax
mov eax, dword [rbp - 0x503a0]
mov r9, rax
lea rax, [rbp - 0x3021c]
mov r8, rax
lea rax, str.__DOCTYPE_html__html_lang_en___head__meta_charset_UTF_8___meta_name_viewport__content_widthdevice_width__initial_scale1___link_href_data:image_x_icon_base64_AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAAAAD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYAAAD__wAA__8AAP__AAD__wAA___0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAAAA__8AAP__AAD__wAA__8AAP__9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgAAAP__AAD__wAA__8AAP__AAD___SkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYAAAD__wAA__8AAP__AAD__wAA___0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAAAA__8AAP__AAD__wAA__8AAP__9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgAAAP__AAD__wAA__8AAP__AAD___SkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYAAAD__wAA__8AAP__AAD__wAA___0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAAAA__8AAP__AAD__wAA__8AAP__9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgAAAP__AAD__wAA__8AAP__AAD___SkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYAAAD__wAA__8AAP__AAD__wAA___0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgAAAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD___SkxgD0pMYAAAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA___0pMYA9KTGAAAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__9KTGAPSkxgAAAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD___SkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA__8AAPwfAAD8HwAA_B8AAPwfAAD8HwAA_B8AAPwfAAD8HwAA_B8AAPwfAACAAQAAgAEAAIABAACAAQAA__8AAA__rel_icon__type_image_x_icon___style_html_line_break:_anywhere_word_wrap:_break_word_height:_100___padding:_0_margin:_0_body_text_align:_center_max_width:_920px_margin:_auto_border_color:_bf4f00_border_style:_solid_b_color:bf4f00___style__title_TinyCHttpServer:_Index_of__s__title___head__body__br_date_time_now:__d__02d__02d__02d:_02d:_02d_n_br_and_random_number:__d_p__h1__b_Index_of__s__b___h1__p__a_href_..__..__a__n
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
lea rcx, [rbp - 0x20220]
mov r9, rcx
mov r8, rax
lea rax, [0x00405b24]
mov r11, rax
lea rax, [rbp - 0x50390]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x50390]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
mov ecx, 0
mov r9, rcx
mov r8, rax
lea rax, [rbp - 0x50390]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
lea rax, [0x00405b2f]
mov r11, rax
lea rax, [rbp - 0x40364]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x401ca9
lea rax, [0x00405b31]
mov r11, rax
lea rax, [rbp - 0x40364]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x401ca9
mov eax, dword [rbp - 0x40370]
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x40364]
mov r9, rax
lea rax, [rbp - 0x40364]
mov r8, rax
lea rax, str._p__a_href__s___s__a_____d_n
mov r11, rax
lea rax, [rbp - 0x40239]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x40239]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
lea rcx, [rbp - 0x40239]
mov r9, rcx
mov r8, rax
lea rax, [0x00405b51]
mov r11, rax
lea rax, [rbp - 0x50390]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x50390]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
mov ecx, 0
mov r9, rcx
mov r8, rax
lea rax, [rbp - 0x50390]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
lea rax, [rbp - 0x40390]
mov r11, rax
mov rax, qword [rbp - 0x50398]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_FindNextFileA
cmp eax, 0
jne 0x401ba1
mov rax, qword [rbp - 0x50398]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_FindClose
lea rax, str._br__br__a_href____Back_to_root__a__p__b_TinyCHttpServer__b___body___html_
mov r11, rax
lea rax, [rbp - 0x40239]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x40239]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
lea rcx, [rbp - 0x40239]
mov r9, rcx
mov r8, rax
lea rax, str._x_r_n_s_r_n
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
mov ecx, 0
mov r9, rcx
mov r8, rax
lea rax, [rbp - 0x20220]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
mov eax, 0
mov r9, rax
mov eax, 5
mov r8, rax
lea rax, [0x00405baf]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
call sub.ws2_32.dll_closesocket
lea rax, [0x00405bb5]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x401298
jmp 0x401f58
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
lea rcx, [rbp - 0x30228]
add rcx, rax
mov eax, 0x2f
mov byte [rcx], al
mov eax, dword [rbp - 0x3022c]
add eax, 1
movsxd rax, eax
lea rcx, [rbp - 0x30228]
add rcx, rax
mov eax, 0x2a
mov byte [rcx], al
mov eax, dword [rbp - 0x3022c]
add eax, 2
movsxd rax, eax
lea rcx, [rbp - 0x30228]
add rcx, rax
mov eax, 0
mov byte [rcx], al
lea rax, [rbp - 0x40390]
mov r11, rax
lea rax, [rbp - 0x30228]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_FindFirstFileA
mov qword [rbp - 0x503b0], rax
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
lea rcx, [rbp - 0x30228]
add rcx, rax
mov eax, 0x2f
mov byte [rcx], al
mov eax, dword [rbp - 0x3022c]
add eax, 1
movsxd rax, eax
lea rcx, [rbp - 0x30228]
add rcx, rax
mov eax, 0
mov byte [rcx], al
mov eax, 0
mov dword [rbp - 0x3022c], eax
mov rax, qword [rbp - 0x503b0]
cmp rax, 0xffffffffffffffff
je 0x401f58
mov rax, qword [rbp - 0x503b0]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_FindClose
lea rax, str.DIR_FOUND__nSend:_HTTP_1.1_301_Moved_Permanently_..._n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
lea rax, [rbp - 0x3021c]
mov r8, rax
lea rax, str.HTTP_1.1_301_Moved_Permanently_r_nContent_Type:_text_html__charsetUTF_8_r_nLocation:__s_r_nCache_Control:_no_cache_r_nServer:_TinyCHttpServer_r_nAccept_ranges:_bytes_r_nContent_Length:_158_r_nConnection:_close_r_n_r_n_html__head__title_301_Moved_Permanently__title___head__body__center__h1_301_Moved_Permanently__h1___center__hr__center_TinyCHttpServer__center___body___html_
mov r11, rax
lea rax, [rbp - 0x50390]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x50390]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
mov ecx, 0
mov r9, rcx
mov r8, rax
lea rax, [rbp - 0x50390]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
call sub.ws2_32.dll_closesocket
lea rax, [0x00405d62]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x401298
mov eax, dword [rbp - 0x1f0]
add eax, 0x76c
mov ecx, dword [rbp - 0x1f4]
add ecx, 1
mov qword [rbp - 0x503b8], rax
mov qword [rbp - 0x503c0], rcx
call sub.msvcrt.dll_rand
mov qword [rsp + 0x40], rax
mov eax, dword [rbp - 0x204]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp - 0x200]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp - 0x1fc]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x1f8]
mov qword [rsp + 0x20], rax
mov eax, dword [rbp - 0x503c0]
mov r9, rax
mov eax, dword [rbp - 0x503b8]
mov r8, rax
lea rax, str.__DOCTYPE_html__html_lang_en___head__meta_charset_UTF_8___meta_name_viewport__content_widthdevice_width__initial_scale1___link_href_data:image_x_icon_base64_AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAAAAD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYAAAD__wAA__8AAP__AAD__wAA___0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAAAA__8AAP__AAD__wAA__8AAP__9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgAAAP__AAD__wAA__8AAP__AAD___SkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYAAAD__wAA__8AAP__AAD__wAA___0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAAAA__8AAP__AAD__wAA__8AAP__9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgAAAP__AAD__wAA__8AAP__AAD___SkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYAAAD__wAA__8AAP__AAD__wAA___0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAAAA__8AAP__AAD__wAA__8AAP__9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgAAAP__AAD__wAA__8AAP__AAD___SkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYAAAD__wAA__8AAP__AAD__wAA___0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgAAAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD___SkxgD0pMYAAAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA___0pMYA9KTGAAAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__9KTGAPSkxgAAAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD___SkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA9KTGAPSkxgD0pMYA__8AAPwfAAD8HwAA_B8AAPwfAAD8HwAA_B8AAPwfAAD8HwAA_B8AAPwfAACAAQAAgAEAAIABAACAAQAA__8AAA__rel_icon__type_image_x_icon___style_html_line_break:_anywhere_word_wrap:_break_word_height:_100___padding:_0_margin:_0_body_text_align:_center_max_width:_920px_margin:_auto_border_color:_bf4f00_border_style:_solid_b_color:bf4f00___style__title_TinyCHttpServer:_404_Not_Found__title___head__body__br_date_time_now:__d__02d__02d__02d:_02d:_02d_n_br_and_random_number:__d_p__h1__b_404_Page_not_found__b___h1__br__a_href____Back_to_root__a__p__b_TinyCHttpServer__b___body___html__n
mov r11, rax
lea rax, [rbp - 0x40239]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x40239]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
lea rcx, [rbp - 0x40239]
mov r9, rcx
mov r8, rax
lea rax, str.HTTP_1.1_404_Not_Found_r_nContent_Type:_text_html__charsetUTF_8_r_nCache_Control:_no_cache_r_nAccept_ranges:_bytes_r_nServer:_TinyCHttpServer_r_nContent_Length:__d_r_nConnection:_close_r_n_r_n_s
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, str.Send:_HTTP_1.1_404_Not_Found_..._n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
mov ecx, 0
mov r9, rcx
mov r8, rax
lea rax, [rbp - 0x20220]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
jmp 0x403fb5
mov eax, 0x2e
mov r11, rax
mov rax, qword [rbp - 0x40250]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strrchr
mov qword [rbp - 0x503c8], rax
mov eax, 0x61
mov byte [rbp - 0x503e8], al
mov eax, 0x70
mov byte [rbp - 0x503e7], al
mov eax, 0x70
mov byte [rbp - 0x503e6], al
mov eax, 0x6c
mov byte [rbp - 0x503e5], al
mov eax, 0x69
mov byte [rbp - 0x503e4], al
mov eax, 0x63
mov byte [rbp - 0x503e3], al
mov eax, 0x61
mov byte [rbp - 0x503e2], al
mov eax, 0x74
mov byte [rbp - 0x503e1], al
mov eax, 0x69
mov byte [rbp - 0x503e0], al
mov eax, 0x6f
mov byte [rbp - 0x503df], al
mov eax, 0x6e
mov byte [rbp - 0x503de], al
mov eax, 0x2f
mov byte [rbp - 0x503dd], al
mov eax, 0x6f
mov byte [rbp - 0x503dc], al
mov eax, 0x63
mov byte [rbp - 0x503db], al
mov eax, 0x74
mov byte [rbp - 0x503da], al
mov eax, 0x65
mov byte [rbp - 0x503d9], al
mov eax, 0x74
mov byte [rbp - 0x503d8], al
mov eax, 0x2d
mov byte [rbp - 0x503d7], al
mov eax, 0x73
mov byte [rbp - 0x503d6], al
mov eax, 0x74
mov byte [rbp - 0x503d5], al
mov eax, 0x72
mov byte [rbp - 0x503d4], al
mov eax, 0x65
mov byte [rbp - 0x503d3], al
mov eax, 0x61
mov byte [rbp - 0x503d2], al
mov eax, 0x6d
mov byte [rbp - 0x503d1], al
mov eax, 0
mov byte [rbp - 0x503d0], al
movabs rax, 7
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x503cf]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov rax, qword [rbp - 0x503c8]
cmp rax, 0
je 0x402862
mov rax, qword [rbp - 0x503c8]
mov rcx, rax
add rax, 1
mov qword [rbp - 0x503c8], rax
lea rax, [0x004066d6]
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
jne 0x402246
lea rax, str.text_plain__charsetUTF_8
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
jmp 0x402862
lea rax, str.html
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x4022c3
lea rax, [0x004066f9]
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x4022c3
lea rax, str.xhtml
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x4022c3
jmp 0x4022e7
lea rax, str.text_html__charsetUTF_8
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
jmp 0x402862
lea rax, str.jpeg
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x402364
lea rax, [0x00406721]
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x402364
lea rax, str.jfif
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x402364
jmp 0x402388
lea rax, str.image_jpg
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
jmp 0x402862
lea rax, [0x00406734]
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
jne 0x4023d4
lea rax, str.text_css
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
jmp 0x402862
lea rax, [0x00406741]
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
jne 0x402420
lea rax, str.application_javascript
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
jmp 0x402862
lea rax, str.json
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
jne 0x40246c
lea rax, str.application_json
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
jmp 0x402862
lea rax, [0x00406771]
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
jne 0x4024b8
lea rax, str.image_gif
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
jmp 0x402862
lea rax, [0x0040677f]
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
jne 0x402504
lea rax, str.image_png
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
jmp 0x402862
lea rax, [0x0040678d]
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
jne 0x402550
lea rax, str.image_x_icon
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
jmp 0x402862
lea rax, str.webm
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
jne 0x40259c
lea rax, str.video_webm
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
jmp 0x402862
lea rax, [0x004067ae]
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x402619
lea rax, str.mp4v
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x402619
lea rax, str.mpg4
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x402619
jmp 0x40263d
lea rax, str.video_mp4
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
jmp 0x402862
lea rax, [0x004067c6]
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x402732
lea rax, [0x004067ca]
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x402732
lea rax, [0x004067ce]
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x402732
lea rax, [0x004067d2]
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x402732
lea rax, str.mp2a
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x402732
lea rax, str.mpga
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x402732
jmp 0x402756
lea rax, str.audio_mpeg
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
jmp 0x402862
lea rax, [0x004067eb]
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x4027ab
lea rax, str.svgz
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x4027ab
jmp 0x4027cf
lea rax, str.image_svgxml
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
jmp 0x402862
lea rax, str.wbmp
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
jne 0x40281b
lea rax, str.image_vnd.wap.wbmp
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
jmp 0x402862
lea rax, str.webp
mov r11, rax
mov rax, qword [rbp - 0x503c8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
jne 0x402862
lea rax, str.image_webp
mov r11, rax
lea rax, [rbp - 0x503e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
mov eax, 2
mov r8, rax
mov eax, 0
mov r11, rax
mov rax, qword [rbp - 0x40248]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fseek
mov rax, qword [rbp - 0x40248]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_ftell
movsxd rax, eax
mov qword [rbp - 0x503f0], rax
mov rax, qword [rbp - 0x40248]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_rewind
mov eax, 0
mov byte [rbp - 0x503f1], al
mov eax, 0
mov byte [rbp - 0x507f1], al
mov eax, dword [rbp - 0x3022c]
mov ecx, dword [rbp - 0x20228]
cmp eax, ecx
jge 0x402a2a
mov eax, dword [rbp - 0x3022c]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x3022c], eax
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
lea rcx, [rbp - 0x10220]
add rcx, rax
movsx eax, byte [rcx]
cmp eax, 0xa
je 0x4029ae
mov eax, dword [rbp - 0x3022c]
add eax, 1
movsxd rax, eax
lea rcx, [rbp - 0x10220]
add rcx, rax
movsx eax, byte [rcx]
cmp eax, 0xa
je 0x4029ae
mov eax, dword [rbp - 0x3022c]
mov ecx, dword [rbp - 0x20228]
cmp eax, ecx
jge 0x4029ae
mov eax, dword [rbp - 0x30230]
movsxd rax, eax
lea rcx, [rbp - 0x507f1]
add rcx, rax
mov eax, dword [rbp - 0x3022c]
mov rdx, rax
add eax, 1
mov dword [rbp - 0x3022c], eax
movsxd rdx, edx
lea rax, [rbp - 0x10220]
add rax, rdx
movsx edx, byte [rax]
mov byte [rcx], dl
mov eax, dword [rbp - 0x30230]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x30230], eax
mov eax, dword [rbp - 0x30230]
movsxd rax, eax
lea rcx, [rbp - 0x507f1]
add rcx, rax
mov eax, 0
mov byte [rcx], al
jmp 0x4028f1
movsx eax, byte [rbp - 0x507f1]
cmp eax, 0x52
jne 0x402a1a
movsx eax, byte [rbp - 0x507f0]
cmp eax, 0x61
jne 0x402a1a
movsx eax, byte [rbp - 0x507ef]
cmp eax, 0x6e
jne 0x402a1a
movsx eax, byte [rbp - 0x507ee]
cmp eax, 0x67
jne 0x402a1a
movsx eax, byte [rbp - 0x507ed]
cmp eax, 0x65
jne 0x402a1a
mov eax, dword [rbp - 0x20228]
mov dword [rbp - 0x3022c], eax
mov eax, 1
mov byte [rbp - 0x503f1], al
jmp 0x402a2a
mov eax, 0
mov dword [rbp - 0x30230], eax
jmp 0x4028cb
movsx eax, byte [rbp - 0x503f1]
cmp eax, 0
je 0x403d23
lea rax, [rbp - 0x507e5]
mov r11, rax
lea rax, [rbp - 0x507f1]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
lea rax, str.RANGE_request_received:
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
movabs rax, 0xff0
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x517e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov eax, 0x2c
mov byte [rbp - 0x507f1], al
lea rax, [rbp - 0x507f1]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
mov dword [rbp - 0x30230], eax
mov eax, 0
mov dword [rbp - 0x3022c], eax
mov eax, dword [rbp - 0x30230]
movsxd rax, eax
lea rcx, [rbp - 0x507f1]
add rcx, rax
mov eax, 0x2c
mov byte [rcx], al
mov eax, 0
mov byte [rbp - 0x51828], al
mov eax, 0
mov dword [rbp - 0x5182c], eax
mov eax, 0
mov dword [rbp - 0x51830], eax
mov eax, dword [rbp - 0x3022c]
mov ecx, dword [rbp - 0x30230]
cmp eax, ecx
jge 0x402c3e
mov eax, dword [rbp - 0x3022c]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x3022c], eax
mov eax, dword [rbp - 0x5182c]
movsxd rax, eax
lea rcx, [rbp - 0x51828]
add rcx, rax
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
lea rdx, [rbp - 0x507f1]
add rdx, rax
movsx eax, byte [rdx]
mov byte [rcx], al
mov eax, dword [rbp - 0x5182c]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x5182c], eax
mov eax, dword [rbp - 0x5182c]
movsxd rax, eax
lea rcx, [rbp - 0x51828]
add rcx, rax
mov eax, 0
mov byte [rcx], al
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
lea rcx, [rbp - 0x507f1]
add rcx, rax
movsx eax, byte [rcx]
cmp eax, 0x2c
jne 0x402c39
lea rax, [rbp - 0x51828]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
sub rax, 1
lea rcx, [rbp - 0x51828]
add rcx, rax
mov eax, 0
mov byte [rcx], al
mov eax, dword [rbp - 0x51830]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov eax, dword [rbp - 0x51830]
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 0x10
mov r9, rdx
mov r8, rcx
lea rax, str._lld__lld
mov r11, rax
lea rax, [rbp - 0x51828]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sscanf
mov eax, 0
mov dword [rbp - 0x5182c], eax
mov eax, dword [rbp - 0x51830]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x51830], eax
jmp 0x402afe
mov eax, 0
mov dword [rbp - 0x3022c], eax
mov eax, dword [rbp - 0x3022c]
mov ecx, dword [rbp - 0x51830]
cmp eax, ecx
jge 0x402f66
jmp 0x402c76
mov eax, dword [rbp - 0x3022c]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x3022c], eax
jmp 0x402c49
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
cmp rax, 0
jne 0x402cf4
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov rax, qword [rcx]
cmp rax, 0
jne 0x402cf4
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov rax, qword [rbp - 0x503f0]
sub rax, 1
mov qword [rcx], rax
jmp 0x402df0
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov rax, qword [rcx]
cmp rax, 0
jg 0x402d74
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 0x10
mov rax, qword [rbp - 0x503f0]
mov qword [rbp - 0x51840], rcx
mov rcx, qword [rdx]
add rax, rcx
sub rax, 1
mov rcx, qword [rbp - 0x51840]
mov qword [rcx], rax
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
cmp rax, 0
jg 0x402df0
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 8
mov rax, qword [rbp - 0x503f0]
mov qword [rbp - 0x51848], rcx
mov rcx, qword [rdx]
add rax, rcx
mov rcx, qword [rbp - 0x51848]
mov qword [rcx], rax
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov rcx, qword [rbp - 0x503f0]
cmp rax, rcx
jle 0x402e43
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov rax, qword [rbp - 0x503f0]
mov qword [rcx], rax
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov rax, qword [rcx]
mov rcx, qword [rbp - 0x503f0]
cmp rax, rcx
jle 0x402e96
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov rax, qword [rbp - 0x503f0]
mov qword [rcx], rax
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 8
mov rax, qword [rcx]
mov rcx, qword [rdx]
cmp rax, rcx
jge 0x402f61
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x51838], rax
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 0x10
mov rax, qword [rdx]
mov qword [rcx], rax
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov rax, qword [rbp - 0x51838]
mov qword [rcx], rax
jmp 0x402c62
mov eax, 0
mov dword [rbp - 0x5184c], eax
mov eax, dword [rbp - 0x51830]
sub eax, 1
mov ecx, dword [rbp - 0x5184c]
cmp ecx, eax
jge 0x40314e
jmp 0x402fa1
mov eax, dword [rbp - 0x5184c]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x5184c], eax
jmp 0x402f71
mov eax, 0
mov dword [rbp - 0x51850], eax
mov eax, dword [rbp - 0x51830]
mov ecx, dword [rbp - 0x5184c]
sub eax, ecx
sub eax, 1
mov ecx, dword [rbp - 0x51850]
cmp ecx, eax
jge 0x403149
jmp 0x402fe4
mov eax, dword [rbp - 0x51850]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x51850], eax
jmp 0x402fac
mov eax, dword [rbp - 0x51850]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov eax, dword [rbp - 0x51850]
add eax, 1
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 8
mov rax, qword [rcx]
mov rcx, qword [rdx]
cmp rax, rcx
jle 0x403144
mov eax, dword [rbp - 0x51850]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x51858], rax
mov eax, dword [rbp - 0x51850]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov rax, qword [rcx]
mov qword [rbp - 0x51860], rax
mov eax, dword [rbp - 0x51850]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov eax, dword [rbp - 0x51850]
add eax, 1
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 8
mov rax, qword [rdx]
mov qword [rcx], rax
mov eax, dword [rbp - 0x51850]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov eax, dword [rbp - 0x51850]
add eax, 1
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 0x10
mov rax, qword [rdx]
mov qword [rcx], rax
mov eax, dword [rbp - 0x51850]
add eax, 1
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov rax, qword [rbp - 0x51858]
mov qword [rcx], rax
mov eax, dword [rbp - 0x51850]
add eax, 1
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov rax, qword [rbp - 0x51860]
mov qword [rcx], rax
jmp 0x402fd0
jmp 0x402f8d
mov eax, 0
mov dword [rbp - 0x51864], eax
mov eax, dword [rbp - 0x51830]
mov dword [rbp - 0x51868], eax
mov eax, 1
mov dword [rbp - 0x5186c], eax
mov eax, dword [rbp - 0x5186c]
mov ecx, dword [rbp - 0x51868]
cmp eax, ecx
jge 0x403309
jmp 0x40319d
mov eax, dword [rbp - 0x5186c]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x5186c], eax
jmp 0x403170
mov eax, dword [rbp - 0x51864]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov eax, dword [rbp - 0x5186c]
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 8
mov rax, qword [rcx]
mov rcx, qword [rdx]
cmp rax, rcx
jl 0x40327a
mov eax, dword [rbp - 0x51864]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov eax, dword [rbp - 0x5186c]
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 0x10
mov rax, qword [rcx]
mov rcx, qword [rdx]
cmp rax, rcx
jg 0x403263
mov eax, dword [rbp - 0x51864]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov eax, dword [rbp - 0x5186c]
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 0x10
mov rax, qword [rdx]
mov qword [rcx], rax
mov eax, dword [rbp - 0x51830]
mov rcx, rax
add eax, 0xffffffff
mov dword [rbp - 0x51830], eax
jmp 0x403304
mov eax, dword [rbp - 0x51864]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x51864], eax
mov eax, dword [rbp - 0x51864]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov eax, dword [rbp - 0x5186c]
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 8
mov rax, qword [rdx]
mov qword [rcx], rax
mov eax, dword [rbp - 0x51864]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov eax, dword [rbp - 0x5186c]
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 0x10
mov rax, qword [rdx]
mov qword [rcx], rax
jmp 0x403189
mov eax, dword [rbp - 0x51830]
cmp eax, 1
jle 0x4039d2
lea rax, str.Multiple_ranges_..._n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
call sub.msvcrt.dll_rand
shl eax, 5
add eax, 0x80
mov qword [rbp - 0x51888], rax
call sub.msvcrt.dll_rand
shl eax, 2
add eax, 0x400
mov r9, rax
mov eax, dword [rbp - 0x51888]
mov r8, rax
lea rax, str._x_x
mov r11, rax
lea rax, [rbp - 0x5187c]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
mov eax, 0
mov byte [rbp - 0x20220], al
lea rax, [rbp - 0x5187c]
mov r8, rax
lea rax, str.HTTP_1.1_206_Partial_Content_r_nContent_Type:_multipart_byteranges__boundary_s_r_nCache_Control:_no_cache_r_nServer:_TinyCHttpServer_r_nAccept_ranges:_bytes_r_nTransfer_Encoding:_chunked_r_nConnection:_close_r_n
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [0x0040692e]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
mov ecx, 0
mov r9, rcx
mov r8, rax
lea rax, [rbp - 0x20220]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
mov eax, 0
mov dword [rbp - 0x5188c], eax
mov eax, dword [rbp - 0x5188c]
mov ecx, dword [rbp - 0x51830]
cmp eax, ecx
jge 0x40386c
jmp 0x403432
mov eax, dword [rbp - 0x5188c]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x5188c], eax
jmp 0x403405
mov eax, 0
mov dword [rbp - 0x51890], eax
mov eax, dword [rbp - 0x5188c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 0x10
mov eax, dword [rbp - 0x5188c]
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 8
mov rax, qword [rcx]
mov rcx, qword [rdx]
sub rax, rcx
add rax, 1
mov dword [rbp - 0x51890], eax
movabs rax, 0x10000
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
movabs rax, 0x10000
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x40239]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov eax, dword [rbp - 0x5188c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov eax, dword [rbp - 0x5188c]
movsxd rax, eax
shl rax, 4
lea rdx, [rbp - 0x517e8]
add rdx, rax
add rdx, 0x10
mov rax, qword [rbp - 0x503f0]
mov qword [rsp + 0x30], rax
mov rax, qword [rdx]
mov qword [rsp + 0x28], rax
mov rax, qword [rcx]
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x503e8]
mov r9, rax
lea rax, [rbp - 0x5187c]
mov r8, rax
lea rax, str._r_n___s_r_nContent_type:__s_r_nContent_range:_bytes__lld__lld__lld_r_n_r_n
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
mov ecx, dword [rbp - 0x51890]
movsxd rcx, ecx
add rax, rcx
lea rcx, [rbp - 0x20220]
mov r9, rcx
mov r8, rax
lea rax, str._r_n_x_r_n_s
mov r11, rax
lea rax, [rbp - 0x40239]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x40239]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
mov ecx, 0
mov r9, rcx
mov r8, rax
lea rax, [rbp - 0x40239]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
mov eax, dword [rbp - 0x5188c]
movsxd rax, eax
shl rax, 4
lea rcx, [rbp - 0x517e8]
add rcx, rax
add rcx, 8
mov eax, 0
mov r8, rax
mov eax, dword [rcx]
mov r11, rax
mov rax, qword [rbp - 0x40248]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fseek
mov eax, dword [rbp - 0x51890]
mov ecx, 0x10000
cdq
idiv ecx
mov dword [rbp - 0x3022c], eax
mov eax, dword [rbp - 0x51890]
mov r11, rax
lea rax, [0x004069a1]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
mov eax, 0
mov dword [rbp - 0x30230], eax
mov eax, dword [rbp - 0x30230]
mov ecx, dword [rbp - 0x3022c]
cmp eax, ecx
jge 0x403731
jmp 0x40368c
mov eax, dword [rbp - 0x30230]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x30230], eax
jmp 0x40365f
mov eax, dword [rbp - 0x30230]
add eax, 1
mov ecx, dword [rbp - 0x3022c]
mov r8, rcx
mov r11, rax
lea rax, [0x004069b6]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 0x40248]
mov r9, rax
movabs rax, 1
mov r8, rax
movabs rax, 0x10000
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fread
mov eax, 0
mov r9, rax
mov eax, 0x10000
mov r8, rax
lea rax, [rbp - 0x20220]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
cmp eax, 0xffffffff
jne 0x40372c
jmp 0x403731
jmp 0x403678
mov eax, dword [rbp - 0x3022c]
cmp eax, 0
jle 0x403782
mov eax, dword [rbp - 0x30230]
mov ecx, dword [rbp - 0x3022c]
cmp eax, ecx
jl 0x40376b
lea rax, [0x004069cf]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x40377d
lea rax, [0x004069e9]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x403794
lea rax, [0x00406a06]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
movabs rax, 0x10000
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
movabs rax, 0x10000
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x40239]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov eax, dword [rbp - 0x3022c]
shl eax, 0x10
mov ecx, dword [rbp - 0x51890]
sub ecx, eax
mov dword [rbp - 0x3022c], ecx
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
mov rcx, qword [rbp - 0x40248]
mov r9, rcx
movabs rcx, 1
mov r8, rcx
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fread
mov eax, 0
mov r9, rax
mov eax, dword [rbp - 0x3022c]
mov r8, rax
lea rax, [rbp - 0x20220]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
jmp 0x40341e
movabs rax, 0x10000
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
movabs rax, 0x10000
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x40239]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
lea rax, [rbp - 0x5187c]
mov r8, rax
lea rax, str._r_n___s___r_n
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
lea rcx, [rbp - 0x20220]
mov r9, rcx
mov r8, rax
lea rax, str._r_n_x_r_n_s_r_n
mov r11, rax
lea rax, [rbp - 0x40239]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x40239]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
mov ecx, 0
mov r9, rcx
mov r8, rax
lea rax, [rbp - 0x40239]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
mov eax, 0
mov r9, rax
mov eax, 9
mov r8, rax
lea rax, str.0_r_n_r_n
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
mov rax, qword [rbp - 0x40248]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_fclose
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
call sub.ws2_32.dll_closesocket
lea rax, [0x00406a3b]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x401298
lea rax, str.One_range_..._n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
mov eax, 0
mov dword [rbp - 0x51894], eax
mov rax, qword [rbp - 0x517d8]
mov rcx, qword [rbp - 0x517e0]
sub rax, rcx
add rax, 1
mov dword [rbp - 0x51894], eax
mov rax, qword [rbp - 0x503f0]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x517d8]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x517e0]
mov qword [rsp + 0x20], rax
mov eax, dword [rbp - 0x51894]
mov r9, rax
lea rax, [rbp - 0x503e8]
mov r8, rax
lea rax, str.HTTP_1.1_206_Partial_Content_r_nContent_Type:__s_r_nCache_Control:_no_cache_r_nServer:_TinyCHttpServer_r_nAccept_ranges:_bytes_r_nContent_Length:__lld_r_nContent_Range:_bytes__lld__lld__lld_r_nConnection:_close_r_n_r_n
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, str.Send:_HTTP_1.1_206_Partial_Content_..._n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
mov ecx, 0
mov r9, rcx
mov r8, rax
lea rax, [rbp - 0x20220]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
mov eax, 0
mov r8, rax
mov eax, dword [rbp - 0x517e0]
mov r11, rax
mov rax, qword [rbp - 0x40248]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fseek
mov eax, dword [rbp - 0x51894]
movsxd rax, eax
mov qword [rbp - 0x503f0], rax
mov rax, qword [rbp - 0x503f0]
movabs rcx, 0x10000
cqo
idiv rcx
mov dword [rbp - 0x3022c], eax
mov rax, qword [rbp - 0x503f0]
mov r11, rax
lea rax, [0x00406b4c]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
mov eax, 0
mov dword [rbp - 0x30230], eax
mov eax, dword [rbp - 0x30230]
mov ecx, dword [rbp - 0x3022c]
cmp eax, ecx
jge 0x403bfc
jmp 0x403b57
mov eax, dword [rbp - 0x30230]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x30230], eax
jmp 0x403b2a
mov eax, dword [rbp - 0x30230]
add eax, 1
mov ecx, dword [rbp - 0x3022c]
mov r8, rcx
mov r11, rax
lea rax, [0x00406b61]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 0x40248]
mov r9, rax
movabs rax, 1
mov r8, rax
movabs rax, 0x10000
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fread
mov eax, 0
mov r9, rax
mov eax, 0x10000
mov r8, rax
lea rax, [rbp - 0x20220]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
cmp eax, 0xffffffff
jne 0x403bf7
jmp 0x403bfc
jmp 0x403b43
mov eax, dword [rbp - 0x3022c]
cmp eax, 0
jle 0x403c4d
mov eax, dword [rbp - 0x30230]
mov ecx, dword [rbp - 0x3022c]
cmp eax, ecx
jl 0x403c36
lea rax, [0x00406b7a]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x403c48
lea rax, [0x00406b94]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x403c5f
lea rax, [0x00406bb1]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
mov eax, dword [rbp - 0x3022c]
shl eax, 0x10
movsxd rax, eax
mov rcx, qword [rbp - 0x503f0]
sub rcx, rax
mov dword [rbp - 0x3022c], ecx
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
mov rcx, qword [rbp - 0x40248]
mov r9, rcx
movabs rcx, 1
mov r8, rcx
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fread
mov eax, 0
mov r9, rax
mov eax, dword [rbp - 0x3022c]
mov r8, rax
lea rax, [rbp - 0x20220]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
mov rax, qword [rbp - 0x40248]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_fclose
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
call sub.ws2_32.dll_closesocket
lea rax, [0x00406bca]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x401298
mov rax, qword [rbp - 0x503f0]
mov r9, rax
lea rax, [rbp - 0x503e8]
mov r8, rax
lea rax, str.HTTP_1.1_200_OK_r_nContent_Type:__s_r_nCache_Control:_no_cache_r_nServer:_TinyCHttpServer_r_nAccept_ranges:_bytes_r_nContent_Length:__lld_r_nConnection:_close_r_n_r_n
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, str.Send:_HTTP_1.1_200_OK_..._n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
mov ecx, 0
mov r9, rcx
mov r8, rax
lea rax, [rbp - 0x20220]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
mov rax, qword [rbp - 0x503f0]
movabs rcx, 0x10000
cqo
idiv rcx
mov dword [rbp - 0x3022c], eax
mov rax, qword [rbp - 0x503f0]
mov r11, rax
lea rax, str.Filesize_lld_bytes_n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
mov eax, 0
mov dword [rbp - 0x30230], eax
mov eax, dword [rbp - 0x30230]
mov ecx, dword [rbp - 0x3022c]
cmp eax, ecx
jge 0x403ebc
jmp 0x403e17
mov eax, dword [rbp - 0x30230]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x30230], eax
jmp 0x403dea
mov eax, dword [rbp - 0x30230]
add eax, 1
mov ecx, dword [rbp - 0x3022c]
mov r8, rcx
mov r11, rax
lea rax, str.Sending_file:__d__d_..._r
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 0x40248]
mov r9, rax
movabs rax, 1
mov r8, rax
movabs rax, 0x10000
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fread
mov eax, 0
mov r9, rax
mov eax, 0x10000
mov r8, rax
lea rax, [rbp - 0x20220]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
cmp eax, 0xffffffff
jne 0x403eb7
jmp 0x403ebc
jmp 0x403e03
mov eax, dword [rbp - 0x3022c]
cmp eax, 0
jle 0x403f0d
mov eax, dword [rbp - 0x30230]
mov ecx, dword [rbp - 0x3022c]
cmp eax, ecx
jl 0x403ef6
lea rax, str._nFile_sent_successfully__n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x403f08
lea rax, str._nFile_transfer_interrupted._n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x403f1f
lea rax, str.File_sent_successfully__n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
mov eax, dword [rbp - 0x3022c]
shl eax, 0x10
movsxd rax, eax
mov rcx, qword [rbp - 0x503f0]
sub rcx, rax
mov dword [rbp - 0x3022c], ecx
mov eax, dword [rbp - 0x3022c]
movsxd rax, eax
mov rcx, qword [rbp - 0x40248]
mov r9, rcx
movabs rcx, 1
mov r8, rcx
mov r11, rax
lea rax, [rbp - 0x20220]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fread
mov eax, 0
mov r9, rax
mov eax, dword [rbp - 0x3022c]
mov r8, rax
lea rax, [rbp - 0x20220]
mov r11, rax
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.ws2_32.dll_send
mov rax, qword [rbp - 0x40248]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_fclose
mov rax, qword [rbp - 0x1d0]
mov r10, rax
mov rcx, r10
call sub.ws2_32.dll_closesocket
lea rax, str.Socket_Closed._n_n
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x401298
leave
ret