Function at 0x1400e3610
Capabilities:
Check for software breakpoints

Disassembly:
push rbp
push rbx
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x2508]
mov eax, 0x2608
call fcn.140170e10
sub rsp, rax
mov rax, qword [0x14021d798]
xor rax, rsp
mov qword [rbp + 0x24e0], rax
xor r12d, r12d
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x68], r12
mov rdi, r9
mov qword [rsp + 0x70], r12
mov rbx, r8
mov qword [rsp + 0x78], r12
mov r13d, edx
mov dword [rbp - 0x80], r12d
mov r14, rcx
mov qword [rbp - 0x78], r12
test rcx, rcx
je 0x1400e4141
test rbx, rbx
je 0x1400e4141
mov qword [rsp + 0x25f8], r15
lea r15, [r12 - 1]
mov qword [rsp + 0x2600], rsi
mov dword [rcx + 0x9a8], edx
cmp edx, 0xc7
jle 0x1400e36b7
cmp edx, 0xcc
je 0x1400e36b7
cmp edx, 0x130
je 0x1400e36b7
lea esi, [r12 + 1]
jmp 0x1400e36db
mov esi, r12d
cmp dword [rcx + 0x990], r12d
jne 0x1400e375d
mov rax, qword [rcx + 0x8e0]
cmp qword [rax + 0x7d50], rsi
je 0x1400e375d
call fcn.140005170
mov qword [rsp + 0x28], rdi
lea rdx, [rbp + 0x4e0]
mov r9, rbx
mov qword [rsp + 0x20], r12
mov r8d, 0x2000
mov rcx, qword [rax]
or rcx, 1
call fcn.14017ff24
test eax, eax
cmovs eax, r15d
test eax, eax
js 0x1400e3717
cmp eax, 0x2000
jb 0x1400e3753
lea rax, [rbp + 0x4e0]
mov r9d, 0xc45
mov qword [rsp + 0x30], rax
lea r8, str.mg_vsnprintf
lea rax, str.truncating_vsnprintf_buffer:___.s_
mov dword [rsp + 0x28], 0xc8
xor edx, edx
mov qword [rsp + 0x20], rax
mov rcx, r14
call fcn.1400e1360
mov eax, 0x1fff
cdqe
mov byte [rbp + rax + 0x4e0], r12b
mov ecx, dword [r14 + 0x990]
test ecx, ecx
jne 0x1400e3f60
mov rax, qword [r14 + 0x8e0]
cmp qword [rax + 0x7d50], r12
je 0x1400e37b4
lea r8, [rbp + 0x4e0]
mov dword [r14 + 0x990], 1
mov edx, r13d
mov rcx, r14
call qword [rax + 0x7d50]
mov dword [r14 + 0x990], r12d
mov ecx, r12d
test eax, eax
je 0x1400e3f2b
test ecx, ecx
jne 0x1400e3f60
mov rax, qword [r14 + 0x8e8]
mov r8, qword [rax + 0x1d8]
mov rdi, qword [rax + 0x138]
mov eax, r12d
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x50], rdi
test r8, r8
je 0x1400e3f60
mov r12d, 1
lea r10, str._serror_03u.
mov r9d, 0x2ec
lea r11, str._serror_01uxx.
lea rdx, str._serror.
test eax, eax
jne 0x1400e3a7b
mov ecx, r12d
sub ecx, 1
je 0x1400e3858
cmp ecx, 1
mov rcx, r14
je 0x1400e3836
mov qword [rsp + 0x28], r8
lea r8, [rbp - 0x40]
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x58]
call fcn.1400e46d0
jmp 0x1400e3878
mov eax, 0x51eb851f
imul r13d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r11
jmp 0x1400e386a
mov dword [rsp + 0x30], r13d
mov rcx, r14
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r10
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x58]
call fcn.1400e46d0
mov byte [rbp + 0x2ac], 0
lea rax, [rbp - 0x40]
mov rbx, r15
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400e3886
mov eax, 0x2ec
mov edx, 0x2e
cmp ebx, eax
mov rcx, rdi
cmovg ebx, eax
call fcn.140172574
mov r14, rax
test rax, rax
je 0x1400e39c9
movsxd r15, ebx
nop word [rax + rax]
mov rcx, r15
lea rdx, [r14 + 1]
sub rcx, r14
mov ebx, 1
mov r8d, ebx
lea r9, [rbp + rcx - 0x41]
movzx eax, byte [rdx]
test al, al
je 0x1400e38f4
cmp al, 0x2c
je 0x1400e38f4
mov byte [rdx + r9], al
inc ebx
inc rdx
inc r8
cmp r8, 0x20
jl 0x1400e38d7
lea rax, [r8 - 1]
add rax, r15
cmp rax, 0x30c
jae 0x1400e414b
xorps xmm0, xmm0
mov byte [rbp + rax - 0x40], 0
movzx ecx, byte [rbp - 0x40]
lea rdx, [rbp - 0x40]
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
test cl, cl
je 0x1400e39a4
cmp cl, 0x3f
ja 0x1400e393a
movabs r8, 0xd0000404ffffffff
bt r8, rcx
jb 0x1400e39a4
cmp cl, 0x7c
je 0x1400e39a4
movzx ecx, byte [rdx + 1]
inc rdx
test cl, cl
jne 0x1400e3925
mov rcx, qword [rsp + 0x48]
lea r8, [rbp + 0x2d0]
mov r9d, 0x104
lea rdx, [rbp - 0x40]
call fcn.1400e7680
lea rcx, [rbp - 0x40]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1400e3970
test rax, rax
je 0x1400e39a4
movzx ecx, byte [rbp + rax - 0x41]
cmp cl, 0x20
je 0x1400e39a4
cmp cl, 0x2e
je 0x1400e39a4
lea r8, [rbp - 0x70]
xor edx, edx
lea rcx, [rbp + 0x2d0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
jne 0x1400e39e9
movsxd rcx, ebx
mov edx, 0x2e
add rcx, r14
call fcn.140172574
mov r14, rax
test rax, rax
jne 0x1400e38c0
mov rdi, qword [rsp + 0x50]
lea r15, [rax - 1]
mov eax, dword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
inc r12d
cmp r12d, 3
jg 0x1400e3a73
mov r8, qword [rsp + 0x60]
jmp 0x1400e37e9
mov eax, dword [rbp - 0x50]
movabs r9, 0x19db1ded53e8000
mov ecx, dword [rbp - 0x54]
movabs rbx, 0xd6bf94d5e57a42bd
mov rdi, qword [rsp + 0x50]
shl rcx, 0x20
or rcx, rax
mov eax, dword [rbp - 0x5c]
mov qword [rsp + 0x68], rcx
mov ecx, dword [rbp - 0x58]
shl rcx, 0x20
or rcx, rax
mov rax, rbx
sub rcx, r9
mul rcx
mov eax, dword [rbp - 0x6c]
mov ecx, dword [rbp - 0x68]
mov r8, rdx
shl rcx, 0x20
or rcx, rax
shr r8, 0x17
sub rcx, r9
mov rax, rbx
mul rcx
mov eax, dword [rbp - 0x70]
shr rdx, 0x17
cmp rdx, r8
cmovg r8, rdx
and eax, 0x10
mov dword [rsp + 0x78], eax
mov eax, 1
mov qword [rsp + 0x70], r8
mov dword [rsp + 0x40], eax
lea r15, [rax - 2]
jmp 0x1400e39cd
test eax, eax
je 0x1400e3f5d
cmp qword [r14 + 0x8e8], 0
mov dword [r14 + 0x990], 1
je 0x1400e3f20
xor edx, edx
mov ecx, 0xa8
mov dword [rsp + 0x40], edx
mov qword [rsp + 0x58], rcx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r14 + 0x8e8]
mov r14, qword [rcx + rax]
test r14, r14
je 0x1400e3c95
mov r13, r15
nop word [rax + rax]
inc r13
cmp byte [r14 + r13], 0
jne 0x1400e3ad0
mov r8, r13
mov edx, 0x7c
mov rcx, r14
call fcn.140173250
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400e3c72
nop dword [rax + rax]
mov r15, rax
mov ebx, 0
mov esi, ebx
sub r15, r14
je 0x1400e3c3a
cmp byte [rbx + r14], 0x3f
jne 0x1400e3b58
movzx eax, byte [rbp + rsi - 0x40]
test al, al
je 0x1400e3b58
cmp al, 0x2f
je 0x1400e3b58
nop word [rax + rax]
inc rbx
inc rsi
cmp byte [rbx + r14], 0x3f
jne 0x1400e3b4f
movzx eax, byte [rbp + rsi - 0x40]
test al, al
je 0x1400e3b4f
cmp al, 0x2f
je 0x1400e3b4f
cmp rbx, r15
jb 0x1400e3b30
cmp rbx, r15
je 0x1400e3c3a
movzx eax, byte [rbx + r14]
cmp al, 0x24
je 0x1400e3c27
cmp al, 0x2a
je 0x1400e3b94
mov ecx, eax
call fcn.140185968
movzx ecx, byte [rbp + rsi - 0x40]
mov edi, eax
call fcn.140185968
cmp edi, eax
jne 0x1400e3c3f
inc rbx
inc rsi
cmp rbx, r15
jb 0x1400e3b13
jmp 0x1400e3c3a
inc rbx
cmp byte [rbx + r14], 0x2a
jne 0x1400e3bbf
cmp rbx, r15
jae 0x1400e3bbf
inc rbx
lea rax, [rbp - 0x40]
add rax, rsi
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x1400e3bb4
jmp 0x1400e3bd5
lea rcx, [rbp - 0x40]
add rcx, rsi
lea rdx, [0x1401e1398]
call fcn.14017cc90
mov rdi, rax
cmp rbx, r15
jne 0x1400e3bdf
add rsi, rdi
jmp 0x1400e3c3a
add r14, rbx
lea rax, [rdi + rsi]
mov r12, r15
sub r12, rbx
lea rbx, [rbp - 0x40]
add rbx, rax
xor r9d, r9d
mov r8, rbx
mov rdx, r12
mov rcx, r14
call fcn.1400e2060
cmp rax, 0xffffffffffffffff
jne 0x1400e3c1a
mov rax, rdi
dec rbx
dec rdi
test rax, rax
jne 0x1400e3bf3
jmp 0x1400e3c3f
test rax, rax
js 0x1400e3c3f
add rax, rdi
add rsi, rax
jmp 0x1400e3c3a
cmp byte [rbp + rsi - 0x40], 0
mov rax, 0xffffffffffffffff
cmove rax, rsi
mov rsi, rax
test rsi, rsi
jns 0x1400e3c8a
mov r14, qword [rsp + 0x50]
mov rax, 0xffffffffffffffff
sub rax, r15
inc r14
add r13, rax
mov edx, 0x7c
mov r8, r13
mov rcx, r14
call fcn.140173250
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x1400e3b00
xor r9d, r9d
lea r8, [rbp - 0x40]
mov rdx, r13
mov rcx, r14
call fcn.1400e2060
mov rsi, rax
test rax, rax
jg 0x1400e3cbf
mov rcx, qword [rsp + 0x58]
mov edx, dword [rsp + 0x40]
add edx, 5
add rcx, 0x28
mov dword [rsp + 0x40], edx
mov qword [rsp + 0x58], rcx
cmp rcx, 0xf8
jge 0x1400e3cda
mov r14, qword [rsp + 0x48]
mov r15, 0xffffffffffffffff
jmp 0x1400e3ab0
mov r14, qword [rsp + 0x48]
lea rdx, [rbp - 0x40]
mov r8d, dword [rsp + 0x40]
mov rcx, r14
call fcn.1400da940
jmp 0x1400e3f20
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x8e8]
mov r14, qword [rax + 0x118]
test r14, r14
je 0x1400e3ed4
mov r13, 0xffffffffffffffff
nop dword [rax]
inc r13
cmp byte [r14 + r13], 0
jne 0x1400e3d00
mov r8, r13
mov edx, 0x7c
mov rcx, r14
call fcn.140173250
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400e3ea2
nop dword [rax + rax]
mov r15, rax
mov edi, 0
mov esi, edi
sub r15, r14
je 0x1400e3e6a
cmp byte [rdi + r14], 0x3f
jne 0x1400e3d88
movzx eax, byte [rbp + rsi - 0x40]
test al, al
je 0x1400e3d88
cmp al, 0x2f
je 0x1400e3d88
nop word [rax + rax]
inc rdi
inc rsi
cmp byte [rdi + r14], 0x3f
jne 0x1400e3d7f
movzx eax, byte [rbp + rsi - 0x40]
test al, al
je 0x1400e3d7f
cmp al, 0x2f
je 0x1400e3d7f
cmp rdi, r15
jb 0x1400e3d60
cmp rdi, r15
je 0x1400e3e6a
movzx eax, byte [rdi + r14]
cmp al, 0x24
je 0x1400e3e57
cmp al, 0x2a
je 0x1400e3dc4
mov ecx, eax
call fcn.140185968
movzx ecx, byte [rbp + rsi - 0x40]
mov ebx, eax
call fcn.140185968
cmp ebx, eax
jne 0x1400e3e6f
inc rdi
inc rsi
cmp rdi, r15
jb 0x1400e3d43
jmp 0x1400e3e6a
inc rdi
cmp byte [rdi + r14], 0x2a
jne 0x1400e3def
cmp rdi, r15
jae 0x1400e3def
inc rdi
lea rax, [rbp - 0x40]
add rax, rsi
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400e3de4
jmp 0x1400e3e05
lea rcx, [rbp - 0x40]
add rcx, rsi
lea rdx, [0x1401e1398]
call fcn.14017cc90
mov rbx, rax
cmp rdi, r15
jne 0x1400e3e0f
add rsi, rbx
jmp 0x1400e3e6a
add r14, rdi
lea rax, [rbx + rsi]
mov r12, r15
sub r12, rdi
lea rdi, [rbp - 0x40]
add rdi, rax
xor r9d, r9d
mov r8, rdi
mov rdx, r12
mov rcx, r14
call fcn.1400e2060
cmp rax, 0xffffffffffffffff
jne 0x1400e3e4a
mov rax, rbx
dec rdi
dec rbx
test rax, rax
jne 0x1400e3e23
jmp 0x1400e3e6f
test rax, rax
js 0x1400e3e6f
add rax, rbx
add rsi, rax
jmp 0x1400e3e6a
cmp byte [rbp + rsi - 0x40], 0
mov rax, 0xffffffffffffffff
cmove rax, rsi
mov rsi, rax
test rsi, rsi
jns 0x1400e3eba
mov r14, qword [rsp + 0x50]
mov rax, 0xffffffffffffffff
sub rax, r15
inc r14
add r13, rax
mov edx, 0x7c
mov r8, r13
mov rcx, r14
call fcn.140173250
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x1400e3d30
xor r9d, r9d
lea r8, [rbp - 0x40]
mov rdx, r13
mov rcx, r14
call fcn.1400e2060
mov rsi, rax
test rax, rax
jle 0x1400e3ed4
mov r14, qword [rsp + 0x48]
lea r8, [rsp + 0x68]
mov rcx, r14
lea rdx, [rbp - 0x40]
call fcn.1400dd3d0
jmp 0x1400e3f20
mov r14, qword [rsp + 0x48]
cmp dword [r14 + 0x990], 0
jne 0x1400e3f03
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.1400df000
test eax, eax
je 0x1400e3f03
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.1400db9f0
jmp 0x1400e3f20
xor r9d, r9d
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x68]
mov rcx, r14
lea rdx, [rbp - 0x40]
call fcn.1400dd6a0
mov dword [r14 + 0x990], 0
mov rsi, qword [rsp + 0x2600]
xor eax, eax
mov r15, qword [rsp + 0x25f8]
mov rcx, qword [rbp + 0x24e0]
xor rcx, rsp
call fcn.1401702b0
add rsp, 0x2608
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret
xor r12d, r12d
lea eax, [r13 - 0x64]
mov dword [r14 + 0x988], 1
cmp eax, 0x383
ja 0x1400e3fa1
cmp dword [r14], 1
jne 0x1400e3fa1
cmp dword [r14 + 4], 1
je 0x1400e3fa1
cmp dword [r14 + 8], 0
jne 0x1400e3fa1
mov rcx, r14
mov dword [r14 + 0x9a8], r13d
mov dword [r14 + 8], 1
call fcn.1400d97a0
mov rcx, r14
call fcn.1400eb790
mov rax, qword [r14 + 0x8e8]
mov rdx, qword [rax + 0x1f0]
test rdx, rdx
je 0x1400e3fc9
cmp byte [rdx], 0
je 0x1400e3fc9
mov rcx, r14
call fcn.1400e3130
mov rcx, r14
call fcn.1400eb470
test esi, esi
je 0x1400e40e4
cmp dword [r14], 1
jne 0x1400e40e4
cmp dword [r14 + 4], 1
je 0x1400e40e4
cmp dword [r14 + 8], 1
jne 0x1400e40e4
movsxd rdi, dword [r14 + 0x4d8]
cmp edi, 0x40
jge 0x1400e40e4
mov ebx, reloc.WS2_32.dll_listen
mov ecx, ebx
call fcn.140184ca0
mov r8, rax
test rax, rax
je 0x1400e404b
lea rdx, str.Content_Type
mov rcx, rax
sub rdx, rax
nop word [rax + rax]
cmp rbx, 1
jbe 0x1400e4048
movzx eax, byte [rcx + rdx]
dec rbx
mov byte [rcx], al
inc rcx
cmp byte [rcx + rdx], 0
jne 0x1400e4030
mov byte [rcx], 0
lea rsi, [rdi + 0x4e]
mov ebx, 0x1a
add rsi, rsi
mov ecx, ebx
mov qword [r14 + rsi*8], r8
call fcn.140184ca0
mov r8, rax
test rax, rax
je 0x1400e4092
lea rdx, str.text_plain__charsetutf_8
mov rcx, rax
sub rdx, rax
cmp rbx, 1
jbe 0x1400e408f
movzx eax, byte [rcx + rdx]
dec rbx
mov byte [rcx], al
inc rcx
cmp byte [rcx + rdx], 0
jne 0x1400e4077
mov byte [rcx], 0
mov rcx, qword [r14 + rsi*8]
add rdi, rdi
mov qword [r14 + rdi*8 + 0x4e8], r8
test rcx, rcx
je 0x1400e40bc
test r8, r8
je 0x1400e40bc
inc dword [r14 + 0x4d8]
mov rcx, r14
call fcn.1400e3310
jmp 0x1400e40f4
call fcn.140180564
mov rcx, qword [r14 + rdi*8 + 0x4e8]
mov qword [r14 + rsi*8], r12
call fcn.140180564
mov rcx, r14
mov qword [r14 + rdi*8 + 0x4e8], r12
call fcn.1400e3310
jmp 0x1400e40f4
mov rcx, r14
call fcn.1400e3310
test esi, esi
je 0x1400e3f2b
mov edx, r13d
mov rcx, r14
call fcn.1400e1620
mov r9, rax
lea rdx, str.Error__d:__s_n
mov r8d, r13d
mov rcx, r14
call fcn.1400e2a00
lea rax, [rbp + 0x4e0]
nop dword [rax + rax]
inc r15
cmp byte [rax + r15], 0
jne 0x1400e4120
mov r8, r15
lea rdx, [rbp + 0x4e0]
mov rcx, r14
call fcn.1400e6000
jmp 0x1400e3f2b
mov eax, 0xfffffffe
jmp 0x1400e3f3d
call fcn.140170888
int3