Function at 0x18012f340
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 r12b, r12b
mov qword [rsp + 0x70], rsi
mov rdi, rcx
mov byte [rsp + 0x100], r12b
mov r10, r9
mov dword [rsp + 0x64], esi
movsxd rcx, dword [rbx + 0x90]
mov rbp, rdx
mov r15d, esi
mov dword [rsp + 0x60], esi
mov qword [rsp + 0xa0], rbx
mov dword [rsp + 0x68], ecx
cmp dword [rbx + 0x94], ecx
jg 0x18012f3cc
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor r8d, r8d
mov edx, reloc.WS2_32.dll_ntohs
mov rcx, rbx
call fcn.1800ab9f0
mov r10, qword [rsp + 0x118]
mov dword [rsp + 0x68], eax
jmp 0x18012f3f2
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
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 ecx, ecx
mov r11, qword [r10 + 0x60]
mov r14d, esi
mov dword [rsp + 0x4c], esi
mov r8d, ecx
mov rsi, qword [rbp + 0x20]
mov rdx, qword [rax + 8]
movzx eax, byte [r10 + 0x40]
imul r13, rax, 0x68
movsxd rax, dword [rbp + 0x14]
movabs rbp, 0x8000000000000000
add r13, rdx
mov qword [rsp + 0x80], rdx
imul rax, rax, 0x38
mov r9, qword [r13 + 0x28]
add rax, rsi
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x98], r13
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x50], rcx
cmp rsi, rax
jae 0x18012f7d9
test byte [rsi + 0x12], 2
mov rbp, qword [rsi]
jne 0x18012f67e
movzx r8d, byte [r10 + 0x40]
xor r9d, r9d
mov rcx, rbp
call fcn.1800c9190
test eax, eax
je 0x18012f66f
test rbp, rbp
je 0x18012f49e
mov rcx, qword [rdi]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbp
call fcn.1800c7570
mov rbp, rax
mov r14, qword [rdi]
test r15, r15
jne 0x18012f4b3
mov r15, rbp
mov qword [rsp + 0x70], rbp
jmp 0x18012f66a
test rbp, rbp
jne 0x18012f4c2
mov qword [rsp + 0x70], r15
jmp 0x18012f66a
mov eax, dword [r15 + 4]
or eax, dword [rbp + 4]
and eax, 0x20000003
cmp eax, 0x20000000
jne 0x18012f5ac
cmp byte [rdi + 0x134], 2
jae 0x18012f5ac
mov rdx, r15
mov rcx, rdi
call fcn.1800c7370
mov rdx, rbp
mov rcx, rdi
call fcn.1800c7370
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x48], 0
lea rcx, [0x180206c50]
call fcn.180082b50
test eax, eax
mov ebp, eax
mov eax, 0x48
mov edx, 0x4a
cmovne edx, eax
mov rcx, r14
call fcn.18007daa0
mov qword [rsp + 0x70], rax
mov r15, rax
test rax, rax
je 0x18012f66a
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r15], xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15 + 0x20], xmm0
movups xmmword [r15 + 0x30], xmm0
mov qword [r15 + 0x40], rax
mov byte [r15], 0x9b
mov word [r15 + 0x32], 0xffff
test ebp, ebp
je 0x18012f592
mov eax, dword [rsp + 0x48]
mov ecx, 0x20800800
test eax, eax
mov dword [r15 + 8], eax
mov edx, 0x10800800
mov dword [r15 + 0x28], 1
cmovne ecx, edx
or dword [r15 + 4], ecx
jmp 0x18012f66a
lea rax, [r15 + 0x48]
mov qword [r15 + 8], rax
mov word [rax], 0x30
mov dword [r15 + 0x28], 1
jmp 0x18012f66a
mov edx, 0x48
mov rcx, r14
call fcn.18007daa0
mov r14, rax
test rax, rax
je 0x18012f64c
xor eax, eax
xorps xmm0, xmm0
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x30], xmm0
mov qword [r14 + 0x40], rax
mov byte [r14], 0x2c
mov word [r14 + 0x32], 0xffff
mov qword [r14 + 0x18], rbp
mov ecx, dword [rbp + 4]
and ecx, 0x400208
or ecx, dword [r14 + 4]
mov dword [r14 + 4], ecx
mov edx, dword [rbp + 0x28]
inc edx
mov dword [r14 + 0x28], edx
mov qword [r14 + 0x10], r15
mov eax, dword [r15 + 4]
and eax, 0x400208
or eax, ecx
mov dword [r14 + 4], eax
mov eax, dword [r15 + 0x28]
cmp eax, edx
jl 0x18012f62c
lea edx, [rax + 1]
mov dword [r14 + 0x28], edx
mov rax, qword [rdi]
mov r8d, dword [rax + 0x94]
cmp edx, r8d
jle 0x18012f662
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.180081660
jmp 0x18012f662
mov rcx, qword [rdi]
mov rdx, r15
call fcn.1800c7260
mov rcx, qword [rdi]
mov rdx, rbp
call fcn.1800c7260
mov r15, r14
mov qword [rsp + 0x70], r14
mov r14d, dword [rsp + 0x4c]
mov r11, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
mov edx, dword [r13 + 0x4c]
cmp dword [rsi + 0x1c], edx
jne 0x18012f7ab
test byte [rsi + 0x14], 0x82
je 0x18012f7ab
movzx ecx, byte [r13 + 0x44]
test cl, 0x58
je 0x18012f6c8
mov rax, qword [rsi]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x18012f895
cmp dword [rax + 0x34], edx
jne 0x18012f895
test cl, 0x18
je 0x18012f6c8
test r8b, 2
jne 0x18012f895
mov rax, qword [rsp + 0x110]
test qword [rsi + 0x28], rax
jne 0x18012f895
movsxd rax, dword [rsi + 0x20]
test eax, eax
js 0x18012f895
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [rsi]
call fcn.1800c5860
test eax, eax
je 0x18012f79c
movsxd rcx, dword [rsi + 0x20]
cmp ecx, 0x40
jl 0x18012f71c
movabs rbp, 0x8000000000000000
jmp 0x18012f724
mov ebp, 1
shl rbp, cl
test r12b, r12b
jne 0x18012f751
mov rax, qword [rsp + 0x78]
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.1800804f0
mov r12b, 1
mov r8, qword [rsp + 0x50]
test r8, rbp
jne 0x18012f7a1
mov rdx, qword [rsp + 0x58]
inc r14d
mov rcx, qword [rdi]
mov r8d, r14d
call fcn.180131280
test eax, eax
jne 0x180130216
movsxd rcx, dword [rsp + 0x4c]
mov r8, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
or r8, rbp
mov dword [rsp + 0x4c], r14d
mov qword [rsp + 0x50], r8
mov rax, qword [r11 + 0x48]
mov qword [rax + rcx*8], rsi
jmp 0x18012f7a6
mov r8, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x80]
add rsi, 0x38
mov r10, qword [rsp + 0x118]
cmp rsi, rax
jb 0x18012f460
mov r9, qword [rsp + 0x78]
xor ecx, ecx
movabs rbp, 0x8000000000000000
mov word [r11 + 0x3c], r14w
not r8
mov word [r11 + 0x18], r14w
mov dword [r11 + 0x38], 0x4241
cmp byte [r9 + 0x3f], 2
mov qword [rsp + 0x50], r8
je 0x18012f80c
mov rax, r8
mov r8, qword [r13 + 0x58]
or rax, rbp
and r8, rax
mov qword [rsp + 0x50], r8
movsx eax, word [r9 + 0x36]
mov esi, 0x3f
mov edx, ecx
cmp si, ax
jl 0x18012f830
mov esi, eax
test eax, eax
jle 0x18012f84b
nop dword [rax]
nop word [rax + rax]
mov eax, edx
lea ecx, [r14 + 1]
bt r8, rax
cmovae ecx, r14d
inc edx
mov r14d, ecx
cmp edx, esi
jl 0x18012f830
mov dword [rsp + 0x4c], ecx
cmp qword [r13 + 0x58], 0
jge 0x18012f863
movsx eax, word [r9 + 0x36]
add r14d, 0xffffffc1
add r14d, eax
mov dword [rsp + 0x4c], r14d
mov rcx, qword [rdi]
inc r14w
movsx r13d, r14w
lea eax, [r13*4 + 9]
add eax, r13d
and eax, 0xfffffff8
lea eax, [rax + r13*8]
add eax, 0x70
movsxd r12, eax
test rcx, rcx
je 0x18012f89f
mov rdx, r12
call fcn.18007daa0
jmp 0x18012f8a7
mov r8, qword [rsp + 0x50]
jmp 0x18012f7a6
mov rcx, r12
call fcn.18007d310
mov rbp, rax
test rax, rax
je 0x180130216
mov r8, r12
xor edx, edx
mov rcx, rax
call fcn.1801d91d0
mov r9d, dword [rsp + 0x4c]
lea rax, [rbp + 0x70]
mov r11, qword [rsp + 0x78]
xor r10d, r10d
mov qword [rbp + 0x40], rax
mov r12d, r10d
mov word [rbp + 0x60], r14w
movsx r8, r14w
mov r14, qword [rsp + 0x108]
mov word [rbp + 0x5e], r9w
mov dword [rsp + 0x48], r10d
lea rdx, [rax + r8*8]
mov qword [rsp + 0x90], r10
mov qword [rbp + 0x10], rdx
lea eax, [r13 + 1]
movsxd rcx, eax
lea r13, [0x1801f7528]
lea rax, [rdx + rcx*2]
mov qword [rbp + 8], rax
lea rax, [rax + r8*2]
mov qword [rbp + 0x38], rax
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x20], rbp
lea rax, str.auto_index
mov qword [rbp], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x18], r11
mov r14, qword [r14 + 0x20]
cmp r14, rax
jae 0x18012fb2b
mov rbx, qword [rsp + 0x98]
mov r15, qword [rsp + 0x110]
mov qword [rsp + 0x80], r10
mov qword [rsp + 0x88], r10
nop dword [rax + rax]
mov edx, dword [rbx + 0x4c]
cmp dword [r14 + 0x1c], edx
jne 0x18012faf8
test byte [r14 + 0x14], 0x82
je 0x18012faf8
movzx ecx, byte [rbx + 0x44]
test cl, 0x58
je 0x18012f9bf
mov rax, qword [r14]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x18012faf3
cmp dword [rax + 0x34], edx
mov rax, qword [rsp + 0x40]
jne 0x18012faf8
test cl, 0x18
je 0x18012f9bf
test r8b, 2
jne 0x18012faf8
mov dword [rsp + 0x48], esi
test qword [r14 + 0x28], r15
jne 0x18012faf8
movsxd rax, dword [r14 + 0x20]
test eax, eax
js 0x18012faf3
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.1800c5860
test eax, eax
je 0x18012faf3
mov ecx, dword [r14 + 0x20]
cmp ecx, 0x40
jl 0x18012fa0f
movabs rax, 0x8000000000000000
jmp 0x18012fa17
mov eax, 1
shl rax, cl
mov r8, qword [rsp + 0x90]
test r8, rax
jne 0x18012faf3
mov r13, qword [r14]
or r8, rax
mov rax, qword [rbp + 8]
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x90], r8
mov word [rdx + rax], cx
test dword [r13 + 4], 0x400
je 0x18012fa5a
mov rsi, qword [r13 + 0x10]
mov rdx, qword [r13 + 0x18]
jmp 0x18012fa62
mov rsi, qword [r13 + 0x18]
mov rdx, qword [r13 + 0x10]
test dword [rdx + 4], 0x200
jne 0x18012fa89
test rsi, rsi
je 0x18012fa79
test dword [rsi + 4], 0x200
jne 0x18012fa86
mov rcx, rdi
call fcn.1800c5650
test rax, rax
jne 0x18012fa96
mov rdx, rsi
mov rcx, rdi
call fcn.1800c5650
test rax, rax
je 0x18012fa9b
mov rcx, qword [rax]
jmp 0x18012faa2
lea rcx, [0x1801f7528]
mov r8, qword [rsp + 0x80]
inc r12d
mov rax, qword [rbp + 0x40]
add qword [rsp + 0x88], 2
mov qword [r8 + rax], rcx
add r8, 8
mov rcx, qword [r13 + 0x10]
mov r13d, dword [rsp + 0x48]
mov esi, r13d
mov qword [rsp + 0x80], r8
test rcx, rcx
je 0x18012faf3
call fcn.1800c5340
cmp al, 0x42
mov rax, qword [rsp + 0x40]
je 0x18012faf8
mov byte [rsp + 0x100], 1
jmp 0x18012faf8
mov rax, qword [rsp + 0x40]
add r14, 0x38
cmp r14, rax
jb 0x18012f970
mov rbx, qword [rsp + 0xa0]
lea r13, [0x1801f7528]
mov r15, qword [rsp + 0x70]
xor r10d, r10d
mov r9d, dword [rsp + 0x4c]
mov r11, qword [rsp + 0x78]
mov dword [rsp + 0x48], r12d
mov ecx, r10d
test esi, esi
jle 0x18012fb78
mov r10, qword [rsp + 0x50]
movsxd rax, r12d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r10, rax
jae 0x18012fb6a
mov rax, qword [rbp + 8]
inc r12d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [rbp + 0x40]
mov qword [rdx + rax], r13
add rdx, 8
inc ecx
cmp ecx, esi
jl 0x18012fb46
mov dword [rsp + 0x48], r12d
xor r10d, r10d
mov r13, qword [rsp + 0x98]
lea rsi, [0x1801f7528]
cmp qword [r13 + 0x58], 0
jge 0x18012fbe0
mov r8d, 0x3f
cmp r8w, word [r11 + 0x36]
jge 0x18012fbe0
movsxd rax, r12d
lea rcx, [rax*8]
lea rdx, [rax + rax]
nop word [rax + rax]
mov rax, qword [rbp + 8]
lea rdx, [rdx + 2]
inc r12d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r8w
inc r8d
mov rax, qword [rbp + 0x40]
mov qword [rcx + rax - 8], rsi
movsx eax, word [r11 + 0x36]
cmp r8d, eax
jl 0x18012fbb0
mov dword [rsp + 0x48], r12d
mov rax, qword [rbp + 8]
lea edx, [r9 + 1]
movsxd rcx, r12d
mov r12, qword [rsp + 0x118]
mov word [rax + rcx*2], 0xffff
mov rax, qword [rbp + 0x40]
mov qword [rax + rcx*8], rsi
mov eax, dword [rdi + 0x34]
mov dword [r12 + 8], eax
inc dword [rdi + 0x34]
movsxd rcx, dword [rbx + 0x90]
mov r8d, dword [r12 + 8]
cmp dword [rbx + 0x94], ecx
jg 0x18012fc37
mov r9d, edx
mov dword [rsp + 0x20], r10d
mov edx, reloc.WS2_32.dll_WSACleanup
mov rcx, rbx
call fcn.1800ab9f0
jmp 0x18012fc65
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], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov rsi, qword [rdi + 0x10]
mov rdx, rbp
mov rcx, rdi
call fcn.1800e6b10
mov rdx, rax
test rax, rax
je 0x18012fcb0
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
je 0x18012fc94
mov r8, rax
mov edx, 0xfffffff8
call fcn.1800ac500
jmp 0x18012fcb0
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 0x18012fd14
cmp byte [rsp + 0x100], 0
je 0x18012fd14
mov rax, qword [rsp + 0x108]
mov r8, r12
mov rcx, rdi
mov rdx, qword [rax]
call fcn.1801241e0
mov edx, dword [rdi + 0x38]
inc edx
mov dword [rdi + 0x38], edx
mov dword [r12 + 0x34], edx
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x18012fd5c
xor eax, eax
mov r9d, edx
mov edx, 0x4d
mov dword [rsp + 0x20], eax
mov r8d, 0x2710
mov rcx, rbx
call fcn.1800ab9f0
xor r9d, r9d
test byte [r13 + 0x48], 0x20
je 0x18012fe67
movsxd r8, dword [rbx + 0x90]
mov r14d, dword [r13 + 0x3c]
mov dword [rsp + 0x60], r8d
cmp dword [rbx + 0x94], r8d
jg 0x18012fd92
mov dword [rsp + 0x20], r9d
xor r8d, r8d
xor r9d, r9d
mov edx, 0x47
mov rcx, rbx
call fcn.1800ab9f0
mov dword [rsp + 0x60], eax
xor r9d, r9d
jmp 0x18012fdbd
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 0x18012fd17
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 0x18012fdec
mov dword [rsp + 0x20], edx
xor r9d, r9d
mov edx, ntohl
mov r8d, r14d
mov rcx, rbx
call fcn.1800ab9f0
xor r9d, r9d
jmp 0x18012fe1a
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], r14d
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 0x18012fe45
mov dword [rsp + 0x20], r9d
mov r8d, r14d
xor r9d, r9d
mov edx, recv
mov rcx, rbx
call fcn.1800ab9f0
mov esi, eax
jmp 0x18012fec4
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], r14d
jmp 0x18012feb6
movsxd rsi, dword [rbx + 0x90]
mov edx, dword [r12 + 4]
cmp dword [rbx + 0x94], esi
jg 0x18012fe97
mov dword [rsp + 0x20], r9d
mov r8d, edx
xor r9d, r9d
mov edx, 0x24
mov rcx, rbx
call fcn.1800ab9f0
mov esi, eax
jmp 0x18012fec4
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 r15, r15
je 0x18012fef4
dec dword [rdi + 0x44]
mov r9d, eax
mov r8d, dword [rdi + 0x44]
mov rdx, r15
mov rcx, rdi
mov dword [rsp + 0x64], r8d
call fcn.1800d0310
mov rcx, qword [rsp + 0x58]
or dword [rcx + 0x38], 0x20000
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x18012ff05
inc dword [rdi + 0x38]
mov r14d, dword [rdi + 0x38]
jmp 0x18012ff15
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov r14d, dword [rdi + rax*4 + 0xe8]
mov r8d, dword [r12 + 4]
xor eax, eax
mov dword [rsp + 0x38], eax
mov r9d, r14d
mov qword [rsp + 0x30], rax
mov rdx, rbp
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.1800e9d90
mov rbp, qword [rsp + 0x118]
mov r12d, eax
mov edx, dword [rbp + 0x34]
test edx, edx
je 0x18012ff84
mov rax, qword [rsp + 0x58]
movsxd rcx, dword [rbx + 0x90]
movzx r8d, word [rax + 0x18]
cmp dword [rbx + 0x94], ecx
jg 0x18012ffb3
mov dword [rsp + 0x28], r8d
xor r9d, r9d
mov r8d, edx
mov dword [rsp + 0x20], r12d
mov edx, VarDecFix
mov rcx, rbx
call fcn.1800aba50
xor r9d, r9d
movsxd rcx, dword [rbx + 0x90]
mov edx, dword [rbp + 8]
cmp dword [rbx + 0x94], ecx
jg 0x18012ffe6
mov dword [rsp + 0x20], r9d
mov r8d, edx
mov r9d, r14d
mov edx, 0x8a
mov rcx, rbx
call fcn.1800ab9f0
jmp 0x180130014
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], r12d
mov dword [rax + rcx*8 + 0x10], r8d
jmp 0x18012ff87
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], r14d
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x180130031
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov word [rax + rcx*8 - 0x16], 0x10
test r15, r15
je 0x180130065
mov rcx, qword [rbx + 0x18]
mov edx, dword [rsp + 0x64]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x180130055
mov r8d, edx
mov rdx, rbx
call fcn.1800ac230
jmp 0x180130065
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 rbp, [0x180251970]
je 0x18013012b
mov rax, qword [rbx]
cmp byte [rax + 0x67], 0
je 0x180130085
mov rcx, rbp
jmp 0x180130099
movsxd rax, dword [rsp + 0x60]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rcx, [rax + rcx*8]
mov eax, dword [rsp + 0x48]
mov edx, esi
add eax, r12d
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x118]
mov r9d, dword [r13 + 0x40]
mov eax, dword [rcx + 8]
mov r8d, dword [rcx + 4]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.18012f280
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1801300f6
xor eax, eax
mov r9d, esi
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 9
mov rcx, rbx
call fcn.1800ab9f0
and dword [r13 + 0x48], 0xffffffdf
jmp 0x1801301af
lea eax, [rcx + 1]
xor edx, edx
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], edx
mov qword [rax + rcx*8 + 0x10], rdx
and dword [r13 + 0x48], 0xffffffdf
jmp 0x1801301af
mov r8, qword [rsp + 0x118]
lea edx, [rsi + 1]
movsxd rcx, dword [rbx + 0x90]
mov r8d, dword [r8 + 4]
cmp dword [rbx + 0x94], ecx
jg 0x180130161
xor eax, eax
mov r9d, edx
mov edx, 0x27
mov dword [rsp + 0x20], eax
mov rcx, rbx
call fcn.1800ab9f0
jmp 0x180130192
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], 0x27
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
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x1801301af
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 0x1801301c3
mov rax, rbp
jmp 0x1801301d5
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test r14d, r14d
je 0x1801301f0
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x1801301f0
mov dword [rdi + rax*4 + 0xe8], r14d
inc byte [rdi + 0x1f]
mov rax, qword [rbx]
mov edx, dword [rbx + 0x90]
cmp byte [rax + 0x67], 0
jne 0x180130213
movsxd rax, dword [rsp + 0x68]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rbp, [rax + rcx*8]
mov dword [rbp + 8], edx
test r15, r15
je 0x180130226
mov rcx, qword [rdi]
mov rdx, r15
call fcn.1800c7260
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret