Function at 0x140154ce0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov rax, qword [0x14024a080]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rsi, r9
mov r15, r8
mov r12, rdx
mov r13, rcx
mov rbx, qword [rsp + 0x140]
lea rdi, [0x1401beed0]
cmp byte [rcx + 6], 0
je 0x140154e1b
cmp dword [r9 + 0x3c], 3
jne 0x140154e1b
mov rcx, r9
call fcn.1400cd8a0
movsxd rcx, eax
cmp dword [rdi + rcx*4], 9
je 0x140154e1b
mov rcx, rsi
call fcn.1400cd8a0
movsxd rcx, eax
cmp dword [rdi + rcx*4], 0xa
je 0x140154e1b
mov qword [rsp + 0x20], rbx
mov r9, rsi
mov r8, r15
mov rdx, r12
mov rcx, r13
call fcn.1401552c0
mov rax, qword [r15]
mov r8, rsi
mov rdx, r12
mov rcx, r15
call qword [rax + 0x28]
mov ebp, eax
mov r9, qword [rbx]
mov r8d, 3
lea rdx, [0x1401cc52c]
mov rcx, rbx
call qword [r9 + htons]
xor edi, edi
test ebp, ebp
jle 0x140154dea
nop dword [rax]
test edi, edi
jle 0x140154dca
mov rax, qword [rbx]
mov r8d, 2
lea rdx, [0x1401f4aac]
mov rcx, rbx
call qword [rax + htons]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], edi
mov r9, rsi
mov r8, r15
mov rdx, r12
mov rcx, r13
call fcn.1401553f0
inc edi
cmp edi, ebp
jl 0x140154db0
mov rax, qword [rbx]
mov r8d, 2
mov rcx, rbx
cmp byte [r13 + 4], 0
je 0x140154e0c
lea rdx, [0x1401cc530]
call qword [rax + htons]
jmp 0x140155190
lea rdx, [0x1401cc534]
call qword [rax + htons]
jmp 0x140155190
xor edi, edi
lea ebp, [rdi + 1]
mov rax, qword [r15]
mov r8, rsi
mov rdx, r12
mov rcx, r15
cmp dword [rsi + 0x3c], 3
jne 0x140154e3a
call qword [rax + 0x28]
mov r14d, eax
jmp 0x140154e46
call qword [rax + 0x20]
mov r14d, edi
test al, al
cmovne r14d, ebp
mov dword [rsp + 0x34], r14d
mov qword [rsp + 0x48], rdi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov rcx, rsi
call fcn.1400cd8a0
cmp eax, 0xb
jne 0x140154f32
mov rcx, rsi
call fcn.14011a820
test al, al
je 0x140154f32
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], rsi
mov r9, r15
mov r8d, r14d
mov rdx, r12
lea rcx, [rsp + 0x70]
call fcn.1400ea9b0
mov r14, rax
mov rbp, rdi
mov qword [rsp + 0x40], rdi
lea rax, [rsp + 0x48]
cmp rax, r14
je 0x140154ee0
lea rcx, [rsp + 0x48]
call fcn.1400c9ff0
mov rbp, qword [r14]
mov qword [rsp + 0x48], rbp
mov rcx, qword [r14 + 8]
mov qword [rsp + 0x50], rcx
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x58], rax
mov qword [r14], rdi
mov qword [r14 + 8], rdi
mov qword [r14 + 0x10], rdi
mov qword [rsp + 0x40], rbp
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140154f3f
mov rax, qword [rsp + 0x80]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140154f26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401551ba
call fcn.1400c7360
mov qword [rsp + 0x40], rbp
jmp 0x140154f3f
mov byte [rsp + 0x30], 0
mov rbp, rdi
mov qword [rsp + 0x40], rdi
cmp dword [rsp + 0x34], 0
jle 0x140155154
nop word [rax + rax]
mov r14d, 0xffffffff
cmp dword [rsi + 0x3c], 3
cmove r14d, edi
mov dword [rsp + 0x3c], r14d
mov qword [rsp + 0x20], rbx
mov r9, rsi
mov r8, r15
mov rdx, r12
mov rcx, r13
call fcn.1401552c0
mov rcx, rsi
call fcn.1400cd8a0
movsxd rcx, eax
lea rax, [0x1401beed0]
cmp dword [rax + rcx*4], 0xa
jne 0x1401550ea
mov rax, qword [r13 + 0x18]
mov qword [rsp + 0x60], rax
mov rdx, qword [r13 + 0x20]
mov rcx, rdx
mov rax, qword [rdx + 8]
cmp byte [rax + 0x19], 0
jne 0x140154fd3
nop
cmp qword [rax + 0x20], rsi
jae 0x140154fbc
mov rax, qword [rax + 0x10]
jmp 0x140154fc2
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140154fb0
cmp rcx, rdx
je 0x140154fd3
cmp rsi, qword [rcx + 0x20]
jae 0x140154fd6
mov rcx, rdx
cmp rcx, rdx
jne 0x140154fe2
lea rcx, [rsp + 0x60]
jmp 0x140154fe6
add rcx, 0x28
mov r14, qword [rcx]
cmp dword [rsi + 0x3c], 3
jne 0x140155013
cmp byte [rsp + 0x30], 0
je 0x140154ffc
mov rbp, qword [rbp]
jmp 0x14015502b
mov rax, qword [r15]
mov r9d, edi
mov r8, rsi
mov rdx, r12
mov rcx, r15
call qword [rax + 0x198]
jmp 0x140155028
mov rax, qword [r15]
xor r9d, r9d
mov r8, rsi
mov rdx, r12
mov rcx, r15
call qword [rax + 0xd0]
mov rbp, rax
mov r10, qword [r14]
mov qword [rsp + 0x28], rbx
movzx ecx, byte [r13 + 4]
mov byte [rsp + 0x20], cl
mov r9d, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x3c]
mov rdx, rbp
mov rcx, r14
call qword [r10 + 0x60]
inc dword [rbx + 0x20]
mov r8, rbx
mov rdx, rbp
mov rcx, r13
call fcn.140154400
mov eax, dword [rbx + 0x20]
test eax, eax
je 0x140155074
cmp eax, dword [rbx + 0x24]
jl 0x140155074
dec eax
mov dword [rbx + 0x20], eax
jmp 0x1401550be
mov r9d, 0x4a8
lea r8, str.E:protobuf_3.5.1_srcgoogleprotobuf_text_format.cc
mov edx, 2
lea rcx, [rsp + 0x88]
call fcn.1400cf320
nop
lea rdx, str._Outdent___without_matching_Indent__.
mov rcx, rax
call fcn.1400cf7d0
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.1400cf4a0
nop
lea rcx, [rsp + 0x88]
call fcn.1400cf410
mov r10, qword [r14]
mov qword [rsp + 0x28], rbx
movzx eax, byte [r13 + 4]
mov byte [rsp + 0x20], al
mov r9d, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x3c]
mov rdx, rbp
mov rcx, r14
call qword [r10 + 0x68]
mov rbp, qword [rsp + 0x40]
jmp 0x14015513f
mov rax, qword [rbx]
mov r8d, 2
lea rdx, [0x1401f2068]
mov rcx, rbx
call qword [rax + htons]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], r14d
mov r9, rsi
mov r8, r15
mov rdx, r12
mov rcx, r13
call fcn.1401553f0
mov rax, qword [rbx]
mov r8d, 1
mov rcx, rbx
cmp byte [r13 + 4], 0
lea rdx, [0x1401f4ab0]
jne 0x14015513c
lea rdx, [0x1401f4a84]
call qword [rax + htons]
inc edi
add rbp, 8
mov qword [rsp + 0x40], rbp
cmp edi, dword [rsp + 0x34]
jl 0x140154f50
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140155190
mov rdx, qword [rsp + 0x58]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015518b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401551b4
call fcn.1400c7360
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1400c7300
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.14015c05c
nop
call fcn.14015c05c
nop
push rdi
sub rsp, 0x20
cmp byte [r9 + 0x42], 0
mov rdi, r9
je 0x14015527a
mov qword [rsp + 0x38], rsi
lea rdx, str.___:
mov rsi, qword [rsp + 0x50]
mov r8d, 1
mov rcx, rsi
mov rax, qword [rsi]
call qword [rax + htons]
mov rax, qword [rdi + 0x50]
mov rcx, qword [rax + 0x20]
cmp byte [rcx + 0x48], 0
je 0x14015523e
mov rcx, rdi
call fcn.1400cd8a0
cmp eax, 0xb
jne 0x14015523e
cmp dword [rdi + 0x3c], 1
jne 0x14015523e
mov qword [rsp + 0x30], rbx
mov rcx, rdi
mov rbx, qword [rdi + 0x60]
call fcn.14011a890
cmp rbx, rax
mov rbx, qword [rsp + 0x30]
jne 0x14015523e
mov rcx, rdi
call fcn.14011a890
mov rdx, qword [rax + 8]
jmp 0x140155242
mov rdx, qword [rdi + 8]
cmp qword [rdx + 0x18], 0x10
mov r8, qword [rdx + 0x10]
jb 0x140155250
mov rdx, qword [rdx]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + htons]
mov rax, qword [rsi]
lea rdx, [0x1401f4a98]
mov r8d, 1
mov rcx, rsi
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp qword [rax + htons]
mov rcx, rdi
call fcn.1400cd8a0
cmp eax, 0xa
jne 0x140155294
mov rcx, rdi
call fcn.14011a890
mov rdx, qword [rax]
jmp 0x140155297
mov rdx, qword [rdi]
cmp qword [rdx + 0x18], 0x10
mov r8, qword [rdx + 0x10]
jb 0x1401552a5
mov rdx, qword [rdx]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
add rsp, 0x20
pop rdi
jmp qword [rax + htons]