Function at 0x18012f060
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 0x18012f0ec
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor r8d, r8d
mov edx, reloc.WS2_32.dll_ntohs
mov rcx, rbx
call fcn.1800ab710
mov r10, qword [rsp + 0x118]
mov dword [rsp + 0x68], eax
jmp 0x18012f112
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 0x18012f4f9
test byte [rsi + 0x12], 2
mov rbp, qword [rsi]
jne 0x18012f39e
movzx r8d, byte [r10 + 0x40]
xor r9d, r9d
mov rcx, rbp
call fcn.1800c8eb0
test eax, eax
je 0x18012f38f
test rbp, rbp
je 0x18012f1be
mov rcx, qword [rdi]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbp
call fcn.1800c7290
mov rbp, rax
mov r14, qword [rdi]
test r15, r15
jne 0x18012f1d3
mov r15, rbp
mov qword [rsp + 0x70], rbp
jmp 0x18012f38a
test rbp, rbp
jne 0x18012f1e2
mov qword [rsp + 0x70], r15
jmp 0x18012f38a
mov eax, dword [r15 + 4]
or eax, dword [rbp + 4]
and eax, 0x20000003
cmp eax, 0x20000000
jne 0x18012f2cc
cmp byte [rdi + 0x134], 2
jae 0x18012f2cc
mov rdx, r15
mov rcx, rdi
call fcn.1800c7090
mov rdx, rbp
mov rcx, rdi
call fcn.1800c7090
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x48], 0
lea rcx, [0x180206c10]
call fcn.180082870
test eax, eax
mov ebp, eax
mov eax, 0x48
mov edx, 0x4a
cmovne edx, eax
mov rcx, r14
call fcn.18007d7c0
mov qword [rsp + 0x70], rax
mov r15, rax
test rax, rax
je 0x18012f38a
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 0x18012f2b2
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 0x18012f38a
lea rax, [r15 + 0x48]
mov qword [r15 + 8], rax
mov word [rax], 0x30
mov dword [r15 + 0x28], 1
jmp 0x18012f38a
mov edx, 0x48
mov rcx, r14
call fcn.18007d7c0
mov r14, rax
test rax, rax
je 0x18012f36c
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 0x18012f34c
lea edx, [rax + 1]
mov dword [r14 + 0x28], edx
mov rax, qword [rdi]
mov r8d, dword [rax + 0x94]
cmp edx, r8d
jle 0x18012f382
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.180081380
jmp 0x18012f382
mov rcx, qword [rdi]
mov rdx, r15
call fcn.1800c6f80
mov rcx, qword [rdi]
mov rdx, rbp
call fcn.1800c6f80
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 0x18012f4cb
test byte [rsi + 0x14], 0x82
je 0x18012f4cb
movzx ecx, byte [r13 + 0x44]
test cl, 0x58
je 0x18012f3e8
mov rax, qword [rsi]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x18012f5b5
cmp dword [rax + 0x34], edx
jne 0x18012f5b5
test cl, 0x18
je 0x18012f3e8
test r8b, 2
jne 0x18012f5b5
mov rax, qword [rsp + 0x110]
test qword [rsi + 0x28], rax
jne 0x18012f5b5
movsxd rax, dword [rsi + 0x20]
test eax, eax
js 0x18012f5b5
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.1800c5580
test eax, eax
je 0x18012f4bc
movsxd rcx, dword [rsi + 0x20]
cmp ecx, 0x40
jl 0x18012f43c
movabs rbp, 0x8000000000000000
jmp 0x18012f444
mov ebp, 1
shl rbp, cl
test r12b, r12b
jne 0x18012f471
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.180080210
mov r12b, 1
mov r8, qword [rsp + 0x50]
test r8, rbp
jne 0x18012f4c1
mov rdx, qword [rsp + 0x58]
inc r14d
mov rcx, qword [rdi]
mov r8d, r14d
call fcn.180130fa0
test eax, eax
jne 0x18012ff36
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 0x18012f4c6
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 0x18012f180
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 0x18012f52c
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 0x18012f550
mov esi, eax
test eax, eax
jle 0x18012f56b
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 0x18012f550
mov dword [rsp + 0x4c], ecx
cmp qword [r13 + 0x58], 0
jge 0x18012f583
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 0x18012f5bf
mov rdx, r12
call fcn.18007d7c0
jmp 0x18012f5c7
mov r8, qword [rsp + 0x50]
jmp 0x18012f4c6
mov rcx, r12
call fcn.18007d030
mov rbp, rax
test rax, rax
je 0x18012ff36
mov r8, r12
xor edx, edx
mov rcx, rax
call fcn.1801d8ef0
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 0x18012f84b
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 0x18012f818
test byte [r14 + 0x14], 0x82
je 0x18012f818
movzx ecx, byte [rbx + 0x44]
test cl, 0x58
je 0x18012f6df
mov rax, qword [r14]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x18012f813
cmp dword [rax + 0x34], edx
mov rax, qword [rsp + 0x40]
jne 0x18012f818
test cl, 0x18
je 0x18012f6df
test r8b, 2
jne 0x18012f818
mov dword [rsp + 0x48], esi
test qword [r14 + 0x28], r15
jne 0x18012f818
movsxd rax, dword [r14 + 0x20]
test eax, eax
js 0x18012f813
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.1800c5580
test eax, eax
je 0x18012f813
mov ecx, dword [r14 + 0x20]
cmp ecx, 0x40
jl 0x18012f72f
movabs rax, 0x8000000000000000
jmp 0x18012f737
mov eax, 1
shl rax, cl
mov r8, qword [rsp + 0x90]
test r8, rax
jne 0x18012f813
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 0x18012f77a
mov rsi, qword [r13 + 0x10]
mov rdx, qword [r13 + 0x18]
jmp 0x18012f782
mov rsi, qword [r13 + 0x18]
mov rdx, qword [r13 + 0x10]
test dword [rdx + 4], 0x200
jne 0x18012f7a9
test rsi, rsi
je 0x18012f799
test dword [rsi + 4], 0x200
jne 0x18012f7a6
mov rcx, rdi
call fcn.1800c5370
test rax, rax
jne 0x18012f7b6
mov rdx, rsi
mov rcx, rdi
call fcn.1800c5370
test rax, rax
je 0x18012f7bb
mov rcx, qword [rax]
jmp 0x18012f7c2
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 0x18012f813
call fcn.1800c5060
cmp al, 0x42
mov rax, qword [rsp + 0x40]
je 0x18012f818
mov byte [rsp + 0x100], 1
jmp 0x18012f818
mov rax, qword [rsp + 0x40]
add r14, 0x38
cmp r14, rax
jb 0x18012f690
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 0x18012f898
mov r10, qword [rsp + 0x50]
movsxd rax, r12d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r10, rax
jae 0x18012f88a
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 0x18012f866
mov dword [rsp + 0x48], r12d
xor r10d, r10d
mov r13, qword [rsp + 0x98]
lea rsi, [0x1801f7528]
cmp qword [r13 + 0x58], 0
jge 0x18012f900
mov r8d, 0x3f
cmp r8w, word [r11 + 0x36]
jge 0x18012f900
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 0x18012f8d0
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 0x18012f957
mov r9d, edx
mov dword [rsp + 0x20], r10d
mov edx, reloc.WS2_32.dll_WSACleanup
mov rcx, rbx
call fcn.1800ab710
jmp 0x18012f985
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.1800e6830
mov rdx, rax
test rax, rax
je 0x18012f9d0
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
je 0x18012f9b4
mov r8, rax
mov edx, 0xfffffff8
call fcn.1800ac220
jmp 0x18012f9d0
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 0x18012fa34
cmp byte [rsp + 0x100], 0
je 0x18012fa34
mov rax, qword [rsp + 0x108]
mov r8, r12
mov rcx, rdi
mov rdx, qword [rax]
call fcn.180123f00
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 0x18012fa7c
xor eax, eax
mov r9d, edx
mov edx, 0x4d
mov dword [rsp + 0x20], eax
mov r8d, 0x2710
mov rcx, rbx
call fcn.1800ab710
xor r9d, r9d
test byte [r13 + 0x48], 0x20
je 0x18012fb87
movsxd r8, dword [rbx + 0x90]
mov r14d, dword [r13 + 0x3c]
mov dword [rsp + 0x60], r8d
cmp dword [rbx + 0x94], r8d
jg 0x18012fab2
mov dword [rsp + 0x20], r9d
xor r8d, r8d
xor r9d, r9d
mov edx, 0x47
mov rcx, rbx
call fcn.1800ab710
mov dword [rsp + 0x60], eax
xor r9d, r9d
jmp 0x18012fadd
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 0x18012fa37
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 0x18012fb0c
mov dword [rsp + 0x20], edx
xor r9d, r9d
mov edx, ntohl
mov r8d, r14d
mov rcx, rbx
call fcn.1800ab710
xor r9d, r9d
jmp 0x18012fb3a
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 0x18012fb65
mov dword [rsp + 0x20], r9d
mov r8d, r14d
xor r9d, r9d
mov edx, recv
mov rcx, rbx
call fcn.1800ab710
mov esi, eax
jmp 0x18012fbe4
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 0x18012fbd6
movsxd rsi, dword [rbx + 0x90]
mov edx, dword [r12 + 4]
cmp dword [rbx + 0x94], esi
jg 0x18012fbb7
mov dword [rsp + 0x20], r9d
mov r8d, edx
xor r9d, r9d
mov edx, 0x24
mov rcx, rbx
call fcn.1800ab710
mov esi, eax
jmp 0x18012fbe4
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 0x18012fc14
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.1800d0030
mov rcx, qword [rsp + 0x58]
or dword [rcx + 0x38], 0x20000
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x18012fc25
inc dword [rdi + 0x38]
mov r14d, dword [rdi + 0x38]
jmp 0x18012fc35
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.1800e9ab0
mov rbp, qword [rsp + 0x118]
mov r12d, eax
mov edx, dword [rbp + 0x34]
test edx, edx
je 0x18012fca4
mov rax, qword [rsp + 0x58]
movsxd rcx, dword [rbx + 0x90]
movzx r8d, word [rax + 0x18]
cmp dword [rbx + 0x94], ecx
jg 0x18012fcd3
mov dword [rsp + 0x28], r8d
xor r9d, r9d
mov r8d, edx
mov dword [rsp + 0x20], r12d
mov edx, VarDecFix
mov rcx, rbx
call fcn.1800ab770
xor r9d, r9d
movsxd rcx, dword [rbx + 0x90]
mov edx, dword [rbp + 8]
cmp dword [rbx + 0x94], ecx
jg 0x18012fd06
mov dword [rsp + 0x20], r9d
mov r8d, edx
mov r9d, r14d
mov edx, 0x8a
mov rcx, rbx
call fcn.1800ab710
jmp 0x18012fd34
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 0x18012fca7
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 0x18012fd51
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov word [rax + rcx*8 - 0x16], 0x10
test r15, r15
je 0x18012fd85
mov rcx, qword [rbx + 0x18]
mov edx, dword [rsp + 0x64]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x18012fd75
mov r8d, edx
mov rdx, rbx
call fcn.1800abf50
jmp 0x18012fd85
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 0x18012fe4b
mov rax, qword [rbx]
cmp byte [rax + 0x67], 0
je 0x18012fda5
mov rcx, rbp
jmp 0x18012fdb9
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.18012efa0
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x18012fe16
xor eax, eax
mov r9d, esi
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 9
mov rcx, rbx
call fcn.1800ab710
and dword [r13 + 0x48], 0xffffffdf
jmp 0x18012fecf
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 0x18012fecf
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 0x18012fe81
xor eax, eax
mov r9d, edx
mov edx, 0x27
mov dword [rsp + 0x20], eax
mov rcx, rbx
call fcn.1800ab710
jmp 0x18012feb2
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 0x18012fecf
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 0x18012fee3
mov rax, rbp
jmp 0x18012fef5
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 0x18012ff10
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012ff10
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 0x18012ff33
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 0x18012ff46
mov rcx, qword [rdi]
mov rdx, r15
call fcn.1800c6f80
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret