Function at 0x18012ec80
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, 0xb8
mov rbx, qword [rcx + 0x10]
xor esi, esi
xor r13b, r13b
mov qword [rsp + 0x80], rsi
mov rbp, rdx
mov byte [rsp + 0x100], r13b
mov rdi, rcx
mov dword [rsp + 0x78], esi
movsxd r11, dword [rbx + 0x90]
mov r12d, esi
mov dword [rsp + 0x68], esi
mov qword [rsp + 0xa8], rbx
mov dword [rsp + 0x7c], r11d
cmp dword [rbx + 0x94], r11d
jg 0x18012ed0c
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor r8d, r8d
lea edx, [rsi + 0xf]
mov rcx, rbx
call fcn.1800aba20
mov r9, qword [rsp + 0x118]
mov dword [rsp + 0x7c], eax
jmp 0x18012ed33
lea rcx, [r11 + r11*2]
lea eax, [r11 + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], reloc.WS2_32.dll_ntohs
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rbp]
xor r11d, r11d
mov r14, qword [rbp + 0x20]
mov r15d, esi
mov r10, qword [r9 + 0x60]
movabs rcx, 0x8000000000000000
mov dword [rsp + 0x50], esi
mov rdx, qword [rax + 8]
movzx eax, byte [r9 + 0x40]
imul rsi, rax, 0x68
movsxd rax, dword [rbp + 0x14]
mov ebp, r11d
add rsi, rdx
mov qword [rsp + 0x90], rdx
imul rax, rax, 0x38
mov r8, qword [rsi + 0x28]
add rax, r14
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x60], r11
cmp r14, rax
jae 0x18012f134
test byte [r14 + 0x12], 2
mov rsi, qword [r14]
jne 0x18012efcc
movzx r8d, byte [r9 + 0x40]
mov rcx, rsi
xor r9d, r9d
call fcn.1800c9060
test eax, eax
je 0x18012efc2
test rsi, rsi
je 0x18012ede5
mov rcx, qword [rdi]
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
call fcn.1800c7450
mov rbp, rax
xor esi, esi
jmp 0x18012ede8
mov rbp, rsi
mov r15, qword [rdi]
test r12, r12
jne 0x18012ee00
mov r12, rbp
mov qword [rsp + 0x80], rbp
jmp 0x18012efb8
test rbp, rbp
je 0x18012efb8
mov eax, dword [r12 + 4]
or eax, dword [rbp + 4]
and eax, 0x20000003
cmp eax, 0x20000000
jne 0x18012ef00
cmp byte [rdi + 0x134], 2
jae 0x18012ef00
mov rdx, r12
mov rcx, rdi
call fcn.1800c7250
mov rdx, rbp
mov rcx, rdi
call fcn.1800c7250
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], esi
lea rcx, [0x1802099b0]
call fcn.180082cd0
test eax, eax
mov esi, eax
mov eax, 0x48
mov edx, 0x4a
cmovne edx, eax
mov rcx, r15
call fcn.18007dc20
mov qword [rsp + 0x80], rax
mov r12, rax
test rax, rax
je 0x18012efb8
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm0
movups xmmword [r12 + 0x20], xmm0
movups xmmword [r12 + 0x30], xmm0
mov qword [r12 + 0x40], rax
mov byte [r12], 0x9b
mov word [r12 + 0x32], 0xffff
test esi, esi
je 0x18012eee3
mov eax, dword [rsp + 0x40]
mov ecx, 0x20800800
test eax, eax
mov dword [r12 + 8], eax
mov edx, 0x10800800
mov dword [r12 + 0x28], 1
cmovne ecx, edx
or dword [r12 + 4], ecx
jmp 0x18012efb8
lea rax, [r12 + 0x48]
mov qword [r12 + 8], rax
mov word [rax], 0x30
mov dword [r12 + 0x28], 1
jmp 0x18012efb8
mov edx, 0x48
mov rcx, r15
call fcn.18007dc20
mov rsi, rax
test rax, rax
je 0x18012ef97
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
mov qword [rsi + 0x40], rax
mov byte [rsi], 0x2c
mov word [rsi + 0x32], 0xffff
mov qword [rsi + 0x18], rbp
mov edx, dword [rbp + 4]
and edx, 0x400208
or edx, dword [rsi + 4]
mov dword [rsi + 4], edx
mov ecx, dword [rbp + 0x28]
inc ecx
mov dword [rsi + 0x28], ecx
mov qword [rsi + 0x10], r12
mov eax, dword [r12 + 4]
and eax, 0x400208
or eax, edx
mov dword [rsi + 4], eax
mov eax, dword [r12 + 0x28]
cmp eax, ecx
jl 0x18012ef76
inc eax
mov dword [rsi + 0x28], eax
mov rax, qword [rdi]
mov r8d, dword [rax + 0x94]
cmp dword [rsi + 0x28], r8d
jle 0x18012efad
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.1800817d0
jmp 0x18012efad
mov rcx, qword [rdi]
mov rdx, r12
call fcn.1800c7140
mov rcx, qword [rdi]
mov rdx, rbp
call fcn.1800c7140
mov r12, rsi
mov qword [rsp + 0x80], rsi
mov rbp, qword [rsp + 0x60]
mov r15d, dword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
mov edx, dword [rsi + 0x4c]
cmp dword [r14 + 0x1c], edx
jne 0x18012f102
test byte [r14 + 0x14], 0x82
je 0x18012f102
movzx ecx, byte [rsi + 0x44]
test cl, 0x58
je 0x18012f01b
mov rax, qword [r14]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x18012f0fd
cmp dword [rax + 0x34], edx
jne 0x18012f0fd
test cl, 0x18
je 0x18012f01b
test r8b, 2
jne 0x18012f0fd
mov rax, qword [rsp + 0x110]
test qword [r14 + 0x28], rax
jne 0x18012f0fd
movsxd rax, dword [r14 + 0x20]
test eax, eax
js 0x18012f0fd
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x28]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [r14]
call fcn.1800c56f0
test eax, eax
je 0x18012f0f8
movsxd rcx, dword [r14 + 0x20]
cmp ecx, 0x40
jl 0x18012f06f
movabs rsi, 0x8000000000000000
jmp 0x18012f077
mov esi, 1
shl rsi, cl
test r13b, r13b
jne 0x18012f0a7
mov rax, qword [rsp + 0x88]
lea rcx, [rcx + rcx*2]
lea rdx, str.automatic_index_on__s__s_
mov r9, qword [rax + 8]
mov r8, qword [rax]
mov r9, qword [r9 + rcx*8]
mov ecx, 0x11c
call fcn.1800806a0
mov r13b, 1
test rbp, rsi
jne 0x18012f0f3
mov rdx, qword [rsp + 0x58]
lea ebp, [r15 + 1]
mov rcx, qword [rdi]
mov r8d, ebp
call fcn.180130bd0
test eax, eax
jne 0x18012fb61
mov r10, qword [rsp + 0x58]
movsxd rcx, r15d
mov r15d, ebp
mov dword [rsp + 0x50], ebp
mov rbp, qword [rsp + 0x60]
mov rax, qword [r10 + 0x48]
or rbp, rsi
mov rsi, qword [rsp + 0x70]
mov qword [rsp + 0x60], rbp
mov qword [rax + rcx*8], r14
jmp 0x18012f0fd
mov rsi, qword [rsp + 0x70]
mov r10, qword [rsp + 0x58]
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x90]
add r14, 0x38
mov r9, qword [rsp + 0x118]
cmp r14, rax
jb 0x18012eda2
mov r8, qword [rsp + 0x88]
xor r11d, r11d
movabs rcx, 0x8000000000000000
mov word [r10 + 0x3c], r15w
not rbp
mov word [r10 + 0x18], r15w
mov dword [r10 + 0x38], 0x4241
cmp byte [r8 + 0x3f], 2
mov qword [rsp + 0x60], rbp
je 0x18012f167
mov rax, rbp
mov rbp, qword [rsi + 0x58]
or rax, rcx
and rbp, rax
mov qword [rsp + 0x60], rbp
movsx eax, word [r8 + 0x36]
mov esi, 0x3f
mov edx, r11d
cmp si, ax
jl 0x18012f180
mov esi, eax
test eax, eax
jle 0x18012f19b
nop
mov ecx, r15d
mov eax, edx
inc r15d
bt rbp, rax
cmovae r15d, ecx
inc edx
cmp edx, esi
jl 0x18012f180
mov dword [rsp + 0x50], r15d
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x58], 0
jge 0x18012f1b8
movsx eax, word [r8 + 0x36]
add r15d, 0xffffffc1
add r15d, eax
mov dword [rsp + 0x50], r15d
mov rcx, qword [rdi]
lea ebp, [r15 + 1]
movsx r14d, bp
lea eax, [r14*4 + 9]
add eax, r14d
and eax, 0xfffffff8
lea eax, [rax + r14*8]
add eax, 0x70
movsxd r13, eax
test rcx, rcx
je 0x18012f1ea
mov rdx, r13
call fcn.18007dc20
jmp 0x18012f1f2
mov rcx, r13
call fcn.18007d470
mov r15, rax
test rax, rax
je 0x18012fb61
mov r8, r13
xor edx, edx
mov rcx, rax
call fcn.1801db010
mov r10d, dword [rsp + 0x50]
lea rax, [r15 + 0x70]
mov qword [r15 + 0x40], rax
lea r13, [0x1801fa5b8]
xor r11d, r11d
movsx r8, bp
mov word [r15 + 0x60], bp
mov r9d, r11d
mov rbp, qword [rsp + 0x88]
mov word [r15 + 0x5e], r10w
lea rdx, [rax + r8*8]
mov dword [rsp + 0x40], r11d
lea eax, [r14 + 1]
mov qword [r15 + 0x10], rdx
mov r14, qword [rsp + 0x108]
movsxd rcx, eax
mov qword [rsp + 0xa0], r11
lea rax, [rdx + rcx*2]
mov qword [r15 + 8], rax
lea rax, [rax + r8*2]
mov qword [r15 + 0x38], rax
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x20], r15
lea rax, str.auto_index
mov qword [r15], rax
mov rax, qword [rsp + 0x48]
mov qword [r15 + 0x18], rbp
mov r14, qword [r14 + 0x20]
cmp r14, rax
jae 0x18012f489
mov rbx, qword [rsp + 0x70]
mov r12, qword [rsp + 0x110]
mov qword [rsp + 0x90], r11
mov qword [rsp + 0x98], r11
nop word [rax + rax]
mov edx, dword [rbx + 0x4c]
cmp dword [r14 + 0x1c], edx
jne 0x18012f455
test byte [r14 + 0x14], 0x82
je 0x18012f455
movzx ecx, byte [rbx + 0x44]
test cl, 0x58
je 0x18012f30f
mov rax, qword [r14]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x18012f450
cmp dword [rax + 0x34], edx
mov rax, qword [rsp + 0x48]
jne 0x18012f455
test cl, 0x18
je 0x18012f30f
test r8b, 2
jne 0x18012f455
mov r13d, esi
test qword [r14 + 0x28], r12
jne 0x18012f455
movsxd rax, dword [r14 + 0x20]
test eax, eax
js 0x18012f450
lea rdx, [rax + rax*2]
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [r14]
call fcn.1800c56f0
test eax, eax
je 0x18012f44b
mov ecx, dword [r14 + 0x20]
cmp ecx, 0x40
jl 0x18012f35e
movabs rax, 0x8000000000000000
jmp 0x18012f366
mov eax, 1
shl rax, cl
mov r8, qword [rsp + 0xa0]
test r8, rax
jne 0x18012f44b
mov rbp, qword [r14]
or r8, rax
mov rax, qword [r15 + 8]
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0xa0], r8
mov word [rdx + rax], cx
test dword [rbp + 4], 0x400
je 0x18012f3a8
mov rsi, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
jmp 0x18012f3b0
mov rsi, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x10]
test dword [rdx + 4], 0x200
jne 0x18012f3d7
test rsi, rsi
je 0x18012f3c7
test dword [rsi + 4], 0x200
jne 0x18012f3d4
mov rcx, rdi
call fcn.1800c54e0
test rax, rax
jne 0x18012f3e4
mov rdx, rsi
mov rcx, rdi
call fcn.1800c54e0
test rax, rax
je 0x18012f3e9
mov rcx, qword [rax]
jmp 0x18012f3f0
lea rcx, [0x1801fa5b8]
mov r8, qword [rsp + 0x90]
mov esi, r13d
mov r9d, dword [rsp + 0x40]
mov rax, qword [r15 + 0x40]
inc r9d
add qword [rsp + 0x98], 2
mov dword [rsp + 0x40], r9d
mov qword [r8 + rax], rcx
add r8, 8
mov rcx, qword [rbp + 0x10]
mov qword [rsp + 0x90], r8
test rcx, rcx
je 0x18012f450
call fcn.1800c51d0
mov r9d, dword [rsp + 0x40]
cmp al, 0x42
mov rax, qword [rsp + 0x48]
je 0x18012f455
mov byte [rsp + 0x100], 1
jmp 0x18012f455
mov r9d, dword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
add r14, 0x38
cmp r14, rax
jb 0x18012f2c0
mov rbx, qword [rsp + 0xa8]
lea r13, [0x1801fa5b8]
mov r12, qword [rsp + 0x80]
xor r11d, r11d
mov r10d, dword [rsp + 0x50]
mov rbp, qword [rsp + 0x88]
mov ecx, r11d
test esi, esi
jle 0x18012f4d6
mov r11, qword [rsp + 0x60]
movsxd rax, r9d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r11, rax
jae 0x18012f4c8
mov rax, qword [r15 + 8]
inc r9d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r15 + 0x40]
mov qword [rdx + rax], r13
add rdx, 8
inc ecx
cmp ecx, esi
jl 0x18012f4a4
mov dword [rsp + 0x40], r9d
xor r11d, r11d
mov r13, qword [rsp + 0x70]
lea rsi, [0x1801fa5b8]
cmp qword [r13 + 0x58], 0
jge 0x18012f53f
mov r8d, 0x3f
cmp r8w, word [rbp + 0x36]
jge 0x18012f53f
movsxd rax, r9d
lea rcx, [rax*8]
lea rdx, [rax + rax]
nop word [rax + rax]
mov rax, qword [r15 + 8]
lea rdx, [rdx + 2]
inc r9d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r8w
inc r8d
mov rax, qword [r15 + 0x40]
mov qword [rcx + rax - 8], rsi
movsx eax, word [rbp + 0x36]
cmp r8d, eax
jl 0x18012f510
mov dword [rsp + 0x40], r9d
mov rax, qword [r15 + 8]
lea edx, [r10 + 1]
mov r14, qword [rsp + 0x118]
movsxd rcx, r9d
mov word [rax + rcx*2], 0xffff
mov rax, qword [r15 + 0x40]
mov qword [rax + rcx*8], rsi
mov eax, dword [rdi + 0x34]
mov dword [r14 + 8], eax
inc dword [rdi + 0x34]
movsxd rcx, dword [rbx + 0x90]
mov r8d, dword [r14 + 8]
cmp dword [rbx + 0x94], ecx
jg 0x18012f594
mov r9d, edx
mov dword [rsp + 0x20], r11d
mov edx, reloc.WS2_32.dll_WSACleanup
mov rcx, rbx
call fcn.1800aba20
jmp 0x18012f5c2
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], reloc.WS2_32.dll_WSACleanup
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 rsi, qword [rdi + 0x10]
mov rdx, r15
mov rcx, rdi
call fcn.1800e67b0
mov rdx, rax
test rax, rax
je 0x18012f60d
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
je 0x18012f5f1
mov r8, rax
mov edx, 0xfffffff8
call fcn.1800ac540
jmp 0x18012f60d
movsxd rax, dword [rsi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xf8
mov qword [rax + rcx*8 - 8], rdx
mov rax, qword [rdi]
test dword [rax + 0x60], 0x80000
jne 0x18012f66f
cmp byte [rsp + 0x100], 0
je 0x18012f66f
mov rax, qword [rsp + 0x108]
mov r8, r14
mov rcx, rdi
mov rdx, qword [rax]
call fcn.180123b30
inc dword [rdi + 0x38]
mov edx, dword [rdi + 0x38]
mov dword [r14 + 0x34], edx
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x18012f6b6
xor r11d, r11d
mov r9d, edx
mov r8d, 0x2710
mov dword [rsp + 0x20], r11d
mov rcx, rbx
lea edx, [r11 + 0x4d]
call fcn.1800aba20
xor r9d, r9d
test byte [r13 + 0x48], 0x20
je 0x18012f7bd
movsxd r8, dword [rbx + 0x90]
mov ebp, dword [r13 + 0x3c]
mov dword [rsp + 0x68], r8d
cmp dword [rbx + 0x94], r8d
jg 0x18012f6ec
mov dword [rsp + 0x20], r9d
xor r8d, r8d
xor r9d, r9d
mov rcx, rbx
lea edx, [r9 + 0x47]
call fcn.1800aba20
mov dword [rsp + 0x68], eax
xor r9d, r9d
jmp 0x18012f717
lea eax, [rcx + 1]
xor r9d, r9d
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], 0x2710
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x18012f672
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 0x47
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r9
movsxd rcx, dword [rbx + 0x90]
mov edx, dword [r13 + 0x38]
cmp dword [rbx + 0x94], ecx
jg 0x18012f745
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebp
mov rcx, rbx
lea edx, [r9 + 0xb]
call fcn.1800aba20
xor r9d, r9d
jmp 0x18012f772
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], recv
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
movsxd rsi, dword [rbx + 0x90]
cmp dword [rbx + 0x94], esi
jg 0x18012f79c
mov dword [rsp + 0x20], r9d
mov r8d, ebp
xor r9d, r9d
mov rcx, rbx
lea edx, [r9 + 0xc]
call fcn.1800aba20
mov esi, eax
jmp 0x18012f818
lea eax, [rsi + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], recv
mov dword [rax + rcx*8 + 4], ebp
jmp 0x18012f80a
movsxd rsi, dword [rbx + 0x90]
mov edx, dword [r14 + 4]
cmp dword [rbx + 0x94], esi
jg 0x18012f7eb
mov dword [rsp + 0x20], r9d
mov r8d, edx
xor r9d, r9d
mov rcx, rbx
lea edx, [r9 + 0x24]
call fcn.1800aba20
mov esi, eax
jmp 0x18012f818
lea eax, [rsi + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 0x10], r9
mov qword [rax + rcx*8 + 8], 0
mov eax, reloc.WS2_32.dll_recv
test r12, r12
je 0x18012f848
dec dword [rdi + 0x44]
mov r9d, eax
mov r8d, dword [rdi + 0x44]
mov rdx, r12
mov rcx, rdi
mov dword [rsp + 0x78], r8d
call fcn.1800d02b0
mov rcx, qword [rsp + 0x58]
or dword [rcx + 0x38], 0x20000
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x18012f858
inc dword [rdi + 0x38]
mov ebp, dword [rdi + 0x38]
jmp 0x18012f867
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov ebp, dword [rdi + rax*4 + 0xe8]
mov r8d, dword [r14 + 4]
xor r11d, r11d
mov dword [rsp + 0x38], r11d
mov r9d, ebp
mov qword [rsp + 0x30], r11
mov rdx, r15
mov qword [rsp + 0x28], r11
mov rcx, rdi
mov dword [rsp + 0x20], r11d
call fcn.1800e9a00
mov edx, dword [r14 + 0x34]
mov r15d, eax
test edx, edx
je 0x18012f8d1
mov rax, qword [rsp + 0x58]
movsxd rcx, dword [rbx + 0x90]
movzx r8d, word [rax + 0x18]
cmp dword [rbx + 0x94], ecx
jg 0x18012f901
mov dword [rsp + 0x28], r8d
xor r9d, r9d
mov r8d, edx
mov dword [rsp + 0x20], r15d
mov edx, VarDecFix
mov rcx, rbx
call fcn.1800aba80
xor r9d, r9d
movsxd rcx, dword [rbx + 0x90]
mov edx, dword [r14 + 8]
cmp dword [rbx + 0x94], ecx
jg 0x18012f934
mov dword [rsp + 0x20], r9d
mov r8d, edx
mov r9d, ebp
mov edx, 0x8a
mov rcx, rbx
call fcn.1800aba20
jmp 0x18012f961
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0xfdb7
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r15d
mov dword [rax + rcx*8 + 0x10], r8d
jmp 0x18012f8d4
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x8a
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x18012f97e
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov word [rax + rcx*8 - 0x16], 0x10
test r12, r12
je 0x18012f9b2
mov rcx, qword [rbx + 0x18]
mov edx, dword [rsp + 0x78]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x18012f9a2
mov r8d, edx
mov rdx, rbx
call fcn.1800ac270
jmp 0x18012f9b2
mov rcx, qword [rcx + 0x50]
mov eax, dword [rbx + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
test byte [r13 + 0x48], 0x20
lea r14, [0x180254470]
je 0x18012fa79
mov rax, qword [rbx]
cmp byte [rax + 0x67], 0
je 0x18012f9d2
mov rcx, r14
jmp 0x18012f9e6
movsxd rax, dword [rsp + 0x68]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rcx, [rax + rcx*8]
mov r8, qword [rsp + 0x118]
mov edx, esi
mov eax, dword [rsp + 0x40]
add eax, r15d
mov dword [rcx + 8], eax
mov rcx, rdi
mov eax, dword [r8 + 8]
mov r8d, dword [r8 + 4]
mov r9d, dword [r13 + 0x40]
mov dword [rsp + 0x20], eax
call fcn.18012ebc0
movsxd rcx, dword [rbx + 0x90]
xor r11d, r11d
cmp dword [rbx + 0x94], ecx
jg 0x18012fa45
mov r9d, esi
mov dword [rsp + 0x20], r11d
xor r8d, r8d
lea edx, [r11 + 9]
mov rcx, rbx
call fcn.1800aba20
and dword [r13 + 0x48], 0xffffffdf
jmp 0x18012fafb
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
and dword [r13 + 0x48], 0xffffffdf
jmp 0x18012fafb
mov r8, qword [rsp + 0x118]
lea edx, [rsi + 1]
movsxd rcx, dword [rbx + 0x90]
xor r11d, r11d
mov r8d, dword [r8 + 4]
cmp dword [rbx + 0x94], ecx
jg 0x18012fab0
mov r9d, edx
mov dword [rsp + 0x20], r11d
lea edx, [r11 + 0x27]
mov rcx, rbx
call fcn.1800aba20
jmp 0x18012fade
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x27
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
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x18012fafb
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov word [rax + rcx*8 - 0x16], 3
mov rax, qword [rbx]
mov edx, dword [rbx + 0x90]
cmp byte [rax + 0x67], 0
je 0x18012fb0f
mov rax, r14
jmp 0x18012fb21
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test ebp, ebp
je 0x18012fb3a
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012fb3a
mov dword [rdi + rax*4 + 0xe8], ebp
inc byte [rdi + 0x1f]
mov rax, qword [rbx]
mov edx, dword [rbx + 0x90]
cmp byte [rax + 0x67], 0
jne 0x18012fb5d
movsxd rax, dword [rsp + 0x7c]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea r14, [rax + rcx*8]
mov dword [r14 + 8], edx
test r12, r12
je 0x18012fb71
mov rcx, qword [rdi]
mov rdx, r12
call fcn.1800c7140
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret