Function at 0x180098cf0
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, 0xd8
mov rdi, qword [rcx + 0x10]
xor r14d, r14d
mov r15, r8
mov rbp, rdx
mov rsi, rcx
xor r13b, r13b
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x64], r14d
mov dword [rsp + 0x50], r14d
call fcn.180053430
mov rbx, qword [rbp + 0x20]
mov r8, qword [rsp + 0x140]
mov rcx, qword [r15 + 0x20]
mov dword [rsp + 0x78], eax
movsxd rax, dword [rbp + 0x14]
mov rdx, qword [r8 + 0x48]
mov r12d, r14d
mov dword [rsp + 0x120], r14d
mov qword [rsp + 0x68], rcx
movabs r10, 0x8000000000000000
imul rax, rax, 0x38
add rax, rbx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x70], rax
cmp rbx, rax
jae 0x180098f92
lea rcx, [0x180052ff0]
lea r8, [0x180053060]
nop
cmp qword [rdx], 0
mov rbp, qword [rbx]
jne 0x180098e5b
test byte [rbx + 0x1c], 2
jne 0x180098e5b
test byte [rbp + 4], 1
jne 0x180098e5b
xor eax, eax
mov rdx, rbp
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xb0], rax
mov eax, dword [r15 + 0x48]
mov qword [rsp + 0xa0], rcx
lea rcx, [rsp + 0x98]
mov byte [rsp + 0xbc], 3
mov qword [rsp + 0xa8], r8
mov dword [rsp + 0xc0], eax
call fcn.18004e050
cmp byte [rsp + 0xbc], 0
je 0x180098e56
mov rcx, qword [rsi]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbp
call fcn.180052130
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsi]
mov r8, rax
call fcn.180051a50
mov qword [rsp + 0x58], rax
mov rdx, qword [rsp + 0x48]
mov eax, dword [r15 + 0x48]
cmp dword [rbx + 0xc], eax
jne 0x180098f66
test byte [rbx + 0x1a], 0x82
je 0x180098f66
mov rax, qword [rsp + 0x138]
test qword [rbx + 0x28], rax
jne 0x180098f66
movsxd rax, dword [rbx + 0x10]
test eax, eax
js 0x180098f66
mov rdx, rax
mov rax, qword [r15 + 0x20]
mov rcx, qword [rax + 8]
shl rdx, 5
movzx ebp, byte [rdx + rcx + 0x19]
mov rcx, qword [rbx]
call fcn.180050fb0
movsx ecx, al
sub ecx, 0x41
je 0x180098ed2
xor eax, eax
dec ecx
je 0x180098ec3
cmp bpl, 0x43
setge al
jmp 0x180098eca
cmp bpl, 0x42
sete al
test eax, eax
je 0x180098f61
movsxd rcx, dword [rbx + 0x10]
cmp ecx, 0x40
jl 0x180098ee7
movabs rbp, 0x8000000000000000
jmp 0x180098eef
mov ebp, 1
shl rbp, cl
test r13b, r13b
jne 0x180098f1f
mov rax, rcx
mov rcx, qword [rsp + 0x68]
lea rdx, str.automatic_index_on__s__s_
mov r9, qword [rcx + 8]
mov r8, qword [rcx]
shl rax, 5
mov r9, qword [rax + r9]
mov ecx, 0x11c
call fcn.180019770
mov r13b, 1
mov rdx, qword [rsp + 0x48]
test r14, rbp
jne 0x180098f66
mov rcx, qword [rsi]
inc r12d
mov r8d, r12d
call fcn.18009a040
test eax, eax
jne 0x180099a8d
movsxd rcx, dword [rsp + 0x120]
mov rdx, qword [rsp + 0x48]
or r14, rbp
mov rax, qword [rdx + 0x38]
mov dword [rsp + 0x120], r12d
mov qword [rax + rcx*8], rbx
jmp 0x180098f66
mov rdx, qword [rsp + 0x48]
add rbx, 0x38
lea rcx, [0x180052ff0]
lea r8, [0x180053060]
cmp rbx, qword [rsp + 0x70]
jb 0x180098da0
mov rcx, qword [rsp + 0x68]
movabs r10, 0x8000000000000000
mov word [rdx + 0x2c], r12w
mov word [rdx + 0x18], r12w
mov dword [rdx + 0x28], 0x4241
mov r8, qword [r15 + 0x60]
movzx edx, word [rcx + 0x3e]
not r14
or r14, r10
mov r15d, 0x3f
and r14, r8
mov r9d, r15d
mov qword [rsp + 0x88], r14
cmp r15w, dx
jl 0x180098fcf
movsx r9d, dx
xor ecx, ecx
mov dword [rsp + 0x60], r9d
test r9d, r9d
jle 0x180098ffa
nop dword [rax + rax]
mov eax, ecx
bt r14, rax
jae 0x180098feb
inc r12d
inc ecx
cmp ecx, r9d
jl 0x180098fe0
mov dword [rsp + 0x120], r12d
test r10, r8
je 0x18009900f
movsx eax, dx
lea r12d, [r12 + rax - 0x3f]
mov dword [rsp + 0x120], r12d
mov r8, qword [rsi]
lea ebp, [r12 + 1]
movsx r12, bp
movsx r13d, bp
lea eax, [r13 + r12]
lea ecx, [r12 + rax*2 + 9]
lea eax, [r12*8 + 7]
and eax, 0xfffffff8
and ecx, 0xfffffff8
lea eax, [rcx + rax + 0x68]
movsxd rbx, eax
test r8, r8
je 0x1800990e6
cmp dword [r8 + 0x150], 0
jne 0x1800990cf
movzx eax, word [r8 + 0x154]
cmp rbx, rax
jbe 0x180099078
inc dword [r8 + 0x164]
mov rdx, rbx
mov rcx, r8
call fcn.1800174d0
mov r14, rax
jmp 0x180099143
mov r14, qword [r8 + 0x170]
test r14, r14
jne 0x18009909e
inc dword [r8 + 0x168]
mov rdx, rbx
mov rcx, r8
call fcn.1800174d0
mov r14, rax
jmp 0x180099143
mov rax, qword [r14]
inc dword [r8 + 0x158]
inc dword [r8 + 0x160]
mov qword [r8 + 0x170], rax
mov eax, dword [r8 + 0x158]
cmp eax, dword [r8 + 0x15c]
jle 0x180099143
mov dword [r8 + 0x15c], eax
jmp 0x180099143
cmp byte [r8 + 0x55], 0
jne 0x180099140
mov rdx, rbx
mov rcx, r8
call fcn.1800174d0
mov r14, rax
jmp 0x180099143
test eax, eax
je 0x180099140
cmp rbx, 0x7fffff00
jae 0x180099140
cmp dword [0x1802e7f80], 0
je 0x180099133
mov rcx, qword [0x1802f0c18]
test rcx, rcx
je 0x18009910e
call qword [0x1802e8008]
lea rdx, [rsp + 0x40]
mov ecx, ebx
call fcn.180016ce0
mov rcx, qword [0x1802f0c18]
test rcx, rcx
je 0x18009912c
call qword [0x1802e8018]
mov r14, qword [rsp + 0x40]
jmp 0x180099143
mov ecx, ebx
call qword [0x1802e7fa8]
mov r14, rax
jmp 0x180099143
xor r14d, r14d
test r14, r14
je 0x180099a8d
mov r8, rbx
xor edx, edx
mov rcx, r14
call fcn.1800b45b0
mov word [r14 + 0x60], bp
lea rax, [r12*8 + 7]
and rax, 0xfffffffffffffff8
dec bp
lea r11, [r14 + 0x68]
mov qword [r14 + 0x40], r11
add r11, rax
lea eax, [r13 + 1]
movsxd rcx, eax
mov word [r14 + 0x5e], bp
mov rbp, qword [rsp + 0x128]
lea rax, [r11 + rcx*2]
mov qword [r14 + 0x10], r11
mov r11, qword [rsp + 0x68]
mov qword [r14 + 8], rax
lea rax, [rax + r12*2]
xor r12d, r12d
mov qword [r14 + 0x38], rax
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x40], r12d
mov qword [rax + 0x20], r14
lea rax, str.auto_index
mov qword [r14 + 0x18], r11
mov qword [r14], rax
mov rbx, qword [rbp + 0x20]
lea r13, [0x1802b5488]
cmp rbx, qword [rsp + 0x70]
jae 0x180099332
mov r15, qword [rsp + 0x130]
xor r13d, r13d
mov qword [rsp + 0x40], r12
mov edi, r12d
nop dword [rax]
mov eax, dword [r15 + 0x48]
cmp dword [rbx + 0xc], eax
jne 0x1800992fc
test byte [rbx + 0x1a], 0x82
je 0x1800992fc
mov rax, qword [rsp + 0x138]
test qword [rbx + 0x28], rax
jne 0x1800992fc
movsxd rax, dword [rbx + 0x10]
test eax, eax
js 0x1800992fc
mov rdx, rax
mov rax, qword [r15 + 0x20]
mov rcx, qword [rax + 8]
shl rdx, 5
movzx ebp, byte [rdx + rcx + 0x19]
mov rcx, qword [rbx]
call fcn.180050fb0
movsx ecx, al
sub ecx, 0x41
je 0x180099267
xor eax, eax
dec ecx
je 0x180099258
cmp bpl, 0x43
setge al
jmp 0x18009925f
cmp bpl, 0x42
sete al
test eax, eax
je 0x1800992fc
mov ecx, dword [rbx + 0x10]
cmp ecx, 0x40
jl 0x18009927b
movabs rax, 0x8000000000000000
jmp 0x180099283
mov eax, 1
shl rax, cl
test rdi, rax
jne 0x1800992fc
mov rdx, qword [rbx]
mov rcx, qword [r14 + 8]
mov r8, qword [rsp + 0x40]
or rdi, rax
movzx eax, word [rbx + 0x10]
mov word [r8 + rcx], ax
mov rbp, qword [rdx + 0x18]
mov rdx, qword [rdx + 0x10]
test dword [rdx + 4], 0x100
jne 0x1800992cf
test rbp, rbp
je 0x1800992bf
test dword [rbp + 4], 0x100
jne 0x1800992cc
mov rcx, rsi
call fcn.180050de0
test rax, rax
jne 0x1800992e3
mov rdx, rbp
mov rcx, rsi
call fcn.180050de0
lea rcx, [0x1802b5488]
test rax, rax
je 0x1800992e6
mov rcx, qword [rax]
mov rax, qword [r14 + 0x40]
add qword [rsp + 0x40], 2
inc r12d
mov qword [r13 + rax], rcx
add r13, 8
add rbx, 0x38
cmp rbx, qword [rsp + 0x70]
jb 0x1800991f0
mov rdi, qword [rsp + 0x80]
mov r11, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x128]
mov dword [rsp + 0x40], r12d
mov r15d, 0x3f
lea r13, [0x1802b5488]
mov r9d, dword [rsp + 0x60]
xor ecx, ecx
movsxd r8, r12d
test r9d, r9d
jle 0x180099386
mov r10, qword [rsp + 0x88]
lea rdx, [r8*8]
add r8, r8
mov eax, ecx
bt r10, rax
jae 0x18009937a
mov rax, qword [r14 + 8]
inc r12d
add r8, 2
mov word [r8 + rax - 2], cx
mov rax, qword [r14 + 0x40]
add rdx, 8
mov qword [rdx + rax - 8], r13
inc ecx
cmp ecx, r9d
jl 0x180099354
mov dword [rsp + 0x40], r12d
mov rax, qword [rsp + 0x130]
movabs rcx, 0x8000000000000000
test qword [rax + 0x60], rcx
je 0x1800993e2
movsxd rdx, r12d
cmp r15w, word [r11 + 0x3e]
jge 0x1800993e2
lea rcx, [rdx*8]
add rdx, rdx
mov rax, qword [r14 + 8]
inc r12d
add rdx, 2
mov word [rdx + rax - 2], r15w
mov rax, qword [r14 + 0x40]
inc r15d
mov qword [rcx + rax], r13
movsx eax, word [r11 + 0x3e]
add rcx, 8
cmp r15d, eax
jl 0x1800993b3
mov dword [rsp + 0x40], r12d
mov rax, qword [r14 + 8]
movsxd rcx, r12d
mov r12, qword [rsp + 0x140]
or edx, 0xffffffff
mov word [rax + rcx*2], dx
mov rax, qword [r14 + 0x40]
mov edx, dword [rsp + 0x120]
mov qword [rax + rcx*8], r13
mov eax, dword [rsi + 0x54]
mov dword [r12 + 8], eax
inc dword [rsi + 0x54]
mov rax, qword [rdi + 0x30]
movsxd rcx, dword [rdi + 0x3c]
mov r8d, dword [r12 + 8]
inc edx
cmp dword [rax + 0x64], ecx
jg 0x180099440
mov r9d, edx
mov rcx, rdi
mov edx, reloc.WS2_32.dll_getservbyport
mov dword [rsp + 0x20], 0
call fcn.18003a660
jmp 0x180099473
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rdi + 0x3c], eax
mov rax, qword [rdi + 8]
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], 0
mov qword [rax + rcx*8 + 0x10], 0
mov word [rax + rcx*8], reloc.WS2_32.dll_getservbyport
mov rbx, qword [rsi + 0x10]
mov rdx, r14
mov rcx, rsi
call fcn.180065cf0
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], 0
mov r11, rax
je 0x18009949d
mov r8, rax
mov edx, 0xfffffffa
call fcn.18003b100
jmp 0x1800994db
mov eax, dword [rbx + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
mov rax, qword [rbx + 8]
cmp byte [rax + rdx*8 + 1], 0
lea r10, [rax + rdx*8]
je 0x1800994cd
mov r9d, 0xfffffffa
mov r8, r11
mov rdx, r10
mov rcx, rbx
call fcn.18003b3c0
jmp 0x1800994db
test r11, r11
je 0x1800994db
mov qword [r10 + 0x10], r11
mov byte [r10 + 1], 0xfa
inc dword [rsi + 0x78]
mov rax, qword [rbp]
movzx r13d, byte [r12 + 0x2c]
imul r13, r13, 0x78
mov r15, qword [rax + 8]
mov rax, qword [rdi + 0x30]
test byte [r13 + r15 + 0x48], 0x10
je 0x18009960b
movsxd r8, dword [rdi + 0x3c]
mov ebp, dword [r13 + r15 + 0x3c]
mov dword [rsp + 0x50], r8d
cmp dword [rax + 0x64], r8d
jg 0x180099537
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0x16]
mov dword [rsp + 0x20], 0
call fcn.18003a660
xor r8d, r8d
mov dword [rsp + 0x50], eax
jmp 0x180099563
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
xor r8d, r8d
mov dword [rdi + 0x3c], eax
mov rax, qword [rdi + 8]
mov byte [rax + rcx*8 + 3], 0
mov qword [rax + rcx*8 + 4], r8
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov word [rax + rcx*8], reloc.WS2_32.dll_shutdown
mov rax, qword [rdi + 0x30]
movsxd rcx, dword [rdi + 0x3c]
mov edx, dword [r13 + r15 + 0x38]
cmp dword [rax + 0x64], ecx
jg 0x180099590
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebp
lea edx, [r9 + 0x10]
mov rcx, rdi
call fcn.18003a660
xor r8d, r8d
jmp 0x1800995bb
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rdi + 0x3c], eax
mov rax, qword [rdi + 8]
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
mov word [rax + rcx*8], reloc.WS2_32.dll_recv
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rdi + 0x3c]
cmp dword [rax + 0x64], ebx
jg 0x1800995e3
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov rcx, rdi
lea edx, [r9 + 0x12]
mov r8d, ebp
call fcn.18003a660
mov ebx, eax
jmp 0x180099660
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rdi + 0x3c], eax
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 4], ebp
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
mov word [rax + rcx*8], reloc.WS2_32.dll_select
jmp 0x18009965b
movsxd rbx, dword [rdi + 0x3c]
mov edx, dword [r12 + 4]
cmp dword [rax + 0x64], ebx
jg 0x180099637
xor r9d, r9d
mov r8d, edx
mov rcx, rdi
lea edx, [r9 + 0x6c]
mov dword [rsp + 0x20], 0
call fcn.18003a660
mov ebx, eax
jmp 0x180099660
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rdi + 0x3c], eax
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov word [rax + rcx*8], WSASetLastError
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 3], 0
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x1800996f7
mov r12, qword [rdi + 0x30]
movsxd rbp, dword [r12 + 0x80]
lea eax, [rbp + 1]
mov dword [r12 + 0x80], eax
lea eax, [rbp - 1]
test ebp, eax
jne 0x1800996b5
mov rdx, qword [r12 + 0x88]
mov rcx, qword [r12]
lea eax, [rbp + rbp + 1]
movsxd r8, eax
shl r8, 2
call fcn.180017710
mov rdx, qword [rsp + 0x58]
mov qword [r12 + 0x88], rax
mov rcx, qword [r12 + 0x88]
test rcx, rcx
je 0x1800996c9
mov dword [rcx + rbp*4], 0xffffffff
or eax, 0xffffffff
mov r9d, reloc.WS2_32.dll_recv
mov rcx, rsi
sub eax, ebp
mov r8d, eax
mov dword [rsp + 0x64], eax
call fcn.180057850
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x140]
or dword [rax + 0x28], 0x20000
movzx eax, byte [rsi + 0x1f]
test al, al
jne 0x180099707
inc dword [rsi + 0x58]
mov ebp, dword [rsi + 0x58]
jmp 0x180099713
dec al
movzx eax, al
mov byte [rsi + 0x1f], al
mov ebp, dword [rsi + rax*4 + 0x28]
mov r8d, dword [r12 + 4]
xor eax, eax
mov r9d, ebp
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov rdx, r14
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.180069ab0
mov rcx, qword [rdi + 0x30]
movsxd rdx, dword [rdi + 0x3c]
mov r8d, dword [r12 + 8]
mov r14d, eax
cmp dword [rcx + 0x64], edx
jg 0x18009976c
mov r9d, ebp
mov edx, WSASetLastError
mov rcx, rdi
mov dword [rsp + 0x20], 0
call fcn.18003a660
xor r11d, r11d
jmp 0x18009979b
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor r11d, r11d
mov dword [rdi + 0x3c], eax
mov rax, qword [rdi + 8]
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov word [rax + rcx*8], WSASetLastError
mov rax, qword [rdi]
cmp byte [rax + 0x55], 0
jne 0x1800997b5
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov byte [rax + rcx*8 - 0x15], 0x10
cmp qword [rsp + 0x58], 0
je 0x1800997ea
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdx + 0x88]
test rcx, rcx
je 0x1800997e2
movsxd rax, dword [rsp + 0x64]
lea rax, [rax*4 + 4]
sub rcx, rax
mov eax, dword [rdi + 0x3c]
mov dword [rcx], eax
mov eax, dword [rdi + 0x3c]
dec eax
mov dword [rdx + 0x6c], eax
test byte [r13 + r15 + 0x48], 0x10
lea r12, [0x1802f0540]
je 0x180099926
mov ecx, dword [rsp + 0x50]
test ecx, ecx
jns 0x18009980a
mov ecx, dword [rdi + 0x3c]
dec ecx
mov rax, qword [rdi]
cmp byte [rax + 0x55], 0
je 0x180099818
mov rcx, r12
jmp 0x180099827
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea rcx, [rax + rcx*8]
mov eax, dword [rsp + 0x40]
mov r8, qword [rsp + 0x140]
add eax, r14d
mov dword [rcx + 8], eax
mov r10d, dword [r13 + r15 + 0x40]
mov r9d, dword [r8 + 4]
mov ecx, ebx
test ebx, ebx
jns 0x18009984d
mov ecx, dword [rdi + 0x3c]
dec ecx
mov rax, qword [rdi]
cmp byte [rax + 0x55], 0
je 0x18009985b
mov rdx, r12
jmp 0x18009986a
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea rdx, [rax + rcx*8]
mov eax, dword [rdi + 0x3c]
cmp ebx, eax
jge 0x1800998c3
add rdx, 4
sub eax, ebx
mov r8d, eax
nop word [rax + rax]
cmp dword [rdx], r9d
jne 0x1800998ba
movzx eax, byte [rdx - 4]
cmp al, 0x2f
jne 0x1800998a6
mov eax, dword [rdx + 4]
mov byte [rdx - 4], 0x1e
lea ecx, [r10 + rax]
mov eax, dword [rdx + 8]
mov dword [rdx + 8], r11d
mov dword [rdx + 4], eax
mov dword [rdx], ecx
jmp 0x1800998ba
cmp al, 0x67
jne 0x1800998ba
mov eax, dword [rdx + 4]
mov byte [rdx - 4], 0x25
mov dword [rdx + 4], 1
mov dword [rdx], eax
add rdx, 0x18
dec r8
jne 0x180099880
mov rax, qword [rdi + 0x30]
movsxd rcx, dword [rdi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x1800998f2
xor r8d, r8d
mov r9d, ebx
mov rcx, rdi
lea edx, [r8 + 0xd]
mov dword [rsp + 0x20], r11d
call fcn.18003a660
and dword [r13 + r15 + 0x48], 0xffffffef
jmp 0x180099985
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rdi + 0x3c], eax
mov rax, qword [rdi + 8]
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r11d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov word [rax + rcx*8], select
and dword [r13 + r15 + 0x48], 0xffffffef
jmp 0x180099985
mov rax, qword [rdi + 0x30]
mov r8, qword [rsp + 0x140]
movsxd rcx, dword [rdi + 0x3c]
mov r8d, dword [r8 + 4]
lea edx, [rbx + 1]
cmp dword [rax + 0x64], ecx
jg 0x180099959
mov r9d, edx
mov rcx, rdi
mov edx, 7
mov dword [rsp + 0x20], r11d
call fcn.18003a660
jmp 0x180099985
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rdi + 0x3c], eax
mov rax, qword [rdi + 8]
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov word [rax + rcx*8], 7
mov rax, qword [rdi]
cmp byte [rax + 0x55], 0
jne 0x18009999f
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov byte [rax + rcx*8 - 0x15], 3
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
dec ecx
mov dword [rax + 0x6c], ecx
mov edx, dword [rdi + 0x3c]
test ebx, ebx
jns 0x1800999b5
lea ebx, [rdx - 1]
mov rax, qword [rdi]
cmp byte [rax + 0x55], 0
je 0x1800999c3
mov rax, r12
jmp 0x1800999d2
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea rax, [rax + rcx*8]
xor r9d, r9d
mov dword [rax + 8], edx
test ebp, ebp
je 0x180099a10
movzx edx, byte [rsi + 0x1f]
cmp dl, 8
jae 0x180099a10
mov ecx, r9d
lea rax, [rsi + 0x90]
nop
cmp dword [rax + 0xc], ebp
je 0x180099a0c
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1800999f0
movzx eax, dl
mov dword [rsi + rax*4 + 0x28], ebp
inc byte [rsi + 0x1f]
jmp 0x180099a10
mov byte [rax + 6], 1
dec dword [rsi + 0x78]
lea rcx, [rsi + 0x9c]
mov r8d, 0xa
mov edx, dword [rcx]
test edx, edx
je 0x180099a4d
mov eax, dword [rsi + 0x78]
cmp dword [rcx - 4], eax
jle 0x180099a4d
cmp byte [rcx - 6], 0
je 0x180099a4a
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x180099a46
movzx eax, al
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r9d
add rcx, 0x14
dec r8
jne 0x180099a20
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
dec ecx
mov dword [rax + 0x6c], ecx
mov ecx, dword [rsp + 0x78]
mov edx, dword [rdi + 0x3c]
test ecx, ecx
jns 0x180099a70
lea ecx, [rdx - 1]
mov rax, qword [rdi]
cmp byte [rax + 0x55], 0
jne 0x180099a88
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea r12, [rax + rcx*8]
mov dword [r12 + 8], edx
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsi]
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
jmp fcn.180051f60