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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
mov rsi, qword [rcx + 0x10]
xor r10d, r10d
xor r14b, r14b
mov qword [rsp + 0x58], r10
mov rbp, r8
mov dword [rsp + 0x50], r10d
mov rdi, rdx
mov dword [rsp + 0x48], r10d
movsxd r9, dword [rsi + 0x90]
mov r12, rcx
mov qword [rsp + 0x78], rsi
mov dword [rsp + 0x54], r9d
cmp dword [rsi + 0x94], r9d
jg 0x14016acbe
xor r9d, r9d
mov dword [rsp + 0x20], r10d
xor r8d, r8d
lea edx, [r10 + 0x11]
mov rcx, rsi
call fcn.140178b80
mov dword [rsp + 0x54], eax
xor r10d, r10d
jmp 0x14016ace5
lea rcx, [r9 + r9*2]
lea eax, [r9 + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], reloc.WS2_32.dll_recvfrom
mov qword [rax + rcx*8 + 8], r10
mov qword [rax + rcx*8 + 0x10], r10
mov rbx, qword [rdi + 0x20]
mov r13d, r10d
movsxd rax, dword [rdi + 0x14]
mov r15, r10
mov r8, qword [rsp + 0x130]
mov r9d, 3
mov rcx, qword [rbp + 0x20]
shl rax, 6
add rax, rbx
mov dword [rsp + 0x110], r10d
mov rdx, qword [r8 + 0x50]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x70], rax
cmp rbx, rax
jae 0x14016af11
lea rax, [fcn.1401719f0]
lea rcx, [0x1401bba30]
nop
cmp qword [rdx], 0
mov rdi, qword [rbx]
jne 0x14016adbf
test byte [rbx + 0x12], 2
jne 0x14016adbf
test byte [rdi + 4], 1
jne 0x14016adbf
mov qword [rsp + 0x90], rax
mov rdx, rdi
mov eax, dword [rbp + 0x44]
mov qword [rsp + 0x98], rcx
lea rcx, [rsp + 0x88]
mov dword [rsp + 0xb0], eax
mov word [rsp + 0xac], r9w
call fcn.1401e43f0
cmp word [rsp + 0xac], 0
je 0x14016adba
mov rcx, qword [r12]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
call fcn.140170ee0
mov rdx, qword [rsp + 0x58]
mov r8, rax
mov rcx, r12
call fcn.14019c9e0
mov qword [rsp + 0x58], rax
mov rdx, qword [rsp + 0x40]
mov eax, dword [rbp + 0x44]
cmp dword [rbx + 0x1c], eax
jne 0x14016aee6
movzx ecx, word [rbx + 0x14]
test cl, 0x82
je 0x14016aee6
test byte [rbp + 0x3c], 8
je 0x14016adef
mov rax, qword [rbx]
test byte [rax + 4], 1
jne 0x14016adef
test cl, cl
js 0x14016aee6
mov rax, qword [rsp + 0x128]
test qword [rbx + 0x30], rax
jne 0x14016aee6
movsxd rax, dword [rbx + 0x28]
test eax, eax
js 0x14016aee6
mov rdx, rax
mov rax, qword [rbp + 0x20]
shl rdx, 5
mov rcx, qword [rax + 8]
movzx edi, byte [rdx + rcx + 0x19]
mov rcx, qword [rbx]
call fcn.14016a3d0
cmp al, 0x42
jl 0x14016ae4b
jne 0x14016ae3a
xor eax, eax
cmp dil, 0x42
sete al
jmp 0x14016ae43
xor eax, eax
cmp dil, 0x43
setge al
test eax, eax
je 0x14016aee1
movsxd rcx, dword [rbx + 0x28]
cmp ecx, 0x40
jl 0x14016ae60
movabs rdi, 0x8000000000000000
jmp 0x14016ae68
mov edi, 1
shl rdi, cl
test r14b, r14b
jne 0x14016ae98
mov rax, rcx
lea rdx, str.automatic_index_on__s__s_
mov rcx, qword [rsp + 0x60]
shl rax, 5
mov r9, qword [rcx + 8]
mov r8, qword [rcx]
mov ecx, 0x11c
mov r9, qword [rax + r9]
call fcn.14014bd30
mov r14b, 1
mov rdx, qword [rsp + 0x40]
test r15, rdi
jne 0x14016aee6
mov rcx, qword [r12]
lea ebp, [r13 + 1]
mov r8d, ebp
call fcn.1401e7660
test eax, eax
jne 0x14016b945
mov rdx, qword [rsp + 0x40]
or r15, rdi
movsxd rcx, r13d
mov r13d, ebp
mov dword [rsp + 0x110], ebp
mov rbp, qword [rsp + 0x120]
mov rax, qword [rdx + 0x38]
mov qword [rax + rcx*8], rbx
jmp 0x14016aee6
mov rdx, qword [rsp + 0x40]
add rbx, 0x40
lea rax, [fcn.1401719f0]
lea rcx, [0x1401bba30]
mov r9d, 3
cmp rbx, qword [rsp + 0x70]
jb 0x14016ad40
mov rcx, qword [rsp + 0x60]
xor r10d, r10d
not r15
mov word [rdx + 0x2c], r13w
movabs rax, 0x8000000000000000
mov word [rdx + 0x18], r13w
or r15, rax
mov dword [rdx + 0x28], 0x4241
movzx edx, word [rcx + 0x46]
mov eax, 0x3f
mov r8, qword [rbp + 0x58]
mov ecx, r10d
and r15, r8
mov qword [rsp + 0x80], r15
cmp ax, dx
jge 0x14016af5b
mov r9d, eax
mov dword [rsp + 0x4c], eax
jmp 0x14016af70
movsx r9d, dx
mov dword [rsp + 0x4c], r9d
test r9d, r9d
jle 0x14016af8a
nop dword [rax]
mov eax, ecx
bt r15, rax
jae 0x14016af7b
inc r13d
inc ecx
cmp ecx, r9d
jl 0x14016af70
mov dword [rsp + 0x110], r13d
test r8, r8
jns 0x14016afa1
movsx eax, dx
add r13d, 0xffffffc1
add r13d, eax
mov dword [rsp + 0x110], r13d
mov rcx, qword [r12]
lea edi, [r13 + 1]
movsx rbp, di
movsx r14d, di
lea eax, [r14 + rbp]
lea edx, [rax*2 + 9]
add edx, ebp
lea eax, [rbp*8 + 7]
and eax, 0xfffffff8
and edx, 0xfffffff8
add eax, 0x70
add eax, edx
movsxd rbx, eax
test rcx, rcx
je 0x14016afe5
mov rdx, rbx
call fcn.1401997c0
mov r15, rax
jmp 0x14016b041
lea rax, [rbx - 1]
cmp rax, 0x7ffffefe
ja 0x14016b03e
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x14016b031
mov rcx, qword [0x1403efcd8]
test rcx, rcx
je 0x14016b00c
call qword [0x1403dd1a0]
lea rdx, [rsp + 0x68]
mov ecx, ebx
call fcn.14017c280
mov rcx, qword [0x1403efcd8]
test rcx, rcx
je 0x14016b02a
call qword [0x1403dd1b0]
mov r15, qword [rsp + 0x68]
jmp 0x14016b041
mov ecx, ebx
call qword [0x1403dd140]
mov r15, rax
jmp 0x14016b041
mov r15, r10
test r15, r15
je 0x14016b945
mov r8, rbx
xor edx, edx
mov rcx, r15
call fcn.14028e7e0
mov r11, qword [rsp + 0x60]
lea rax, [rbp*8 + 7]
and rax, 0xfffffffffffffff8
mov word [r15 + 0x60], di
dec di
lea rdx, [r15 + 0x70]
mov qword [r15 + 0x40], rdx
lea rbx, [0x1402f5d08]
add rdx, rax
mov word [r15 + 0x5e], di
lea eax, [r14 + 1]
mov qword [r15 + 0x10], rdx
mov r14, qword [rsp + 0x40]
xor r10d, r10d
movsxd rcx, eax
mov r13d, r10d
lea rax, [rdx + rcx*2]
mov qword [r15 + 8], rax
lea rax, [rax + rbp*2]
mov rbp, qword [rsp + 0x118]
mov qword [r15 + 0x38], rax
lea rax, str.auto_index
mov qword [r14 + 0x20], r15
mov qword [r15], rax
mov qword [r15 + 0x18], r11
mov rdi, qword [rbp + 0x20]
cmp rdi, qword [rsp + 0x70]
jae 0x14016b277
mov r8, qword [rsp + 0x120]
mov ebp, r10d
mov r14d, r10d
mov esi, r10d
nop word [rax + rax]
mov eax, dword [r8 + 0x44]
cmp dword [rdi + 0x1c], eax
jne 0x14016b251
movzx ecx, word [rdi + 0x14]
test cl, 0x82
je 0x14016b251
test byte [r8 + 0x3c], 8
je 0x14016b122
mov rax, qword [rdi]
test byte [rax + 4], 1
jne 0x14016b122
test cl, cl
js 0x14016b251
mov rax, qword [rsp + 0x128]
test qword [rdi + 0x30], rax
jne 0x14016b251
movsxd rax, dword [rdi + 0x28]
test eax, eax
js 0x14016b251
mov rdx, rax
mov rax, qword [r8 + 0x20]
shl rdx, 5
mov rcx, qword [rax + 8]
movzx ebx, byte [rdx + rcx + 0x19]
mov rcx, qword [rdi]
call fcn.14016a3d0
cmp al, 0x42
jl 0x14016b184
jne 0x14016b170
xor r10d, r10d
cmp bl, 0x42
mov eax, r10d
sete al
jmp 0x14016b17c
xor r10d, r10d
cmp bl, 0x43
mov eax, r10d
setge al
test eax, eax
je 0x14016b236
mov ecx, dword [rdi + 0x28]
cmp ecx, 0x40
jl 0x14016b198
movabs rax, 0x8000000000000000
jmp 0x14016b1a0
mov eax, 1
shl rax, cl
test rsi, rax
jne 0x14016b23f
mov rdx, qword [rdi]
or rsi, rax
mov rcx, qword [r15 + 8]
movzx eax, word [rdi + 0x28]
mov word [r14 + rcx], ax
test dword [rdx + 4], 0x200
je 0x14016b1cf
mov rbx, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x18]
jmp 0x14016b1d7
mov rbx, qword [rdx + 0x18]
mov rdx, qword [rdx + 0x10]
test dword [rdx + 4], 0x100
jne 0x14016b1fe
test rbx, rbx
je 0x14016b1ee
test dword [rbx + 4], 0x100
jne 0x14016b1fb
mov rcx, r12
call fcn.14019ffd0
test rax, rax
jne 0x14016b20b
mov rdx, rbx
mov rcx, r12
call fcn.14019ffd0
test rax, rax
je 0x14016b217
mov rcx, qword [rax]
lea rbx, [0x1402f5d08]
jmp 0x14016b221
lea rbx, [0x1402f5d08]
mov rcx, rbx
mov rax, qword [r15 + 0x40]
inc r13d
add r14, 2
mov qword [rax + rbp], rcx
add rbp, 8
jmp 0x14016b246
lea rbx, [0x1402f5d08]
jmp 0x14016b249
lea rbx, [0x1402f5d08]
xor r10d, r10d
mov r8, qword [rsp + 0x120]
add rdi, 0x40
cmp rdi, qword [rsp + 0x70]
jb 0x14016b0f0
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x40]
mov r11, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x118]
mov r9d, dword [rsp + 0x4c]
mov ecx, r10d
test r9d, r9d
jle 0x14016b2ce
mov r10, qword [rsp + 0x80]
movsxd rax, r13d
lea rdx, [rax*8]
lea r8, [rax + rax]
nop dword [rax + rax]
mov eax, ecx
bt r10, rax
jae 0x14016b2c4
mov rax, qword [r15 + 8]
inc r13d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r15 + 0x40]
mov qword [rdx + rax], rbx
add rdx, 8
inc ecx
cmp ecx, r9d
jl 0x14016b2a0
xor r10d, r10d
mov rax, qword [rsp + 0x120]
cmp qword [rax + 0x58], 0
jge 0x14016b32b
mov r8d, 0x3f
cmp r8w, word [r11 + 0x46]
jge 0x14016b32b
movsxd rax, r13d
lea rcx, [rax*8]
lea rdx, [rax + rax]
nop dword [rax]
mov rax, qword [r15 + 8]
lea rdx, [rdx + 2]
inc r13d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r8w
inc r8d
mov rax, qword [r15 + 0x40]
mov qword [rcx + rax - 8], rbx
movsx eax, word [r11 + 0x46]
cmp r8d, eax
jl 0x14016b300
mov rax, qword [r15 + 8]
or edx, 0xffffffff
mov rdi, qword [rsp + 0x130]
movsxd rcx, r13d
mov word [rax + rcx*2], dx
mov rax, qword [r15 + 0x40]
mov edx, dword [rsp + 0x110]
mov qword [rax + rcx*8], rbx
mov eax, dword [r12 + 0x34]
mov dword [rdi + 8], eax
inc dword [r12 + 0x34]
movsxd rcx, dword [rsi + 0x90]
inc edx
mov r8d, dword [rdi + 8]
cmp dword [rsi + 0x94], ecx
jg 0x14016b389
mov r9d, edx
mov dword [rsp + 0x20], r10d
mov edx, 0x63
mov rcx, rsi
call fcn.140178b80
jmp 0x14016b3b7
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x63
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov rbx, qword [r12 + 0x10]
mov rdx, r15
mov rcx, r12
call fcn.1401ac180
mov rdx, rax
test rax, rax
je 0x14016b406
mov rcx, qword [rbx]
cmp byte [rcx + 0x61], 0
je 0x14016b3e7
mov r8, rax
mov edx, 0xfffffff7
call fcn.140175770
jmp 0x14016b406
mov eax, dword [rbx + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov byte [rax + rcx*8 + 1], 0xf7
mov qword [rax + rcx*8 + 0x10], rdx
movzx eax, byte [rdi + 0x34]
imul rdx, rax, 0x70
mov rax, qword [rbp]
mov rbp, qword [rax + 8]
add rbp, rdx
test byte [rbp + 0x48], 0x10
je 0x14016b54b
movsxd r8, dword [rsi + 0x90]
mov edi, dword [rbp + 0x3c]
mov dword [rsp + 0x48], r8d
cmp dword [rsi + 0x94], r8d
jg 0x14016b45b
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x45]
call fcn.140178b80
mov dword [rsp + 0x48], eax
xor r8d, r8d
jmp 0x14016b485
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
xor r8d, r8d
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0x45
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [rbp + 0x38]
cmp dword [rsi + 0x94], ecx
jg 0x14016b4b2
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edi
mov rcx, rsi
lea edx, [r9 + 0xd]
call fcn.140178b80
xor r8d, r8d
jmp 0x14016b4df
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], reloc.WS2_32.dll_listen
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
movsxd rbx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ebx
jg 0x14016b514
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, edi
mov rcx, rsi
lea edx, [r9 + 0xe]
call fcn.140178b80
mov rdi, qword [rsp + 0x130]
mov ebx, eax
jmp 0x14016b5a4
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edi
mov rdi, qword [rsp + 0x130]
mov dword [rax + rcx*8], sendto
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x14016b5a4
movsxd rbx, dword [rsi + 0x90]
mov edx, dword [rdi + 4]
cmp dword [rsi + 0x94], ebx
jg 0x14016b578
xor eax, eax
mov r8d, edx
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x25]
call fcn.140178b80
mov ebx, eax
jmp 0x14016b5a4
lea rcx, [rbx + rbx*2]
xor r8d, r8d
lea eax, [rbx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x25
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsp + 0x58]
mov ecx, reloc.WS2_32.dll_recv
test rax, rax
je 0x14016b5d8
dec dword [r12 + 0x44]
mov r9d, ecx
mov r8d, dword [r12 + 0x44]
mov rcx, r12
mov rdx, rax
mov dword [rsp + 0x50], r8d
call fcn.1401a0920
or dword [r14 + 0x28], 0x20000
movzx eax, byte [r12 + 0x1f]
test al, al
jne 0x14016b5ee
inc dword [r12 + 0x38]
mov r14d, dword [r12 + 0x38]
jmp 0x14016b600
dec al
movzx eax, al
mov byte [r12 + 0x1f], al
mov r14d, dword [r12 + rax*4 + 0xcc]
mov r8d, dword [rdi + 4]
xor eax, eax
mov dword [rsp + 0x38], eax
mov r9d, r14d
mov qword [rsp + 0x30], rax
mov rdx, r15
mov qword [rsp + 0x28], rax
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.1401a7900
movsxd rcx, dword [rsi + 0x90]
mov r15d, eax
mov edx, dword [rdi + 8]
cmp dword [rsi + 0x94], ecx
jg 0x14016b656
xor eax, eax
mov r8d, edx
mov edx, 0x83
mov dword [rsp + 0x20], eax
mov r9d, r14d
mov rcx, rsi
call fcn.140178b80
jmp 0x14016b687
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x83
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov eax, dword [rsi + 0x90]
test eax, eax
jle 0x14016b6ab
dec eax
movsxd rcx, eax
mov rax, qword [rsi + 0x88]
lea rdx, [rcx + rcx*2]
mov ecx, reloc.WS2_32.dll_recv
mov word [rax + rdx*8 + 2], cx
cmp qword [rsp + 0x58], 0
je 0x14016b6e2
mov rcx, qword [rsi + 0x18]
mov edx, dword [rsp + 0x50]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14016b6d2
mov r8d, edx
mov rdx, rsi
call fcn.140188080
jmp 0x14016b6e2
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
test byte [rbp + 0x48], 0x10
lea rdi, [0x1403f00c8]
je 0x14016b83e
mov ecx, dword [rsp + 0x48]
test ecx, ecx
jns 0x14016b703
mov ecx, dword [rsi + 0x90]
dec ecx
mov rax, qword [rsi]
cmp byte [rax + 0x61], 0
je 0x14016b711
mov rcx, rdi
jmp 0x14016b723
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rcx, [rax + rcx*8]
mov r8, qword [rsp + 0x130]
lea eax, [r15 + r13]
mov dword [rcx + 8], eax
mov ecx, ebx
mov r11d, dword [rbp + 0x40]
mov rdx, qword [r12 + 0x10]
mov r9d, dword [r8 + 8]
mov r10d, dword [r8 + 4]
test ebx, ebx
jns 0x14016b751
mov ecx, dword [rdx + 0x90]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x61], 0
je 0x14016b75f
mov r8, rdi
jmp 0x14016b771
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea r8, [rax + rcx*8]
mov rax, qword [r12]
mov ecx, dword [rdx + 0x90]
cmp byte [rax + 0x61], 0
jne 0x14016b7db
cmp ebx, ecx
jge 0x14016b7db
sub ecx, ebx
lea rdx, [r8 + 4]
mov r8d, ecx
xor esi, esi
cmp dword [rdx], r10d
jne 0x14016b7cc
movzx eax, byte [rdx - 4]
cmp al, 0x59
jne 0x14016b7b1
mov ecx, dword [rdx + 4]
mov eax, dword [rdx + 8]
add ecx, r11d
mov dword [rdx], ecx
mov byte [rdx - 4], 0x4d
mov dword [rdx + 4], eax
jmp 0x14016b7c9
cmp al, 0x7f
jne 0x14016b7cc
test r9d, r9d
je 0x14016b7c3
mov byte [rdx - 4], 0x77
mov dword [rdx], r9d
jmp 0x14016b7cc
mov byte [rdx - 4], 0x48
mov dword [rdx], esi
mov dword [rdx + 8], esi
add rdx, 0x18
sub r8, 1
jne 0x14016b790
mov rsi, qword [rsp + 0x78]
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14016b80a
xor eax, eax
mov r9d, ebx
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0xb]
call fcn.140178b80
and dword [rbp + 0x48], 0xffffffef
jmp 0x14016b8c7
lea eax, [rcx + 1]
xor edx, edx
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], recv
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
and dword [rbp + 0x48], 0xffffffef
jmp 0x14016b8c7
mov r8, qword [rsp + 0x130]
lea edx, [rbx + 1]
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [r8 + 4]
cmp dword [rsi + 0x94], ecx
jg 0x14016b872
xor eax, eax
mov r9d, edx
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [rax + 5]
call fcn.140178b80
jmp 0x14016b8a3
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 5
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov eax, dword [rsi + 0x90]
test eax, eax
jle 0x14016b8c7
dec eax
movsxd rcx, eax
mov rax, qword [rsi + 0x88]
lea rdx, [rcx + rcx*2]
mov ecx, 3
mov word [rax + rdx*8 + 2], cx
mov edx, dword [rsi + 0x90]
test ebx, ebx
jns 0x14016b8d4
lea ebx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x61], 0
je 0x14016b8e2
mov rax, rdi
jmp 0x14016b8f4
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test r14d, r14d
je 0x14016b916
movzx eax, byte [r12 + 0x1f]
cmp al, 8
jae 0x14016b916
movzx eax, al
mov dword [r12 + rax*4 + 0xcc], r14d
inc byte [r12 + 0x1f]
mov ecx, dword [rsp + 0x54]
mov edx, dword [rsi + 0x90]
test ecx, ecx
jns 0x14016b927
lea ecx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x61], 0
jne 0x14016b942
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rdi, [rax + rcx*8]
mov dword [rdi + 8], edx
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x14016b95b
mov rcx, qword [r12]
mov rdx, rax
call fcn.1401a0530
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret