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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push r12
push r14
push r15
sub rsp, 0xc8
mov rbx, qword [rcx + 0x10]
mov r14, rcx
mov rbp, qword [rcx]
xorps xmm0, xmm0
xor ecx, ecx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rbp
mov r15, r9
mov qword [rax - 0x58], rcx
mov rsi, r8
mov r12, rdx
movdqu xmmword [rax - 0x48], xmm0
test r9, r9
je 0x1800d8dcb
cmp dword [r9], 0x40
cmovge r15, rcx
mov qword [rax + 0x20], r15
mov eax, dword [rdx]
cmp eax, 0x40
jle 0x1800d8dfa
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, r14
call fcn.18002e270
xor eax, eax
add rsp, 0xc8
pop r15
pop r14
pop r12
pop rsi
pop rbp
pop rbx
ret
movzx ecx, word [rsp + 0x130]
test cl, 0x20
mov word [rsp + 0x30], cx
mov ecx, 1
mov qword [rsp + 0x110], rdi
cmovne eax, ecx
mov qword [rsp + 0xc0], r13
mov dword [rsp + 0x34], eax
mov rcx, rbp
imul eax, eax, 0x70
add eax, 0x360
movsxd rdi, eax
lea rdx, [rdi + 0x70]
call fcn.18002a8b0
cmp byte [rbp + 0x67], 0
mov r13, rax
je 0x1800d8ebf
test rax, rax
je 0x1800d9ef1
cmp rax, qword [rbp + 0x1f0]
jae 0x1800d8e98
cmp rax, qword [rbp + 0x1e0]
jb 0x1800d8e78
mov rax, qword [rbp + 0x1d8]
mov qword [r13], rax
mov qword [rbp + 0x1d8], r13
jmp 0x1800d9ef1
cmp r13, qword [rbp + 0x1e8]
jb 0x1800d8e98
mov rax, qword [rbp + 0x1c8]
mov qword [r13], rax
mov qword [rbp + 0x1c8], r13
jmp 0x1800d9ef1
cmp qword [rbp + 0x308], 0
je 0x1800d8eb2
mov rdx, r13
mov rcx, rbp
call fcn.18002a490
jmp 0x1800d9ef1
mov rcx, r13
call fcn.18002a420
jmp 0x1800d9ef1
movsxd rdx, dword [rsp + 0x34]
lea rcx, [r13 + 0x360]
mov rbp, qword [rsp + 0x128]
xorps xmm0, xmm0
mov qword [rax + 8], r12
mov r12, qword [rsp + 0x120]
mov qword [rax + 0x18], r12
mov qword [rax], r14
mov qword [rax + 0x10], r15
mov rax, 0xffffffffffffffff
mov qword [r13 + 0x28], rax
mov byte [r13 + 0x40], dl
mov qword [rsp + 0x60], rax
mov eax, dword [r14 + 0x44]
dec eax
mov dword [r14 + 0x44], eax
mov dword [r13 + 0x30], eax
mov dword [r13 + 0x34], eax
movzx eax, word [rsp + 0x30]
mov word [r13 + 0x3c], ax
mov eax, dword [rsp + 0x138]
mov word [r13 + 0x3e], ax
mov dword [rsp + 0x58], eax
movsx eax, word [r14 + 0xe0]
mov dword [r13 + 0x38], eax
xor eax, eax
mov qword [r13 + 0x20], rbp
movups xmmword [r13 + 0x41], xmm0
movups xmmword [r13 + 0x51], xmm0
mov qword [r13 + 0x61], rax
mov dword [r13 + 0x69], eax
mov word [r13 + 0x6d], ax
mov byte [r13 + 0x6f], al
lea rax, [rdx + 1]
imul r8, rax, 0x70
xor edx, edx
call fcn.18013d7a0
lea r9, [r13 + 0x70]
mov qword [rsp + 0x98], r13
xor edx, edx
mov qword [rsp + 0xa0], r9
mov dword [r13 + 0x25c], edx
lea rcx, [rdi + r13]
mov dword [r13 + 0x260], 0xffffff9d
lea rax, [rcx + 0x58]
mov qword [rcx + 0x48], rax
mov eax, 3
mov word [rcx + 0x40], ax
lea rax, [r9 + 0x28]
mov word [rcx + 0x3c], dx
mov rdi, rsi
mov dword [rcx + 0x38], edx
mov qword [r9 + 0x20], rax
mov qword [rsp + 0xa8], rcx
mov qword [r9], r13
mov byte [r9 + 0x11], dl
mov qword [r9 + 8], rdx
mov dword [r9 + 0x14], edx
mov qword [r9 + 0x18], 8
test rsi, rsi
je 0x1800d9003
nop dword [rax]
mov eax, dword [rdi + 4]
test eax, 0x82000
je 0x1800d9003
bt eax, 0x13
jae 0x1800d8ffa
mov rax, qword [rdi + 0x20]
mov rdi, qword [rax + 8]
jmp 0x1800d8ffe
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x1800d8fe0
mov byte [r9 + 0x10], 0x2c
test rdi, rdi
je 0x1800d9040
cmp byte [rdi], 0x2c
mov rcx, r9
je 0x1800d9022
xor r8d, r8d
mov rdx, rsi
call fcn.1800cded0
jmp 0x1800d903e
mov rdx, qword [rdi + 0x10]
mov r8b, 0x2c
call fcn.1800d08c0
mov rdx, qword [rdi + 0x18]
lea rcx, [r13 + 0x70]
mov r8b, 0x2c
call fcn.1800d08c0
xor edx, edx
cmp dword [rsp + 0x34], 0
mov ecx, pe_nt_image_headers64
jne 0x1800d9083
test r15, r15
je 0x1800d9059
movzx eax, byte [r15]
mov byte [r13 + 0x41], al
test word [rsp + 0x30], cx
je 0x1800d9070
mov rax, qword [rsp + 0x48]
test byte [rax + 0x60], 0x10
jne 0x1800d9070
mov byte [r13 + 0x43], 1
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, r14
call fcn.180054710
jmp 0x1800d90d2
mov rbx, qword [rsp + 0x108]
mov edi, edx
lea rsi, [rbx + 0x4c]
movsxd rcx, dword [r13 + 0x25c]
lea rdx, [rbx + 8]
mov eax, dword [rsi]
lea r8, [r13 + 0x70]
mov dword [r13 + rcx*4 + 0x260], eax
inc dword [r13 + 0x25c]
movsxd rax, edi
imul rcx, rax, 0x68
add rdx, rcx
mov rcx, r14
call fcn.1800d0fd0
inc edi
lea rsi, [rsi + 0x68]
cmp edi, dword [rbx]
jl 0x1800d9091
mov rbx, qword [rsp + 0x50]
mov edi, dword [r13 + 0x84]
sub edi, 1
js 0x1800d910c
mov rbp, qword [rsp + 0x108]
nop word [rax + rax]
mov r8d, edi
lea rdx, [r13 + 0x70]
mov rcx, rbp
call fcn.1800cf6b0
sub edi, 1
jns 0x1800d90f0
mov rbp, qword [rsp + 0x128]
test rbp, rbp
je 0x1800d9124
cmp qword [rbp + 0x60], 0
je 0x1800d9124
mov rdx, rbp
lea rcx, [r13 + 0x70]
call fcn.1800d0b40
cmp dword [r14 + 0x30], 0
jne 0x1800d9ed0
xor ecx, ecx
mov ebp, ecx
cmp dword [r13 + 0x8c], ecx
jle 0x1800d924c
mov r12, qword [rsp + 0x100]
lea rdx, [0x1800d8750]
mov r15, qword [rsp + 0x108]
lea r8, [0x18006f730]
mov r14d, ecx
mov rdi, qword [r13 + 0x90]
add rdi, r14
test byte [rdi + 0x12], 2
jne 0x1800d9209
cmp qword [rdi + 0x30], 0
mov rsi, qword [rdi]
jne 0x1800d9209
cmp dword [rsp + 0x34], 0
je 0x1800d91e2
mov qword [rsp + 0x68], rcx
mov eax, 1
mov word [rsp + 0x8c], ax
mov qword [rsp + 0x80], rcx
mov dword [rsp + 0x88], ecx
mov qword [rsp + 0x8e], rcx
mov word [rsp + 0x96], cx
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], r8
test rsi, rsi
je 0x1800d91e2
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.180068830
cmp word [rsp + 0x8c], 0
je 0x1800d9209
test byte [rsi + 4], 2
je 0x1800d91ef
test byte [r15 + 0x44], 0x40
jne 0x1800d9209
mov r8d, dword [r13 + 0x34]
mov r9d, 0x10
mov rdx, rsi
mov rcx, r12
call fcn.180077290
or word [rdi + 0x12], 4
inc ebp
lea rdx, [0x1800d8750]
add r14, 0x38
lea r8, [0x18006f730]
mov ecx, 0
cmp ebp, dword [r13 + 0x8c]
jl 0x1800d9161
mov rbx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x118]
mov r12, qword [rsp + 0x120]
mov r14, qword [rsp + 0x100]
movzx edi, word [rsp + 0x30]
bt di, 8
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x108]
jae 0x1800d92af
test byte [rsi + 0x60], 0x10
je 0x1800d927f
mov eax, 0xfeff
and di, ax
and word [r13 + 0x3c], ax
mov word [rsp + 0x30], di
jmp 0x1800d92af
mov r9, r12
lea r8, [r13 + 0x70]
mov rdx, rbp
mov rcx, r14
call fcn.1800d1850
test eax, eax
je 0x1800d929c
mov byte [r13 + 0x43], 1
jmp 0x1800d92af
test r15, r15
jne 0x1800d92af
mov eax, 0x80
mov qword [r13 + 0x10], r12
or word [r13 + 0x3c], ax
cmp dword [rsp + 0x34], 1
jne 0x1800d92c7
lea rcx, [rsp + 0x98]
call fcn.1800d84d0
test eax, eax
jne 0x1800d9326
lea rcx, [rsp + 0x98]
call fcn.1800d6e10
test eax, eax
jne 0x1800d9ed0
xor edx, edx
mov rcx, r13
call fcn.1800d7a60
cmp byte [rsi + 0x67], 0
jne 0x1800d9ed0
cmp qword [r13 + 0x10], 0
je 0x1800d9311
movzx edx, word [r13 + 0x48]
mov rcx, r13
inc dx
call fcn.1800d7a60
cmp byte [rsi + 0x67], 0
jne 0x1800d9ed0
mov r11d, pe_nt_image_headers64
test word [r13 + 0x3c], r11w
je 0x1800d932c
add word [r13 + 0x48], 0xffe2
jmp 0x1800d932c
mov r11d, pe_nt_image_headers64
cmp qword [r13 + 0x10], 0
jne 0x1800d9345
mov eax, dword [rsi + 0x30]
bt rax, 0xc
jae 0x1800d9345
mov rcx, r13
call fcn.1800d8d10
cmp dword [r14 + 0x30], 0
jne 0x1800d9ed0
movzx eax, byte [r13 + 0x40]
mov ecx, 0x400
cmp al, 2
jb 0x1800d93a1
test r12, r12
je 0x1800d9390
movzx eax, di
and ax, cx
xor ecx, ecx
cmp cx, ax
jne 0x1800d9390
test dword [rsi + 0x60], r11d
jne 0x1800d9390
mov rcx, r13
call fcn.1800d8770
mov qword [rsp + 0x60], rax
movzx eax, byte [r13 + 0x40]
mov dword [rsp + 0x34], eax
cmp al, 2
jb 0x1800d93a1
test dword [rsi + 0x60], 0x80000
jne 0x1800d93a1
mov rcx, r13
call fcn.1800d89a0
mov rcx, qword [r13]
xor r10d, r10d
movzx eax, word [r13 + 0x48]
movzx r8d, word [rsp + 0x30]
mov word [rsp + 0x118], r10w
add word [rcx + 0xe0], ax
test r8b, 4
je 0x1800d9471
mov rdx, qword [r13 + 0x3c0]
mov ecx, dword [rdx + 0x38]
test ecx, 0x1000
jne 0x1800d9431
mov dword [rsp + 0x118], r10d
test r8b, 8
je 0x1800d9471
mov rax, qword [rbp + 0x28]
mov word [rsp + 0x118], r10w
cmp byte [rax + 0x3f], 1
je 0x1800d9471
bt ecx, 0xd
jae 0x1800d9419
mov word [rsp + 0x118], r10w
test r8b, 0x10
je 0x1800d9471
test dword [rsi + 0x60], 0x8000000
mov word [rsp + 0x118], r10w
jne 0x1800d9471
test ecx, 0x1000
sete al
mov word [rsp + 0x118], r10w
inc al
mov byte [r13 + 0x42], al
mov rax, qword [rbp + 0x28]
test byte [rax + 0x30], 0x80
jne 0x1800d9471
mov word [rsp + 0x118], r10w
test cl, 0x40
je 0x1800d9471
and ecx, 0xffffffbf
movzx eax, r8w
and ax, 8
mov dword [rdx + 0x38], ecx
mov word [rsp + 0x118], ax
mov ecx, dword [rsp + 0x34]
lea r15, [r13 + 0x360]
mov qword [rsp + 0x40], r15
mov rdi, r15
mov dword [rsp + 0x5c], r10d
test ecx, ecx
jle 0x1800d9c6e
jmp 0x1800d9498
mov rsi, qword [rsp + 0x48]
movzx eax, byte [rdi + 0x40]
lea r12, [rbp + 8]
imul rcx, rax, 0x68
mov rdx, 0xffffffffffff8000
add r12, rcx
mov r15d, edx
mov rbp, qword [r12 + 0x20]
mov qword [rsp + 0x38], rbp
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x1800d94ef
mov rax, qword [rsi + 0x20]
mov r15d, r10d
add rax, 0x18
mov rdx, r10
cmp qword [rax], rcx
je 0x1800d94ef
nop word [rax + rax]
inc r15d
lea rax, [rax + 0x20]
inc rdx
cmp qword [rax], rcx
jne 0x1800d94e0
test dword [rbp + 0x30], 0x4000
mov r9, qword [rdi + 0x60]
mov qword [rsp + 0x50], r9
jne 0x1800d9740
movzx eax, byte [rbp + 0x3f]
cmp al, 2
je 0x1800d9740
mov ecx, dword [r9 + 0x38]
bt ecx, 0xa
jae 0x1800d95fa
mov rdi, qword [rbp + 0x50]
test rdi, rdi
je 0x1800d9536
cmp qword [rdi], rsi
je 0x1800d9536
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x1800d9528
movsxd rdx, dword [rbx + 0x90]
mov r8d, dword [r12 + 0x44]
cmp dword [rbx + 0x94], edx
jg 0x1800d9563
xor r9d, r9d
mov dword [rsp + 0x20], r10d
mov edx, 0xad
mov rcx, rbx
call fcn.180053f80
mov edx, eax
jmp 0x1800d9591
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0xad
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [rbx]
cmp byte [rax + 0x67], 0
jne 0x1800d95d0
test edx, edx
jns 0x1800d95a6
mov edx, dword [rbx + 0x90]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1800d95da
mov r9d, 0xfffffff5
mov r8, rdi
mov rcx, rbx
call fcn.180055060
mov rdi, qword [rsp + 0x40]
jmp 0x1800d973a
movzx r8d, word [rsp + 0x30]
test rdi, rdi
je 0x1800d95f0
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf5
inc dword [rdi + 0x18]
mov rdi, qword [rsp + 0x40]
jmp 0x1800d9740
cmp al, 1
je 0x1800d9740
test cl, 0x40
jne 0x1800d960d
test r8b, 0x20
je 0x1800d9619
test byte [r12 + 0x3c], 0x50
je 0x1800d9703
cmp byte [r13 + 0x42], 0
mov ecx, 0x70
je 0x1800d9633
mov eax, dword [r12 + 0x44]
mov ecx, 0x71
mov dword [r13 + 0x28], eax
mov edx, dword [r12 + 0x44]
mov r9, rbp
mov dword [rsp + 0x20], ecx
mov r8d, r15d
mov rcx, r14
call fcn.18009a6e0
cmp byte [r13 + 0x42], 0
jne 0x1800d96df
cmp word [rbp + 0x36], 0x40
jge 0x1800d96df
test byte [rbp + 0x30], 0xe0
jne 0x1800d96df
mov rax, qword [rsp + 0x50]
test dword [rax + 0x38], 0x404000
jne 0x1800d96df
mov rax, qword [r12 + 0x50]
xor ecx, ecx
mov edx, ecx
test rax, rax
je 0x1800d968d
inc edx
shr rax, 1
jne 0x1800d9686
mov rcx, qword [rbx]
movsxd r8, edx
cmp byte [rcx + 0x67], 0
je 0x1800d96a5
mov edx, 0xfffffffd
call fcn.180054e70
jmp 0x1800d96df
movsxd rax, dword [rbx + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
cmp byte [rax + rcx*8 - 0x17], 0
lea r10, [rax + rcx*8]
je 0x1800d96d6
mov r9d, 0xfffffffd
lea rdx, [r10 - 0x18]
mov rcx, rbx
call fcn.180055060
jmp 0x1800d96df
mov dword [r10 - 8], edx
mov byte [r10 - 0x17], 0xfd
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x1800d973a
mov edx, dword [rsp + 0x118]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov word [rax + rcx*8 - 0x16], dx
jmp 0x1800d973a
cmp r15d, 1
je 0x1800d9740
mov rax, qword [r14]
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x1800d9740
mov rax, qword [rbp]
xor r9d, r9d
mov r8d, dword [rbp + 0x28]
mov edx, r15d
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180081db0
movzx r8d, word [rsp + 0x30]
mov rax, qword [rsp + 0x50]
test dword [rax + 0x38], 0x200
je 0x1800d9944
mov rbp, qword [rax + 0x20]
mov r14d, 0x70
mov rax, qword [rsp + 0x38]
test byte [rax + 0x30], 0x80
je 0x1800d9789
mov eax, dword [rbp + 0x64]
and al, 3
cmp al, 2
jne 0x1800d9789
test r8b, 0x20
je 0x1800d9789
mov eax, dword [rdi + 4]
mov r14, qword [rsp + 0x100]
mov dword [rdi + 8], eax
jmp 0x1800d993f
cmp byte [r13 + 0x42], 0
je 0x1800d97c3
mov rax, qword [r12 + 0x20]
mov edi, dword [rsp + 0x58]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1800d97b2
cmp rcx, rbp
je 0x1800d97b2
mov rcx, qword [rcx + 0x28]
inc edi
test rcx, rcx
jne 0x1800d97a2
mov r14d, 0x71
mov dword [r13 + 0x2c], edi
mov esi, edi
jmp 0x1800d9842
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x1800d97dd
test r8b, 0x20
je 0x1800d97dd
mov edi, eax
mov r14d, 0x65
mov esi, eax
jmp 0x1800d9842
mov rcx, qword [rsp + 0x100]
mov edi, dword [rcx + 0x34]
mov esi, edi
lea eax, [rdi + 1]
mov dword [rcx + 0x34], eax
test dword [rbp + 0x64], 0x800
je 0x1800d981d
mov rax, qword [rsp + 0x48]
test dword [rax + 0x60], 0x1000000
jne 0x1800d981d
mov r9, r12
mov r8d, edi
mov rdx, rbp
call fcn.1800d8a50
mov rcx, qword [rsp + 0x100]
mov r8, qword [rbp + 0x48]
test r8, r8
je 0x1800d9842
test byte [r12 + 0x3c], 0x10
jne 0x1800d9842
mov qword [rsp + 0x28], r12
xor r9d, r9d
mov rdx, rbp
mov dword [rsp + 0x20], edi
call fcn.1800d5510
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], esi
movsxd rcx, dword [rbx + 0x90]
mov r8d, dword [rbp + 0x58]
cmp dword [rbx + 0x94], ecx
jg 0x1800d9875
mov r9d, r8d
mov dword [rsp + 0x20], r15d
mov r8d, edi
mov edx, r14d
mov rcx, rbx
call fcn.180053f80
jmp 0x1800d98ab
lea eax, [rcx + 1]
xor edx, edx
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov byte [rax + rcx*8], r14b
mov word [rax + rcx*8 + 2], dx
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 1], dl
mov r14, qword [rsp + 0x100]
mov rdx, rbp
mov rcx, r14
mov rdi, qword [r14 + 0x10]
call fcn.18008de70
mov rdx, rax
test rax, rax
je 0x1800d98fe
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
je 0x1800d98e2
mov r8, rax
mov edx, 0xfffffff8
call fcn.180054e70
jmp 0x1800d98fe
movsxd rax, dword [rdi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xf8
mov qword [rax + rcx*8 - 8], rdx
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x38]
test al, 0xf
je 0x1800d993f
test eax, 0x188002
jne 0x1800d993f
test byte [r13 + 0x3c], 1
jne 0x1800d993f
cmp byte [r13 + 0x43], 2
je 0x1800d993f
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x1800d993f
lea rcx, [rax + rax*2]
mov edx, 2
mov rax, qword [rbx + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov rbp, qword [rsp + 0x38]
test r15d, r15d
js 0x1800d997b
mov rax, qword [r14 + 0xb0]
mov rcx, r14
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x84]
bt eax, r15d
jb 0x1800d997b
bts eax, r15d
mov dword [rcx + 0x84], eax
cmp r15d, 1
jne 0x1800d997b
call fcn.18008d270
test byte [r12 + 0x3c], 0x10
je 0x1800d9c2b
mov rcx, qword [r13]
mov edx, 0x24
mov rcx, qword [rcx]
call fcn.18002a8b0
mov rsi, rax
test rax, rax
je 0x1800d99b7
mov rcx, qword [r13 + 0x60]
add rsi, 0x10
mov qword [rax], rcx
mov qword [rax + 8], 0x14
mov qword [r13 + 0x60], rax
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x38], rsi
test rsi, rsi
je 0x1800d9c2b
mov eax, dword [r14 + 0x34]
xor r15d, r15d
mov dword [rsi], eax
inc dword [r14 + 0x38]
inc dword [r14 + 0x34]
mov edx, dword [r14 + 0x38]
mov dword [rsi + 4], edx
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800d9a0c
mov r9d, edx
mov dword [rsp + 0x20], r15d
lea edx, [r15 + 0x4d]
mov r8d, 0x10000
mov rcx, rbx
call fcn.180053f80
jmp 0x1800d9a3d
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x4d
mov dword [rax + rcx*8 + 4], 0x10000
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
inc dword [r14 + 0x38]
mov edx, dword [r14 + 0x38]
mov dword [rsi + 8], edx
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800d9a70
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, edx
mov rcx, rbx
lea edx, [r8 + 0x4b]
call fcn.180053f80
jmp 0x1800d9a9a
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
test byte [rbp + 0x30], 0x80
jne 0x1800d9b56
movsxd rcx, dword [rbx + 0x90]
mov edx, dword [rsi]
cmp dword [rbx + 0x94], ecx
jg 0x1800d9ad1
mov r9d, 1
mov dword [rsp + 0x20], r15d
mov r8d, edx
mov rcx, rbx
lea edx, [r9 + 0x75]
call fcn.180053f80
jmp 0x1800d9afe
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 1
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [r14]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.1800af200
mov rdx, rax
test rax, rax
je 0x1800d9c18
mov rcx, qword [rax + 0x18]
mov qword [rax + 0x20], r15
mov byte [rcx], 0
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
je 0x1800d9b3f
mov r8, rax
mov edx, 0xfffffff8
call fcn.180054e70
jmp 0x1800d9c18
movsxd rax, dword [rbx + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
jmp 0x1800d9c0e
mov rdi, qword [rbp + 0x10]
test rdi, rdi
je 0x1800d9b72
nop
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x1800d9b72
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x1800d9b60
movsxd rcx, dword [rbx + 0x90]
movzx edx, word [rdi + 0x5e]
mov r8d, dword [rsi]
cmp dword [rbx + 0x94], ecx
jg 0x1800d9b9f
mov r9d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x76
mov rcx, rbx
call fcn.180053f80
jmp 0x1800d9bcd
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rsi, qword [r14 + 0x10]
mov rdx, rdi
mov rcx, r14
call fcn.18008de70
mov rdx, rax
test rax, rax
je 0x1800d9c18
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
je 0x1800d9bfc
mov r8, rax
mov edx, 0xfffffff8
call fcn.180054e70
jmp 0x1800d9c18
movsxd rax, dword [rsi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8 - 8], rdx
mov byte [rax + rcx*8 - 0x17], 0xf8
mov rax, qword [rsp + 0x50]
and dword [rax + 0x38], 0xffffffbf
mov byte [r13 + 0x41], 0
mov byte [r13 + 0x43], 3
mov r8d, dword [rsp + 0x5c]
mov r10d, 0
mov rdi, qword [rsp + 0x40]
inc r8d
mov ecx, dword [rsp + 0x34]
add rdi, 0x70
mov rbp, qword [rsp + 0x108]
cmp r8d, ecx
mov dword [rsp + 0x5c], r8d
movzx r8d, word [rsp + 0x30]
mov qword [rsp + 0x40], rdi
jl 0x1800d9493
lea r15, [r13 + 0x360]
mov rsi, qword [rsp + 0x48]
mov eax, dword [rbx + 0x90]
mov dword [r13 + 0x4c], eax
cmp byte [rsi + 0x67], 0
jne 0x1800d9ed0
mov ebp, r10d
test ecx, ecx
jle 0x1800d9ec1
mov r12, qword [rsp + 0x108]
nop word [rax + rax]
cmp dword [r14 + 0x30], 0
jne 0x1800d9ed0
mov rax, qword [r15 + 0x60]
mov r14d, dword [rax + 0x38]
movzx eax, byte [r15 + 0x40]
imul rdi, rax, 0x68
add rdi, r12
mov eax, dword [rdi + 0x48]
test al, 0x10
je 0x1800d9e15
test al, 8
je 0x1800d9d31
movsxd rcx, dword [rbx + 0x90]
mov edx, dword [rdi + 0x38]
mov r8d, dword [rdi + 0x3c]
cmp dword [rbx + 0x94], ecx
jg 0x1800d9cfe
mov r9d, edx
mov dword [rsp + 0x20], r10d
mov edx, 0xa
mov rcx, rbx
call fcn.180053f80
jmp 0x1800d9e15
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0xa
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
jmp 0x1800d9e15
movsxd rsi, dword [rbx + 0x90]
cmp dword [rbx + 0x94], esi
jg 0x1800d9d5e
xor r9d, r9d
mov dword [rsp + 0x20], r10d
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0xf]
call fcn.180053f80
mov esi, eax
xor r10d, r10d
jmp 0x1800d9d88
lea rcx, [rsi + rsi*2]
lea eax, [rsi + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 0xf
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r10
movsxd rcx, dword [rbx + 0x90]
mov edx, dword [rdi + 0x38]
mov r8d, dword [rdi + 0x3c]
cmp dword [rbx + 0x94], ecx
jg 0x1800d9db5
mov r9d, edx
mov dword [rsp + 0x20], r10d
mov edx, 0xa
mov rcx, rbx
call fcn.180053f80
jmp 0x1800d9de3
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0xa
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 rax, qword [rbx]
mov edx, dword [rbx + 0x90]
cmp byte [rax + 0x67], 0
je 0x1800d9dfb
lea rax, [0x180197378]
jmp 0x1800d9e0d
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + rcx*8]
mov rsi, qword [rsp + 0x48]
mov dword [rax + 8], edx
mov rdi, qword [rsp + 0x60]
test r14d, 0x404000
je 0x1800d9e5d
bt r14d, 0xe
jae 0x1800d9e43
mov rcx, qword [rsp + 0x100]
lea rdx, [r13 + 0x70]
mov r9, r15
mov r8, rdi
call fcn.1800d1af0
jmp 0x1800d9e53
mov r9, rdi
mov r8, r15
mov edx, ebp
mov rcx, r13
call fcn.1800d28b0
cmp byte [rsi + 0x67], 0
jne 0x1800d9ed0
mov r14, qword [rsp + 0x100]
mov r8, r15
movzx r9d, word [rsp + 0x30]
mov rcx, r14
mov rdx, r12
call fcn.1800c7d40
mov eax, dword [rbx + 0x90]
mov r9d, ebp
mov r8, r13
mov qword [rsp + 0x28], rdi
mov rdx, rbx
mov dword [r15 + 0x20], eax
mov rcx, r14
mov qword [rsp + 0x20], r15
call fcn.1800c9da0
mov qword [rsp + 0x60], rax
inc ebp
mov eax, dword [r15 + 0x18]
mov r10d, 0
add r15, 0x70
mov dword [r13 + 0x30], eax
cmp ebp, dword [rsp + 0x34]
jl 0x1800d9ca0
mov eax, dword [rbx + 0x90]
mov dword [r13 + 0x50], eax
mov rax, r13
jmp 0x1800d9ef3
mov rcx, qword [rsp + 0x100]
mov rdx, r13
movzx eax, word [r13 + 0x38]
mov word [rcx + 0xe0], ax
mov rcx, qword [rsp + 0x48]
call fcn.1800d3b80
xor eax, eax
mov rdi, qword [rsp + 0x110]
mov r13, qword [rsp + 0xc0]
add rsp, 0xc8
pop r15
pop r14
pop r12
pop rsi
pop rbp
pop rbx
ret