Function at 0x100043120
Capabilities:
Start http server

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x100
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rbp, rcx
lea r15, [0x100152eb8]
mov edi, 1
lea r14, [0x10001e5a0]
mov rcx, qword [0x100152eb8]
cmp rcx, r15
je 0x10004317b
test byte [rcx + 0x1c], dil
je 0x10004317b
mov edx, 0xa7
mov r8, r14
mov rcx, qword [rcx + 0x10]
call fcn.100034764
lea rax, [0x100020050]
mov qword [rsp + 0x30], rax
xor r12d, r12d
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x48], r12
mov byte [rsp + 0x50], r12b
lea r13d, [r12 + 2]
mov dword [rsp + 0x54], r13d
lea rax, [0x10001ffe8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
mov dword [rsp + 0x70], r12d
lea rcx, [0x100151100]
mov rax, qword [0x100151100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x150], rax
mov word [rsp + 0x148], di
mov word [rsp + 0x14a], r12w
mov qword [rsp + 0x158], r12
lea rdx, [rsp + 0x158]
lea rcx, [0x10001f290]
call sub.ADVAPI32.dll_ConvertStringSidToSidW
mov r11d, eax
mov ecx, eax
neg ecx
sbb edi, edi
not edi
mov eax, 0x538
and edi, eax
lea r8d, [r12 + 5]
mov rcx, qword [0x100152eb8]
cmp rcx, r15
je 0x100043261
test byte [rcx + 0x1c], r13b
je 0x100043261
movzx edx, byte [rcx + 0x19]
mov eax, r13d
cmp edi, r12d
cmove eax, r8d
cmp edx, eax
jl 0x100043261
mov edx, 0xa8
mov dword [rsp + 0x20], r11d
mov r9d, edi
mov r8, r14
mov rcx, qword [rcx + 0x10]
call fcn.10003b338
mov esi, 0xc00d37e3
cmp edi, r12d
jne 0x10004357e
mov rbx, qword [rsp + 0x158]
lea rax, [0x10001ff78]
mov qword [rsp + 0x80], rax
mov byte [rsp + 0xcc], r12b
mov dword [rsp + 0xd0], 7
lea rdi, [0x100151100]
mov rcx, rdi
mov rax, qword [0x100151100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xd8], rax
mov rcx, rdi
mov rax, qword [0x100151100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xe0], rax
mov rcx, rdi
mov rax, qword [0x100151100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xe8], rax
mov rcx, rdi
mov rax, qword [0x100151100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xf0], rax
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x80]
call fcn.100039fa4
cmp al, r12b
jne 0x100043322
call fcn.10004f624
nop
mov r9b, 3
mov r8d, 0xf003f
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x40]
call fcn.10003a2fc
movzx ebx, al
lea rcx, [rsp + 0x80]
call fcn.100039f00
mov r11d, ebx
neg r11d
sbb edi, edi
not edi
and edi, 0x538
mov rcx, qword [0x100152eb8]
cmp rcx, r15
je 0x10004339f
test byte [rcx + 0x1c], r13b
je 0x10004339f
movzx edx, byte [rcx + 0x19]
mov eax, r13d
cmp edi, r12d
mov r8d, 5
cmove eax, r8d
cmp edx, eax
jl 0x10004339f
mov edx, 0xa9
mov dword [rsp + 0x20], ebx
mov r9d, edi
mov r8, r14
mov rcx, qword [rcx + 0x10]
call fcn.10003b338
mov rcx, qword [rsp + 0x158]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov qword [rsp + 0x158], r12
mov esi, 0xc00d37e3
cmp edi, r12d
jne 0x10004357e
xor r8d, r8d
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call fcn.10003ac18
mov r8d, 4
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x30]
call fcn.10003ab84
cmp al, r12b
mov eax, 0x538
cmove edi, eax
mov rcx, qword [0x100152eb8]
cmp rcx, r15
je 0x100043436
test byte [rcx + 0x1c], r13b
je 0x10004343d
movzx edx, byte [rcx + 0x19]
mov eax, r13d
cmp edi, r12d
mov ebx, 5
cmove eax, ebx
cmp edx, eax
jl 0x100043442
mov edx, 0xaa
mov r9d, edi
mov r8, r14
mov rcx, qword [rcx + 0x10]
call fcn.100036328
jmp 0x100043442
mov ebx, 5
jmp 0x100043442
mov ebx, 5
cmp edi, r12d
jne 0x10004357e
xor r8d, r8d
mov edx, r13d
mov ecx, dword [rsp + 0x148]
call qword [sym.imp.HTTPAPI.dll_HttpInitialize]
mov edi, eax
mov rcx, qword [0x100152eb8]
cmp rcx, r15
je 0x100043499
test byte [rcx + 0x1c], r13b
je 0x100043499
movzx r8d, byte [rcx + 0x19]
mov edx, r13d
cmp eax, r12d
cmove edx, ebx
cmp r8d, edx
jl 0x100043499
mov edx, 0xab
mov r9d, eax
mov r8, r14
mov rcx, qword [rcx + 0x10]
call fcn.100036328
mov esi, 0xc00d37e4
cmp edi, r12d
jne 0x10004357e
mov rbx, qword [rsp + 0x150]
mov edi, 1
mov ecx, edi
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
or eax, ecx
jge 0x1000434d7
xor edx, edx
lea rcx, [rsp + 0x150]
call fcn.100036140
mov rbx, qword [rsp + 0x150]
mov rdx, rbx
lea rcx, [0x10001f138]
call fcn.100042f24
cmp eax, r12d
jne 0x10004351d
mov ecx, edi
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
or eax, ecx
jge 0x10004350e
xor edx, edx
lea rcx, [rsp + 0x150]
call fcn.100036140
mov rbx, qword [rsp + 0x150]
mov rdx, rbx
lea rcx, [0x10001f310]
call fcn.100042f24
xor edx, edx
mov ecx, r13d
call qword [sym.imp.HTTPAPI.dll_HttpTerminate]
mov edi, eax
mov r10, qword [0x100152eb8]
cmp r10, r15
je 0x100043570
test byte [r10 + 0x1c], r13b
je 0x100043570
movzx edx, byte [r10 + 0x19]
mov eax, r13d
cmp edi, r12d
mov r8d, 5
cmove eax, r8d
cmp edx, eax
jl 0x100043570
mov edx, 0xac
mov r9d, edi
mov r8, r14
mov rcx, qword [r10 + 0x10]
call fcn.100036328
mov r10, qword [0x100152eb8]
mov esi, 0xc00d37e6
cmp edi, r12d
je 0x100043657
lea rcx, [0x100151100]
mov rax, qword [0x100151100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x148], rax
mov r8d, edi
lea rdx, [0x10001ea50]
lea rcx, [rsp + 0x148]
call fcn.100039d9c
mov edx, 1
mov qword [rsp + 0x28], r12
mov rbx, qword [rsp + 0x148]
mov qword [rsp + 0x20], rbx
mov r9, qword [rbp + 0x28]
mov r8d, esi
mov rcx, rbp
call fcn.100036ce8
mov r8d, edi
mov edx, esi
mov rcx, qword [0x100157688]
call fcn.100048ca0
mov rcx, qword [0x100152eb8]
cmp rcx, r15
je 0x10004361b
test byte [rcx + 0x1c], r13b
je 0x10004361b
cmp byte [rcx + 0x19], r13b
jb 0x10004361b
mov edx, 0xad
mov dword [rsp + 0x20], edi
mov r9, qword [rbp + 0x28]
mov r8, r14
mov rcx, qword [rcx + 0x10]
call fcn.10009b2f4
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
cmp eax, r12d
jg 0x100043648
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x150]
mov r10, qword [0x100152eb8]
jmp 0x100043657
mov rbx, qword [rsp + 0x150]
mov r10, qword [0x100152eb8]
cmp r10, r15
je 0x10004368d
test byte [r10 + 0x1c], 1
je 0x10004368d
movzx edx, byte [r10 + 0x19]
mov eax, edi
neg eax
sbb ecx, ecx
and ecx, 0xfffffffd
add ecx, 5
cmp edx, ecx
jl 0x10004368d
mov edx, 0xae
mov r9d, edi
mov r8, r14
mov rcx, qword [r10 + 0x10]
call fcn.100036328
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
cmp eax, r12d
jg 0x1000436aa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rsp + 0x40]
call fcn.10003a270
nop
lea rax, [0x100020050]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x30]
call fcn.10003b074
mov eax, edi
mov rbx, qword [rsp + 0x140]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret