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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4b8]
sub rsp, 0x5b8
mov qword [rbp + 0x178], 0xfffffffffffffffe
mov rsi, rcx
xor r14d, r14d
mov r12d, r14d
mov dword [rsp + 0x30], r14d
movsxd rax, dword [rcx + 0xbc]
lea rdx, [0x140000000]
cmp eax, 0xa
ja case.0x1400a6cd6.3
mov ecx, dword [rdx + rax*4 + 0xa9c68]
add rcx, rdx
jmp rcx
mov qword [rsi + 0x1a0], r14
mov qword [rsi + 0x1a8], r14
mov qword [rsi + 0x170], r14
mov qword [rsi + 0x178], r14
mov qword [rsi + 0x190], r14
mov qword [rsi + 0x198], r14
mov qword [rsi + 0x180], r14
mov qword [rsi + 0x188], r14
lea rcx, [rsi + 0x140]
mov rax, qword [rcx]
cmp dword [rax + 8], r12d
je 0x1400a6d25
call fcn.1400a3500
lea rcx, [rsi + 0xf0]
mov rax, qword [rcx]
cmp dword [rax + 8], r12d
je 0x1400a6d3c
xor edx, edx
call fcn.1400a1b90
test byte [rsi + 0x220], 1
je 0x1400a6e37
mov eax, dword [rsi + 0xbc]
mov ecx, 5
cmp eax, 1
cmovne eax, ecx
mov dword [rsi + 0xbc], eax
movsxd rcx, dword [rsi + 0x28]
lea r8, [rcx + rcx*8]
mov rdx, qword [rsi + 0x20]
lea eax, [rcx - 1]
mov dword [rsi + 0x28], eax
mov eax, dword [rdx + r8*8 + 0x40]
mov dword [rsi + 0x18], eax
mov eax, dword [rdx + r8*8 + 0x44]
dec eax
mov dword [rsi + 8], eax
cmp dword [rsi + 0x28], r12d
setl al
mov byte [rsi + 0x1c], al
mov rax, qword [rdx + r8*8 + 0x30]
mov qword [rsi + 0x180], rax
mov eax, dword [rdx + r8*8 + 0x38]
mov dword [rsi + 0x188], eax
mov eax, dword [rdx + r8*8 + 0x3c]
mov dword [rsi + 0x18c], eax
mov rax, qword [rdx + r8*8]
mov qword [rsi + 0x1a0], rax
mov eax, dword [rdx + r8*8 + 8]
mov dword [rsi + 0x1a8], eax
mov eax, dword [rdx + r8*8 + 0xc]
mov dword [rsi + 0x1ac], eax
mov rax, qword [rdx + r8*8 + 0x10]
mov qword [rsi + 0x190], rax
mov eax, dword [rdx + r8*8 + 0x18]
mov dword [rsi + 0x198], eax
mov eax, dword [rdx + r8*8 + 0x1c]
mov dword [rsi + 0x19c], eax
and dword [rsi + 0x220], 0xfffffffe
jmp 0x1400a9c4f
mov qword [rsi + 0x1a0], r14
mov qword [rsi + 0x1a8], r14
mov qword [rsi + 0x170], r14
mov qword [rsi + 0x178], r14
mov qword [rsi + 0x190], r14
mov qword [rsi + 0x198], r14
mov qword [rsi + 0x180], r14
mov qword [rsi + 0x188], r14
mov rcx, rsi
call fcn.14009fbc0
jmp case.0x1400a6cd6.0
lea rcx, [rsi + 0x138]
call fcn.1400a33c0
lea rcx, [rsi + 0x158]
call fcn.1400a3620
mov qword [rsi + 0x1d0], r14
mov qword [rsi + 0x1d8], r14
mov qword [rsi + 0x1e0], r14
mov qword [rsi + 0x1e8], r14
mov qword [rsi + 0x1f0], r14
mov qword [rsi + 0x1f8], r14
and dword [rsi + 0x220], 0xfffffffb
or dword [rsi + 0x220], 2
mov qword [rsi + 0x160], r14
mov qword [rsi + 0x168], r14
mov rcx, rsi
call fcn.14009fbc0
jmp case.0x1400a6cd6.0
mov qword [rsi + 0x160], r14
mov qword [rsi + 0x168], r14
mov qword [rsi + 0x1a0], r14
mov qword [rsi + 0x1a8], r14
mov rcx, rsi
call fcn.14009fbc0
jmp case.0x1400a6cd6.0
mov qword [rsi + 0x1b0], r14
mov qword [rsi + 0x1b8], r14
mov qword [rsi + 0x1c0], r14
mov qword [rsi + 0x1c8], r14
mov rcx, rsi
call fcn.14009fbc0
jmp case.0x1400a6cd6.0
or dword [rsi + 0x220], 0x800
mov qword [rsi + 0x200], r14
mov qword [rsi + 0x208], r14
mov qword [rsi + 0x210], r14
mov qword [rsi + 0x218], r14
mov rcx, qword [rsi + 0xb0]
call fcn.140040dc0
test al, al
je case.0x1400a6cd6.3
xor r8d, r8d
lea rdx, [0x140da08a8]
lea rcx, [rbp + 0xb0]
call fcn.14009fa70
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp + 0xb0]
lock dec dword [rax]
jne 0x1400a6f72
mov rcx, qword [rbp + 0xb0]
call fcn.14000ade0
lea rcx, [rsi + 0x58]
call fcn.14000dad0
xor al, al
jmp 0x1400a9c51
cmp byte [rsi + 0xf8], r12b
jne case.0x1400a6cd6.0
xor edx, edx
lea rcx, [rsi + 0x240]
call fcn.14000b650
mov rax, qword [rsi + 0x240]
mov ecx, dword [rax]
cmp ecx, 1
jne 0x1400a6fb7
mov rax, qword [rsi + 0x240]
cmp dword [rax + 4], 0x100
jge 0x1400a6fc8
mov edx, 0x100
lea rcx, [rsi + 0x240]
call fcn.14000aeb0
mov rax, qword [rsi + 0x240]
or word [rax + 0x18], 0x10
mov eax, dword [rsi + 0xbc]
cmp eax, 1
cmovne eax, r14d
mov dword [rsi + 0xbc], eax
mov r8d, dword [rsi + 0x224]
mov dword [rsp + 0x68], r8d
mov edi, 5
or r13d, 0xffffffff
lea ebx, [rdi - 3]
lea edx, [rdi - 1]
lea r10d, [rdi - 4]
lea r11d, [rdi - 2]
lea r15, [0x140dd80a8]
movsxd rcx, dword [rsi + 0x228]
mov rax, qword [rsi + 0x238]
lea r9, [0x140000000]
test r8d, r8d
je 0x1400a703f
mov eax, dword [rax + rcx*4 - 4]
mov dword [rsp + 0x6c], eax
mov dword [rsi + 0x224], r14d
jmp 0x1400a73f9
mov ebx, dword [rax + rcx*4]
cmp word [rsi + 0x258], 0xffff
jne 0x1400a72bf
movsxd rax, ebx
mov ecx, 0xffffffc7
cmp cx, word [r9 + rax*2 + 0xd9e7f0]
je 0x1400a72bf
mov eax, dword [rsi + 0x70]
inc eax
je 0x1400a7091
cmp byte [rsi + 0xb8], 0
je 0x1400a707c
mov edx, r14d
jmp 0x1400a70ca
movsxd rax, dword [rsi + 0x70]
mov rdx, rax
mov rcx, qword [rsi + 0x68]
dec eax
mov dword [rsi + 0x70], eax
mov edx, dword [rcx + rdx*4]
jmp 0x1400a70ca
mov rdx, qword [rsi + 0x58]
movsxd rcx, dword [rsi + 0x60]
cmp ecx, dword [rdx + 8]
jge 0x1400a70ae
lea eax, [rcx + 1]
mov dword [rsi + 0x60], eax
mov rax, qword [rdx + 0x10]
movzx edx, word [rax + rcx*2]
jmp 0x1400a70ca
mov rcx, rsi
call fcn.1400a2820
movzx edx, ax
lea r9, [0x140000000]
mov r10d, 1
lea r11d, [r10 + 2]
mov word [rsi + 0x258], r10w
mov word [rsi + 0x25a], dx
test edx, 0xff0000
je 0x1400a70f0
shr edx, 0x10
mov word [rsi + 0x258], dx
jmp 0x1400a72bf
movzx eax, dx
cmp eax, 0xffff
jg case.0x1400a7126.28
cmp eax, 0xfffe
jge 0x1400a729d
cmp eax, 0x7c
ja case.0x1400a7126.28
movzx eax, byte [r9 + rax + 0xa9d08]
mov ecx, dword [r9 + rax*4 + 0xa9c94]
add rcx, r9
jmp rcx
mov eax, 2
mov word [rsi + 0x258], ax
cmp edx, 0xd
jne 0x1400a72bf
mov rcx, rsi
call fcn.1400a5910
mov word [rsi + 0x25a], ax
lea r9, [0x140000000]
test ax, ax
je case.0x1400a7126.0
inc qword [rsi + 0xd8]
movsxd rax, dword [rsi + 0x60]
add rax, qword [rsi + 0xe8]
mov qword [rsi + 0xe0], rax
jmp 0x1400a72bf
mov word [rsi + 0x258], r14w
cmp byte [rsi + 0x1c], 0
jne 0x1400a72bf
test byte [rsi + 0x220], 0x80
jne 0x1400a72bf
xor edx, edx
mov ecx, ebx
call fcn.14009f670
test eax, eax
js 0x1400a98e5
lea r9, [0x140000000]
jmp 0x1400a72bf
inc qword [rsi + 0xd8]
movsxd rax, dword [rsi + 0x60]
add rax, qword [rsi + 0xe8]
mov qword [rsi + 0xe0], rax
mov eax, 2
jmp 0x1400a72b8
mov word [rsi + 0x258], di
jmp 0x1400a72bf
mov eax, 6
jmp 0x1400a72b8
mov eax, 7
jmp 0x1400a72b8
mov eax, 8
jmp 0x1400a72b8
mov word [rsi + 0x258], r11w
jmp 0x1400a72bf
mov eax, 4
jmp 0x1400a72b8
mov eax, 9
jmp 0x1400a72b8
mov eax, 0xa
jmp 0x1400a72b8
mov eax, 0xb
jmp 0x1400a72b8
mov eax, 0xc
jmp 0x1400a72b8
mov eax, 0xd
jmp 0x1400a72b8
mov eax, 0xe
jmp 0x1400a72b8
mov eax, 0xf
jmp 0x1400a72b8
mov eax, 0x10
jmp 0x1400a72b8
mov eax, 0x11
jmp 0x1400a72b8
mov eax, 0x12
jmp 0x1400a72b8
mov eax, 0x13
jmp 0x1400a72b8
mov eax, 0x14
jmp 0x1400a72b8
mov eax, 0x15
jmp 0x1400a72b8
mov eax, 0x16
jmp 0x1400a72b8
mov eax, 0x17
jmp 0x1400a72b8
mov eax, 0x18
jmp 0x1400a72b8
mov eax, 0x19
jmp 0x1400a72b8
mov eax, 0x1b
jmp 0x1400a72b8
mov eax, 0x2b
jmp 0x1400a72b8
cmp edx, 0x20
jae 0x1400a72b3
mov word [rsi + 0x258], r10w
jmp 0x1400a72bf
mov eax, 0x1a
mov word [rsi + 0x258], ax
movsx edx, word [rsi + 0x258]
movsxd r8, ebx
movsx eax, word [r9 + r8*2 + 0xd9e7f0]
add eax, edx
js 0x1400a72f1
movsxd rcx, eax
movsx eax, word [r9 + rcx*2 + 0xd9f8e0]
cmp eax, edx
jne 0x1400a72f1
movsx ebx, word [r9 + rcx*2 + 0xd9eea0]
jmp 0x1400a72fc
movsx ebx, word [r9 + r8*2 + 0xd9e3e0]
neg ebx
cmp ebx, 0x1a0
je 0x1400a9c26
test ebx, ebx
jle 0x1400a73a8
inc dword [rsi + 0x228]
mov eax, dword [rsi + 0x22c]
dec eax
cmp dword [rsi + 0x228], eax
jne 0x1400a732e
mov rcx, rsi
call fcn.14009f6e0
movsxd r8, dword [rsi + 0x228]
shl r8, 4
add r8, qword [rsi + 0x230]
movzx eax, word [rsi + 0x25a]
mov word [r8 + 0xc], ax
lea rcx, [rsi + 0x240]
mov rax, qword [rcx]
mov edx, dword [rax + 8]
mov dword [r8], edx
mov r10d, 1
mov qword [r8 + 4], r10
movzx edx, word [rsi + 0x25a]
test dx, dx
je 0x1400a737d
call fcn.14000b2a0
mov r10d, 1
movsxd rcx, dword [rsi + 0x228]
mov rax, qword [rsi + 0x238]
mov dword [rax + rcx*4], ebx
mov word [rsi + 0x258], r13w
lea r9, [0x140000000]
mov r11d, 3
jmp 0x1400a7042
jns 0x1400a9c1a
mov r8d, r13d
sub r8d, ebx
mov dword [rsp + 0x68], r8d
movsxd rax, r8d
movsx eax, word [r9 + rax*2 + 0xd9e1c0]
sub dword [rsi + 0x228], eax
movsxd rdx, dword [rsi + 0x228]
mov rax, qword [rsi + 0x238]
mov ecx, dword [rax + rdx*4]
mov dword [rsp + 0x6c], ecx
lea eax, [rdx + 1]
mov dword [rsi + 0x228], eax
mov ebx, 2
lea edx, [rbx + 2]
lea r10d, [rbx - 1]
lea r11d, [rbx + 1]
cmp r8d, 0x10c
ja case.0x1400a741d.60
movsxd rax, r8d
movzx eax, byte [r9 + rax + 0xa9e7c]
mov ecx, dword [r9 + rax*4 + 0xa9d88]
add rcx, r9
jmp rcx
cmp dword [rsi + 0xbc], 1
je case.0x1400a741d.60
mov dword [rsi + 0xbc], r11d
jmp case.0x1400a741d.60
cmp dword [rsi + 0xbc], 1
je case.0x1400a741d.60
mov eax, dword [rsi + 0x220]
test al, 0x40
jne 0x1400a7457
test al, al
jns 0x1400a9920
mov dword [rsi + 0xbc], r11d
jmp case.0x1400a741d.60
movsxd rax, dword [rsi + 0x90]
mov rdx, rax
mov rcx, qword [rsi + 0x88]
dec eax
mov dword [rsi + 0x90], eax
mov rax, qword [rcx + rdx*8]
and dword [rax + 8], 0xffffffef
movsxd rdx, dword [rsi + 0x228]
shl rdx, 4
add rdx, qword [rsi + 0x230]
mov rax, qword [rsi + 0x240]
mov ecx, dword [rax + 8]
mov dword [rdx], ecx
mov dword [rdx + 4], r14d
jmp case.0x1400a741d.60
mov r8d, 0x37
xor r9d, r9d
lea rdx, [0x140d3a780]
mov rcx, rsi
call fcn.1400a61d0
test al, al
jne 0x1400a9861
cmp byte [rsi + 0xb8], al
jne 0x1400a999e
jmp 0x1400a9861
mov eax, dword [rsi + 0xbc]
cmp eax, 1
cmovne eax, ebx
mov dword [rsi + 0xbc], eax
mov r8d, 6
lea rdx, [rbp + 0x488]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rsi + 0x200], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x208], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x20c], eax
mov rcx, rsi
call fcn.1400a2e10
jmp 0x1400a9861
or dword [rsi + 0x220], 0x400
mov r8d, ebx
lea rdx, [rbp + 0x328]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rsi + 0x1f0], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x1f8], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x1fc], eax
jmp 0x1400a9861
mov r8d, ebx
lea rdx, [rbp + 0x1c8]
mov rcx, rsi
call fcn.14009fc20
mov rdx, rax
mov rcx, rsi
call fcn.1400a2c70
mov r8d, ebx
lea rdx, [rbp + 0x3e8]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rsi + 0x1e0], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x1e8], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x1ec], eax
mov r8d, 4
lea rdx, [rbp + 0x1e8]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rsi + 0x1f0], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x1f8], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x1fc], eax
or dword [rsi + 0x220], 0x400
jmp 0x1400a9861
mov rcx, rsi
call fcn.1400a6570
test al, al
jne 0x1400a760c
cmp byte [rsi + 0xb8], al
jne 0x1400a99b4
mov r8d, 3
lea rdx, [rbp + 0x348]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rsi + 0x1d0], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x1d8], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x1dc], eax
jmp 0x1400a9861
mov r8d, r11d
lea rdx, [rbp + 0x208]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rsi + 0x1d0], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x1d8], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x1dc], eax
lea r9, [0x140000000]
mov eax, dword [rsi + 0xbc]
cmp eax, 1
mov ecx, 8
cmovne eax, ecx
mov dword [rsi + 0xbc], eax
lea rax, [rsi + 0x240]
mov qword [rsi + 0x160], rax
mov dword [rsi + 0x168], r14d
test rax, rax
je 0x1400a76b0
mov rax, qword [rax]
mov ecx, dword [rax + 8]
jmp 0x1400a76b3
mov ecx, r14d
mov dword [rsi + 0x16c], ecx
jmp case.0x1400a741d.60
mov byte [rsi + 0xf8], 1
jmp case.0x1400a741d.60
mov byte [rsi + 0xf8], 0
jmp case.0x1400a741d.60
mov r8d, 0x28
xor r9d, r9d
lea rdx, [0x140d9dcdc]
mov rcx, rsi
call fcn.1400a61d0
test al, al
jne 0x1400a9861
mov r8d, 0x29
xor r9d, r9d
lea rdx, [0x140d9dcd8]
mov rcx, rsi
call fcn.1400a61d0
test al, al
jne 0x1400a9861
cmp byte [rsi + 0xb8], al
jne 0x1400a99ca
jmp 0x1400a9861
mov r8d, 0x2a
xor r9d, r9d
lea rdx, [0x140d9dcd0]
mov rcx, rsi
call fcn.1400a61d0
test al, al
jne 0x1400a9861
cmp byte [rsi + 0xb8], al
jne 0x1400a99de
jmp 0x1400a9861
mov byte [rsi + 0x110], 1
jmp case.0x1400a741d.60
mov rcx, rsi
call fcn.1400a6660
test al, al
jne 0x1400a9861
cmp byte [rsi + 0xb8], al
jne 0x1400a99f4
jmp 0x1400a9861
movsxd rdx, dword [rsi + 0x228]
add rdx, rdx
mov rcx, qword [rsi + 0x230]
mov eax, dword [rcx + rdx*8 + 0x10]
mov dword [rcx + rdx*8], eax
mov eax, dword [rcx + rdx*8 + 0x14]
mov dword [rcx + rdx*8 + 4], eax
mov eax, dword [rcx + rdx*8 + 0x18]
mov dword [rcx + rdx*8 + 8], eax
mov eax, dword [rcx + rdx*8 + 0x1c]
mov dword [rcx + rdx*8 + 0xc], eax
mov qword [rsi + 0x100], r14
mov qword [rsi + 0x108], 0
mov byte [rsi + 0x110], 0
mov rcx, rsi
call fcn.1400a6720
test al, al
jne 0x1400a9861
cmp byte [rsi + 0xb8], al
jne 0x1400a9a08
jmp 0x1400a9861
lea rcx, [rsi + 0x118]
call fcn.1400a0900
mov rdi, rax
mov qword [rax], r14
mov qword [rax + 8], 0
movzx ecx, byte [rsi + 0x110]
mov byte [rax + 0x50], cl
mov r8d, 1
lea rdx, [rbp + 0x448]
mov rcx, rsi
call fcn.14009fcf0
mov r8, rax
lea rdx, [rbp + 0x228]
mov rcx, rsi
call fcn.14009faa0
mov rcx, qword [rax]
mov qword [rdi + 0x20], rcx
mov ecx, dword [rax + 8]
mov dword [rdi + 0x28], ecx
mov eax, dword [rax + 0xc]
mov dword [rdi + 0x2c], eax
mov r8d, 1
lea rdx, [rbp + 0x368]
mov rcx, rsi
call fcn.14009fc20
mov r8, rax
lea rdx, [rbp + 0x248]
mov rcx, rsi
call fcn.14009faa0
mov rcx, qword [rax]
mov qword [rdi + 0x30], rcx
mov ecx, dword [rax + 8]
mov dword [rdi + 0x38], ecx
mov eax, dword [rax + 0xc]
mov dword [rdi + 0x3c], eax
mov r8d, 1
lea rdx, [rbp + 0x408]
mov rcx, rsi
call fcn.14009fc60
mov r8, rax
lea rdx, [rbp + 0x268]
mov rcx, rsi
call fcn.14009faa0
mov rcx, qword [rax]
mov qword [rdi + 0x10], rcx
mov ecx, dword [rax + 8]
mov dword [rdi + 0x18], ecx
mov eax, dword [rax + 0xc]
mov dword [rdi + 0x1c], eax
lea rax, [0x140da0c60]
mov qword [rbp + 0x138], rax
lea rdx, [rdi + 0x20]
lea rcx, [rbp + 0x138]
call fcn.14000a3d0
test al, al
jne 0x1400a7910
cmp dword [rdi + 0x2c], 0
jne 0x1400a790b
lea rax, [0x140da0c60]
mov qword [rbp + 0x110], rax
lea rdx, [rdi + 0x30]
lea rcx, [rbp + 0x110]
call fcn.14000a3d0
test al, al
jne 0x1400a7910
mov eax, r14d
jmp 0x1400a7915
mov eax, 1
mov byte [rdi + 0x51], al
lea rcx, [rsi + 0x100]
mov rax, qword [rcx]
test rax, rax
je 0x1400a79e0
cmp qword [rax], r15
je 0x1400a79e0
cmp byte [rdi + 0x50], 0
je 0x1400a7969
mov r8, rcx
lea rdx, [rbp + 0x388]
mov rcx, rsi
call fcn.14009faa0
mov rcx, qword [rax]
mov qword [rdi + 0x40], rcx
mov ecx, dword [rax + 8]
mov dword [rdi + 0x48], ecx
mov eax, dword [rax + 0xc]
mov dword [rdi + 0x4c], eax
mov r12d, dword [rsp + 0x30]
jmp 0x1400a9861
lea rdx, [rbp - 0x48]
call fcn.14000b410
nop
lea rdx, [rbp + 0x58]
mov rcx, rax
call fcn.14000ee00
nop
mov r8, rax
lea rdx, [rbp + 0x288]
mov rcx, rsi
call fcn.14009fb40
mov rcx, qword [rax]
mov qword [rdi + 0x40], rcx
mov ecx, dword [rax + 8]
mov dword [rdi + 0x48], ecx
mov eax, dword [rax + 0xc]
mov dword [rdi + 0x4c], eax
mov rax, qword [rbp + 0x58]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a79be
mov rcx, qword [rbp + 0x58]
call fcn.14000ade0
nop
mov rax, qword [rbp - 0x48]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a795f
mov rcx, qword [rbp - 0x48]
call fcn.14000ade0
mov r12d, dword [rsp + 0x30]
jmp 0x1400a9861
mov qword [rdi + 0x40], r14
mov qword [rdi + 0x48], 0
mov r12d, dword [rsp + 0x30]
jmp 0x1400a9861
mov eax, dword [rsi + 0x220]
bt eax, 8
jae 0x1400a7a0a
test al, 8
je case.0x1400a741d.60
mov ebx, dword [rsi + 0x120]
inc ebx
mov r8d, r11d
lea rdx, [rbp + 0x198]
mov rcx, rsi
call fcn.14009fc60
mov r8, rax
lea rdx, [rbp + 0xc8]
mov rcx, rsi
call fcn.14009faa0
movsxd r15, ebx
test ebx, ebx
je 0x1400a985a
mov r13, r15
imul r13, r13, 0x58
nop dword [rax + rax]
dec r15
sub r13, 0x58
mov r14, qword [rsi + 0x118]
mov rax, qword [r13 + r14]
lea r9, [0x140dd80a8]
test rax, rax
je 0x1400a7a78
cmp qword [rax], r9
jne 0x1400a9852
mov rax, qword [rbp + 0xc8]
mov qword [r13 + r14], rax
mov eax, dword [rbp + 0xd0]
mov dword [r13 + r14 + 8], eax
mov eax, dword [rbp + 0xd4]
mov dword [r13 + r14 + 0xc], eax
xor eax, eax
mov ebx, eax
mov r12d, eax
test r15, r15
jle 0x1400a7b25
mov edi, eax
nop dword [rax]
mov rdx, qword [rsi + 0x118]
mov rax, qword [rdi + rdx]
test rax, rax
je 0x1400a7adf
cmp qword [rax], r9
je 0x1400a7adf
movsxd rcx, ebx
imul rcx, rcx, 0x58
add rcx, rdx
lea rdx, [rbp + 0xc8]
call fcn.14000a310
test al, al
je 0x1400a7aff
movsxd rcx, ebx
imul rcx, rcx, 0x58
add rcx, qword [rsi + 0x118]
lea rdx, [r13 + r14 + 0x10]
add rcx, 0x10
call fcn.14000a310
test al, al
jne 0x1400a7b16
inc ebx
inc r12
add rdi, 0x58
cmp r12, r15
lea r9, [0x140dd80a8]
jl 0x1400a7ab0
jmp 0x1400a7b22
xor eax, eax
mov qword [r13 + r14 + 0x10], rax
mov qword [r13 + r14 + 0x18], rax
test r15, r15
jne 0x1400a7a50
jmp 0x1400a9852
mov rcx, rsi
call fcn.1400a6570
test al, al
jne 0x1400a7b48
cmp byte [rsi + 0xb8], al
jne 0x1400a9a1c
lea rcx, [rsi + 0x148]
call fcn.1400a0900
mov rbx, rax
mov qword [rax], r14
mov qword [rax + 8], 0
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], r14
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], r14
mov qword [rax + 0x38], 0
mov qword [rax + 0x40], r14
mov qword [rax + 0x48], 0
mov word [rax + 0x50], 0
mov r8d, 3
lea rdx, [rbp + 0x2a8]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rbx], rcx
mov ecx, dword [rax + 8]
mov dword [rbx + 8], ecx
mov eax, dword [rax + 0xc]
mov dword [rbx + 0xc], eax
jmp 0x1400a9861
mov rcx, rsi
call fcn.1400a6570
test al, al
jne 0x1400a7bdc
cmp byte [rsi + 0xb8], al
jne 0x1400a9a30
lea rcx, [rsi + 0x148]
call fcn.1400a0900
mov rbx, rax
mov qword [rax], r14
mov qword [rax + 8], 0
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], r14
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], r14
mov qword [rax + 0x38], 0
mov qword [rax + 0x40], r14
mov qword [rax + 0x48], 0
mov word [rax + 0x50], 0
mov r8d, edi
lea rdx, [rbp + 0x3a8]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rbx], rcx
mov ecx, dword [rax + 8]
mov dword [rbx + 8], ecx
mov eax, dword [rax + 0xc]
mov dword [rbx + 0xc], eax
mov byte [rbx + 0x50], 1
jmp 0x1400a9861
mov rcx, rsi
call fcn.1400a6610
test al, al
jne 0x1400a7c71
cmp byte [rsi + 0xb8], al
jne 0x1400a9a44
movsxd rbx, dword [rsi + 0x150]
imul rbx, rbx, 0x58
add rbx, qword [rsi + 0x148]
mov r8d, 3
lea rdx, [rbp + 0x2c8]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rbx + 0x30], rcx
mov ecx, dword [rax + 8]
mov dword [rbx + 0x38], ecx
mov eax, dword [rax + 0xc]
mov dword [rbx + 0x3c], eax
mov byte [rbx + 0x51], 1
jmp 0x1400a9861
mov rcx, rsi
call fcn.1400a6610
test al, al
jne 0x1400a7ccc
cmp byte [rsi + 0xb8], al
jne 0x1400a9a58
movsxd rbx, dword [rsi + 0x150]
imul rbx, rbx, 0x58
add rbx, qword [rsi + 0x148]
mov r8d, 3
lea rdx, [rbp + 0x428]
mov rcx, rsi
call fcn.14009fc20
lea rdx, [rbx + 0x20]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov ecx, dword [rax + 8]
mov dword [rdx + 8], ecx
mov eax, dword [rax + 0xc]
mov dword [rdx + 0xc], eax
mov rcx, rsi
call fcn.1400a2c70
mov r8d, edi
lea rdx, [rbp + 0x2e8]
jmp 0x1400a7c90
movsxd rbx, dword [rsi + 0x150]
imul rbx, rbx, 0x58
add rbx, qword [rsi + 0x148]
mov r8d, r11d
lea rdx, [rbp + 0x3c8]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rbx + 0x10], rcx
mov ecx, dword [rax + 8]
mov dword [rbx + 0x18], ecx
mov eax, dword [rax + 0xc]
mov dword [rbx + 0x1c], eax
cmp byte [rbx + 0x50], 0
je 0x1400a7d95
xor r8d, r8d
lea rdx, [0x140da1038]
lea rcx, [rbp + 0x78]
call fcn.14009fa70
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp + 0x78]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a7d95
mov rcx, qword [rbp + 0x78]
call fcn.14000ade0
lea r9, [0x140000000]
mov eax, dword [rsi + 0x220]
bt eax, 8
jae 0x1400a7db7
test al, 8
jne 0x1400a7db7
dec dword [rsi + 0x150]
jmp case.0x1400a741d.60
movsxd rbx, dword [rsi + 0x150]
imul rbx, rbx, 0x58
add rbx, qword [rsi + 0x148]
cmp byte [rbx + 0x51], 0
jne 0x1400a7df7
mov r8d, 2
lea rdx, [rbp + 0x308]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rbx + 0x40], rcx
mov ecx, dword [rax + 8]
mov dword [rbx + 0x48], ecx
mov eax, dword [rax + 0xc]
mov dword [rbx + 0x4c], eax
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.14000b410
nop
cmp byte [rbx + 0x50], 0
lea rdi, [rsi + 0x80]
jne 0x1400a7e16
lea rdi, [rsi + 0x78]
lea rdx, [rsp + 0x78]
mov rcx, rdi
call fcn.1400a09e0
test al, al
jne 0x1400a7ec5
lea rcx, [rbx + 0x40]
lea rdx, [rbp - 0x38]
call fcn.14000b410
mov rcx, qword [rax]
mov qword [rbp - 0x78], rcx
lock inc dword [rcx]
and dword [rbp - 0x70], 0xffffffe0
mov rax, qword [rbp - 0x38]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a7e5e
mov rcx, qword [rbp - 0x38]
call fcn.14000ade0
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1400a7e70
cmp qword [rax], r15
je 0x1400a7e70
xor eax, eax
jmp 0x1400a7e72
mov al, 1
mov edx, r14d
test al, al
sete dl
and edx, 1
add edx, edx
movzx eax, byte [rbx + 0x51]
and eax, 1
or edx, eax
mov eax, dword [rbp - 0x70]
and eax, 0xfffffffc
or edx, eax
mov dword [rbp - 0x70], edx
lea r9, [rbp - 0x78]
lea r8, [rsp + 0x78]
lea rdx, [rbp + 0x180]
mov rcx, rdi
call fcn.1400a51b0
nop
mov rax, qword [rbp - 0x78]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a7ec5
mov rcx, qword [rbp - 0x78]
call fcn.14000ade0
nop
mov rax, qword [rsp + 0x78]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9861
mov rcx, qword [rsp + 0x78]
call fcn.14000ade0
jmp 0x1400a9861
mov eax, dword [rsi + 0xbc]
cmp eax, 1
mov ecx, 0xa
cmovne eax, ecx
mov dword [rsi + 0xbc], eax
movsxd rdx, dword [rsi + 0x228]
mov rcx, qword [rsi + 0x230]
lea rax, [rdx + 3]
add rax, rax
add rdx, rdx
mov ebx, dword [rcx + rax*8]
add ebx, dword [rcx + rdx*8 + 0x34]
mov r8d, r11d
lea rdx, [rbp + 0x468]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rsi + 0x1b0], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x1b8], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x1bc], eax
mov r8d, r13d
lea rdx, [0x140da054c]
mov rcx, rsi
call fcn.1400a69a0
test al, al
je 0x1400a80e3
lea rdx, [rsi + 0x240]
mov rax, qword [rdx]
mov r8d, dword [rax + 8]
sub r8d, ebx
sub r8d, 2
mov qword [rsi + 0x1c0], rdx
mov dword [rsi + 0x1c8], ebx
mov dword [rsi + 0x1cc], r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsi + 0x1b0]
call fcn.14000b410
nop
lea rax, [0x140da06f0]
mov qword [rbp + 0x120], rax
xor r8d, r8d
lea rdx, [rbp + 0x120]
lea rcx, [rsp + 0x50]
call fcn.14000a9d0
test eax, eax
jne 0x1400a8003
xor r8d, r8d
lea rdx, [0x140da1008]
lea rcx, [rbp + 0x48]
call fcn.14009fa70
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp + 0x48]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a80c0
mov rcx, qword [rbp + 0x48]
jmp 0x1400a80ba
lea rax, [rsp + 0x50]
mov qword [rbp + 0x140], rax
mov dword [rbp + 0x148], r14d
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax + 8]
mov dword [rbp + 0x14c], ecx
lea rcx, [rbp + 0x140]
call fcn.1400ab860
test al, al
jne 0x1400a80c0
mov eax, 0x20
mov word [rbp + 0x500], ax
xor r8d, r8d
lea rdx, [0x140da0fd8]
lea rcx, [rbp + 0x98]
call fcn.14009fa70
nop
lea rcx, [rbp + 0x500]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x28]
mov rcx, rax
call fcn.14000df80
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp - 0x28]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a80a1
mov rcx, qword [rbp - 0x28]
call fcn.14000ade0
nop
mov rax, qword [rbp + 0x98]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a80c0
mov rcx, qword [rbp + 0x98]
call fcn.14000ade0
nop
mov rax, qword [rsp + 0x50]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9861
mov rcx, qword [rsp + 0x50]
call fcn.14000ade0
jmp 0x1400a9861
cmp dword [rsi + 0xbc], 1
jne 0x1400a9a6c
jmp 0x1400a9861
mov eax, dword [rsi + 0xbc]
cmp eax, 1
mov ecx, 0xa
cmovne eax, ecx
mov dword [rsi + 0xbc], eax
mov r8d, r11d
lea rdx, [rbp + 0x1a8]
mov rcx, rsi
call fcn.14009fc20
lea rcx, [rsi + 0x1b0]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov edx, dword [rax + 8]
mov dword [rcx + 8], edx
mov eax, dword [rax + 0xc]
mov dword [rcx + 0xc], eax
lea rdx, [rbp - 0x18]
call fcn.14000b410
nop
lea rcx, [0x140da06f0]
mov qword [rbp + 0x130], rcx
xor r8d, r8d
lea rdx, [rbp + 0x130]
mov rcx, rax
call fcn.14000a9d0
test eax, eax
sete bl
mov rax, qword [rbp - 0x18]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a817e
mov rcx, qword [rbp - 0x18]
call fcn.14000ade0
test bl, bl
je 0x1400a9861
xor r8d, r8d
lea rdx, [0x140da0fb0]
lea rcx, [rbp - 8]
call fcn.14009fa70
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp - 8]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9861
mov rcx, qword [rbp - 8]
call fcn.14000ade0
jmp 0x1400a9861
mov rcx, rsi
call fcn.1400a6440
test al, al
jne 0x1400a9861
cmp byte [rsi + 0xb8], al
jne 0x1400a9a80
jmp 0x1400a9861
mov r8d, r13d
lea rdx, [0x140da0fac]
mov rcx, rsi
call fcn.1400a69a0
test al, al
je 0x1400a9a94
jmp 0x1400a9861
mov eax, dword [rsi + 0xbc]
cmp eax, 1
mov ecx, 7
cmovne eax, ecx
mov dword [rsi + 0xbc], eax
movsxd rcx, dword [rsi + 0x228]
add rcx, rcx
mov rax, qword [rsi + 0x230]
mov r8d, dword [rax + rcx*8]
add r8d, 4
lea rdx, [rsi + 0x240]
mov rax, qword [rdx]
mov ecx, dword [rax + 8]
sub ecx, r8d
sub ecx, 3
mov qword [rsi + 0x160], rdx
mov dword [rsi + 0x168], r8d
mov dword [rsi + 0x16c], ecx
jmp case.0x1400a741d.60
mov eax, dword [rsi + 0xbc]
cmp eax, 1
mov ecx, 6
cmovne eax, ecx
mov dword [rsi + 0xbc], eax
mov eax, dword [rsi + 0x220]
and eax, 0xfffffffd
or eax, 4
mov dword [rsi + 0x220], eax
movsxd rcx, dword [rsi + 0x228]
inc rcx
add rcx, rcx
mov rax, qword [rsi + 0x230]
mov ebx, dword [rax + rcx*8]
mov r8d, r13d
lea rdx, [0x140da0548]
mov rcx, rsi
call fcn.1400a69a0
test al, al
je 0x1400a9aa8
lea rdx, [rsi + 0x240]
mov rax, qword [rdx]
mov ecx, dword [rax + 8]
sub ecx, ebx
sub ecx, 3
mov qword [rsi + 0x160], rdx
mov dword [rsi + 0x168], ebx
mov dword [rsi + 0x16c], ecx
jmp 0x1400a9861
mov rcx, rsi
call fcn.1400a6570
test al, al
jne 0x1400a82ff
cmp byte [rsi + 0xb8], al
jne 0x1400a9abc
lea rcx, [rsi + 0x128]
call fcn.1400a0970
mov rbx, rax
mov r8d, 3
lea rdx, [rbp + 0x1b8]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rbx], rcx
mov ecx, dword [rax + 8]
mov dword [rbx + 8], ecx
mov ecx, dword [rax + 0xc]
mov dword [rbx + 0xc], ecx
jmp 0x1400a9861
movsxd rax, dword [rsi + 0x130]
lea rbx, [rax + rax*2]
shl rbx, 4
add rbx, qword [rsi + 0x128]
mov r8d, r11d
lea rdx, [rbp + 0x1d8]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rbx + 0x20], rcx
mov ecx, dword [rax + 8]
mov dword [rbx + 0x28], ecx
mov eax, dword [rax + 0xc]
mov dword [rbx + 0x2c], eax
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0
jmp 0x1400a9861
movsxd rax, dword [rsi + 0x130]
lea rbx, [rax + rax*2]
shl rbx, 4
add rbx, qword [rsi + 0x128]
mov qword [rbx + 0x20], r14
mov qword [rbx + 0x28], 0
mov r8d, r11d
lea rdx, [rbp + 0x1f8]
mov rcx, rsi
call fcn.14009fc20
lea rdx, [rbx + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov ecx, dword [rax + 8]
mov dword [rdx + 8], ecx
mov eax, dword [rax + 0xc]
mov dword [rdx + 0xc], eax
mov rcx, rsi
call fcn.1400a2c70
jmp 0x1400a9861
movsxd rax, dword [rsi + 0x130]
lea rbx, [rax + rax*2]
shl rbx, 4
add rbx, qword [rsi + 0x128]
mov r8d, r11d
lea rdx, [rbp + 0x218]
mov rcx, rsi
call fcn.14009fc20
lea rdx, [rbx + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov ecx, dword [rax + 8]
mov dword [rdx + 8], ecx
mov eax, dword [rax + 0xc]
mov dword [rdx + 0xc], eax
mov rcx, rsi
call fcn.1400a2c70
mov r8d, edi
lea rdx, [rbp + 0x238]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rbx + 0x20], rcx
mov ecx, dword [rax + 8]
mov dword [rbx + 0x28], ecx
mov eax, dword [rax + 0xc]
mov dword [rbx + 0x2c], eax
jmp 0x1400a9861
and dword [rsi + 0x220], 0xfffffffd
movsxd rdi, dword [rsi + 0x228]
add rdi, rdi
mov rbx, qword [rsi + 0x230]
mov rcx, rsi
call fcn.1400a5d00
add dword [rbx + rdi*8 + 4], eax
cmp byte [rsi + 0xb8], 0
je 0x1400a9861
test byte [rsi + 0x220], 0x80
je 0x1400a9ad0
jmp 0x1400a9861
lea rcx, [rsi + 0x240]
mov rax, qword [rcx]
cmp dword [rax + 8], 0
je case.0x1400a741d.60
mov eax, dword [rsi + 0xbc]
cmp eax, 1
mov edx, 6
cmovne eax, edx
mov dword [rsi + 0xbc], eax
mov qword [rsi + 0x160], rcx
mov dword [rsi + 0x168], r14d
test rcx, rcx
je 0x1400a76b0
mov rax, qword [rcx]
mov ecx, dword [rax + 8]
jmp 0x1400a76b3
movsxd rdx, dword [rsi + 0x228]
add rdx, rdx
mov rcx, qword [rsi + 0x230]
mov eax, dword [rcx + rdx*8 + 0x10]
mov dword [rcx + rdx*8], eax
mov eax, dword [rcx + rdx*8 + 0x14]
mov dword [rcx + rdx*8 + 4], eax
mov eax, dword [rcx + rdx*8 + 0x18]
mov dword [rcx + rdx*8 + 8], eax
mov eax, dword [rcx + rdx*8 + 0x1c]
mov dword [rcx + rdx*8 + 0xc], eax
jmp case.0x1400a741d.60
movsxd rdx, dword [rsi + 0x228]
add rdx, rdx
mov rcx, qword [rsi + 0x230]
mov eax, dword [rcx + rdx*8 + 0x14]
add dword [rcx + rdx*8 + 4], eax
jmp case.0x1400a741d.60
test byte [rsi + 0x220], 0x20
je case.0x1400a741d.60
lea rcx, [rsi + 0x240]
mov rax, qword [rcx]
movsxd rbx, dword [rax + 8]
call fcn.14000da80
mov edx, 0x20
mov word [rax + rbx*2 - 2], dx
jmp 0x1400a9861
movsxd rdi, dword [rsi + 0x228]
add rdi, rdi
mov rbx, qword [rsi + 0x230]
mov rcx, rsi
call fcn.1400a59a0
add dword [rbx + rdi*8 + 4], eax
cmp byte [rsi + 0xb8], 0
jne 0x1400a9ae4
jmp 0x1400a9861
mov r8d, r10d
lea rdx, [rbp + 0x258]
mov rcx, rsi
call fcn.14009fc20
mov rcx, rax
lea rdx, [rbp - 0x58]
call fcn.14000b410
nop
mov rcx, rax
call fcn.1400ab780
test al, al
sete bl
mov rax, qword [rbp - 0x58]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a85d2
mov rcx, qword [rbp - 0x58]
call fcn.14000ade0
test bl, bl
jne 0x1400a9af8
jmp 0x1400a9861
movsxd rdx, dword [rsi + 0x228]
add rdx, rdx
mov rcx, qword [rsi + 0x230]
mov eax, dword [rcx + rdx*8 + 0x10]
mov dword [rcx + rdx*8], eax
mov eax, dword [rcx + rdx*8 + 0x14]
mov dword [rcx + rdx*8 + 4], eax
mov eax, dword [rcx + rdx*8 + 0x18]
mov dword [rcx + rdx*8 + 8], eax
mov eax, dword [rcx + rdx*8 + 0x1c]
mov dword [rcx + rdx*8 + 0xc], eax
mov r8d, r10d
lea rdx, [rbp + 0x278]
mov rcx, rsi
call fcn.14009fc20
mov rcx, qword [rax]
mov qword [rsi + 0x100], rcx
mov ecx, dword [rax + 8]
mov dword [rsi + 0x108], ecx
mov eax, dword [rax + 0xc]
mov dword [rsi + 0x10c], eax
jmp 0x1400a9861
mov r8d, r10d
lea rdx, [rbp + 0x168]
mov rcx, rsi
call fcn.14009fcf0
cmp dword [rbp + 0x174], 0
jne 0x1400a86ac
or r12d, 1
mov dword [rsp + 0x30], r12d
lea rax, [0x140da0c60]
mov qword [rbp + 0x100], rax
mov r8d, 1
lea rdx, [rbp + 0x298]
mov rcx, rsi
call fcn.14009fc20
mov rdx, rax
lea rcx, [rbp + 0x100]
call fcn.14000a3d0
test al, al
je 0x1400a86ac
test dword [rsi + 0x220], 0x1000
je 0x1400a86ac
mov al, 1
jmp 0x1400a86ae
xor al, al
test r12b, 1
je 0x1400a86bd
and r12d, 0xfffffffe
mov dword [rsp + 0x30], r12d
test al, al
je 0x1400a87a6
mov rcx, rsi
call fcn.1400a0310
mov rbx, rax
mov qword [rax], r14
mov qword [rax + 8], 0
mov r8d, edi
lea rdx, [rbp + 0x158]
mov rcx, rsi
call fcn.14009fc20
lea rax, [0x140da0c40]
mov qword [rbp + 0xe8], rax
lea rdx, [rbp + 0x158]
lea rcx, [rbp + 0xe8]
call fcn.14000a3d0
test al, al
jne 0x1400a8765
lea rax, [0x140da06c8]
mov qword [rbp + 0x128], rax
lea rdx, [rbp + 0x158]
lea rcx, [rbp + 0x128]
call fcn.14000a3d0
test al, al
jne 0x1400a8765
lea r8, [rbp + 0x158]
lea rdx, [rbp + 0x2b8]
mov rcx, rsi
call fcn.14009faa0
mov rcx, qword [rax]
mov qword [rbx + 0x10], rcx
mov ecx, dword [rax + 8]
mov dword [rbx + 0x18], ecx
mov eax, dword [rax + 0xc]
mov dword [rbx + 0x1c], eax
jmp 0x1400a9861
xor r8d, r8d
lea rdx, [0x140da0c20]
lea rcx, [rbp]
call fcn.14009fa70
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9861
mov rcx, qword [rbp]
call fcn.14000ade0
jmp 0x1400a9861
lea rbx, [rsi + 0x248]
mov rcx, rbx
call fcn.1400a0310
mov r14, rax
movsxd r8, dword [rsi + 0x228]
add r8, r8
mov rdx, qword [rsi + 0x230]
mov ecx, dword [rdx + r8*8]
mov dword [rax], ecx
mov ecx, dword [rdx + r8*8 + 4]
mov dword [rax + 4], ecx
mov ecx, dword [rdx + r8*8 + 8]
mov dword [rax + 8], ecx
mov ecx, dword [rdx + r8*8 + 0xc]
mov dword [rax + 0xc], ecx
movsxd rdx, dword [rsi + 0x228]
add rdx, 4
add rdx, rdx
mov rcx, qword [rsi + 0x230]
mov eax, dword [rcx + rdx*8]
mov dword [r14 + 0x10], eax
mov eax, dword [rcx + rdx*8 + 4]
mov dword [r14 + 0x14], eax
mov eax, dword [rcx + rdx*8 + 8]
mov dword [r14 + 0x18], eax
mov eax, dword [rcx + rdx*8 + 0xc]
mov dword [r14 + 0x1c], eax
mov r8d, 1
lea rdx, [rbp + 0x188]
mov rcx, rsi
call fcn.14009fc60
xor r12d, r12d
mov eax, dword [rsi + 0x120]
inc eax
test eax, eax
jle 0x1400a8958
xor edi, edi
nop word [rax + rax]
mov rax, qword [rsi + 0x118]
lea rbx, [rdi + rax]
cmp byte [rbx + 0x50], 0
jne 0x1400a8888
lea rdx, [rsi + 0x190]
mov rcx, rbx
call fcn.14000a310
test al, al
je 0x1400a8888
lea rcx, [rbx + 0x10]
lea rdx, [rbp + 0x188]
call fcn.14000a310
test al, al
jne 0x1400a88a2
inc r12d
add rdi, 0x58
mov eax, dword [rsi + 0x120]
inc eax
cmp r12d, eax
jge 0x1400a8951
jmp 0x1400a8850
mov rax, qword [rsi + 0x240]
mov eax, dword [rax + 8]
mov dword [rsp + 0x70], eax
xor edi, edi
mov r12b, 1
xor ebx, ebx
cmp dword [r14 + 0x14], ebx
jle 0x1400a890e
nop dword [rax]
mov edx, dword [r14 + 0x10]
add edx, ebx
mov rax, qword [rsi + 0x240]
mov rcx, qword [rax + 0x10]
movsxd rax, edx
cmp word [rcx + rax*2], 0x20
jne 0x1400a88e5
test r12b, r12b
jne 0x1400a88fd
mov r12b, 1
jmp 0x1400a88e8
xor r12b, r12b
movsxd rax, edx
movzx edx, word [rcx + rax*2]
lea rcx, [rsi + 0x240]
call fcn.14000b2a0
inc edi
inc ebx
cmp ebx, dword [r14 + 0x14]
jl 0x1400a88c0
test r12b, r12b
je 0x1400a8941
mov eax, dword [rsp + 0x70]
movsxd r8, edi
cdqe
test edi, edi
je 0x1400a8941
lea rdx, [rax + r8]
mov rax, qword [rsi + 0x240]
mov rcx, qword [rax + 0x10]
lea rax, [rcx + rdx*2 - 2]
nop dword [rax + rax]
cmp word [rax], 0x20
jne 0x1400a8941
dec edi
sub rax, 2
dec r8
jne 0x1400a8930
mov eax, dword [rsp + 0x70]
mov dword [r14 + 0x10], eax
mov dword [r14 + 0x14], edi
or r13d, 0xffffffff
lea rbx, [rsi + 0x248]
lea r12, [0x140da0c60]
mov qword [rbp + 0x108], r12
lea rdx, [rbp + 0x168]
lea rcx, [rbp + 0x108]
call fcn.14000a3d0
test al, al
je 0x1400a9852
test dword [rsi + 0x220], 0x1000
je 0x1400a9852
mov rcx, rsi
call fcn.1400a0310
mov rdi, rax
mov r8, r14
lea rdx, [rbp + 0xf0]
mov rcx, rsi
call fcn.14009fd40
lea r8, [r14 + 0x10]
lea rdx, [rbp + 0xb8]
mov rcx, rsi
call fcn.14009fd40
dec dword [rbx + 8]
lea rax, [0x140da06f0]
mov qword [rbp + 0x150], rax
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x150]
call fcn.14000a3d0
movzx ebx, al
lea rax, [0x140da06c8]
mov qword [rbp + 0x118], rax
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x118]
call fcn.14000a3d0
xor al, bl
jne 0x1400a8a59
lea rax, [0x140da0c40]
mov qword [rbp + 0xd8], rax
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0xd8]
call fcn.14000a3d0
test al, al
jne 0x1400a8a59
cmp dword [rbp + 0xc4], 0
je 0x1400a8a59
mov qword [rbp + 0xe0], r12
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0xe0]
call fcn.14000a3d0
test al, al
je 0x1400a8a91
xor r8d, r8d
lea rdx, [0x140da0c20]
lea rcx, [rbp + 8]
call fcn.14009fa70
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp + 8]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a8a91
mov rcx, qword [rbp + 8]
call fcn.14000ade0
lea r8, [rbp + 0xf0]
lea rdx, [rbp + 0x2d8]
mov rcx, rsi
call fcn.14009faa0
mov rcx, qword [rax]
mov qword [rdi], rcx
mov ecx, dword [rax + 8]
mov dword [rdi + 8], ecx
mov eax, dword [rax + 0xc]
mov dword [rdi + 0xc], eax
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x2f8]
mov rcx, rsi
call fcn.14009faa0
mov rcx, qword [rax]
mov qword [rdi + 0x10], rcx
mov ecx, dword [rax + 8]
mov dword [rdi + 0x18], ecx
mov eax, dword [rax + 0xc]
mov dword [rdi + 0x1c], eax
jmp 0x1400a9852
or dword [rsi + 0x220], 0x20
mov rcx, rsi
call fcn.1400a03f0
mov rbx, rax
mov r12d, 2
mov r8d, r12d
lea rdx, [rbp + 0x318]
mov rcx, rsi
call fcn.14009fcf0
mov r8, rax
lea rdx, [rbp + 0x338]
mov rcx, rsi
call fcn.14009faa0
mov rdx, qword [rax]
mov qword [rbx + 0x20], rdx
mov ecx, dword [rax + 8]
mov dword [rbx + 0x28], ecx
mov eax, dword [rax + 0xc]
mov dword [rbx + 0x2c], eax
mov qword [rsi + 0x170], rdx
mov eax, dword [rbx + 0x28]
mov dword [rsi + 0x178], eax
mov eax, dword [rbx + 0x2c]
mov dword [rsi + 0x17c], eax
mov r8d, r12d
lea rdx, [rbp + 0x358]
mov rcx, rsi
call fcn.14009fc20
mov r8, rax
lea rdx, [rbp + 0x378]
mov rcx, rsi
call fcn.14009faa0
mov rdx, qword [rax]
mov qword [rbx], rdx
mov ecx, dword [rax + 8]
mov dword [rbx + 8], ecx
mov eax, dword [rax + 0xc]
mov dword [rbx + 0xc], eax
mov qword [rsi + 0x1a0], rdx
mov eax, dword [rbx + 8]
mov dword [rsi + 0x1a8], eax
mov eax, dword [rbx + 0xc]
mov dword [rsi + 0x1ac], eax
mov r8d, r12d
lea rdx, [rbp + 0x398]
mov rcx, rsi
call fcn.14009fc60
mov r8, rax
lea rdx, [rbp + 0x3b8]
mov rcx, rsi
call fcn.14009faa0
mov r8, qword [rax]
mov qword [rbx + 0x10], r8
mov edx, dword [rax + 8]
mov dword [rbx + 0x18], edx
mov eax, dword [rax + 0xc]
mov dword [rbx + 0x1c], eax
mov qword [rsi + 0x190], r8
mov eax, dword [rbx + 0x18]
mov dword [rsi + 0x198], eax
mov eax, dword [rbx + 0x1c]
mov dword [rsi + 0x19c], eax
cmp dword [rsi + 0x17c], 0
je 0x1400a8c07
lea rcx, [rsi + 0x170]
call fcn.1400ab860
test al, al
je 0x1400a8c1b
lea rcx, [rsi + 0x1a0]
call fcn.1400ab860
test al, al
jne 0x1400a795f
xor r8d, r8d
lea rdx, [0x140da0f98]
lea rcx, [rbp + 0x88]
call fcn.14009fa70
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp + 0x88]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a795f
mov rcx, qword [rbp + 0x88]
call fcn.14000ade0
mov r12d, dword [rsp + 0x30]
jmp 0x1400a9861
or dword [rsi + 0x220], 1
mov eax, dword [rsi + 0xbc]
cmp eax, 1
cmovne eax, edx
mov dword [rsi + 0xbc], eax
mov rcx, rsi
call fcn.1400a3f70
mov r11d, dword [rsi + 0x28]
inc r11d
cmp r11d, 1
jne 0x1400a8cde
mov eax, dword [rsi + 0x220]
test al, 0x40
je 0x1400a8cde
test al, al
js 0x1400a8cde
xor r8d, r8d
lea rdx, [0x140da0f70]
lea rcx, [rbp + 0x18]
call fcn.14009fa70
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp + 0x18]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a8cde
mov rcx, qword [rbp + 0x18]
call fcn.14000ade0
or dword [rsi + 0x220], 0x40
jmp 0x1400a9861
mov eax, dword [rsi + 0xbc]
cmp eax, 1
cmovne eax, edi
mov dword [rsi + 0xbc], eax
movsxd rcx, dword [rsi + 0x28]
lea r8, [rcx + rcx*8]
mov rdx, qword [rsi + 0x20]
lea eax, [rcx - 1]
mov dword [rsi + 0x28], eax
mov eax, dword [rdx + r8*8 + 0x40]
mov dword [rsi + 0x18], eax
mov eax, dword [rdx + r8*8 + 0x44]
dec eax
mov dword [rsi + 8], eax
cmp dword [rsi + 0x28], 0
setl al
mov byte [rsi + 0x1c], al
mov rax, qword [rdx + r8*8 + 0x30]
mov qword [rsi + 0x180], rax
mov eax, dword [rdx + r8*8 + 0x38]
mov dword [rsi + 0x188], eax
mov eax, dword [rdx + r8*8 + 0x3c]
mov dword [rsi + 0x18c], eax
mov rax, qword [rdx + r8*8]
mov qword [rsi + 0x1a0], rax
mov eax, dword [rdx + r8*8 + 8]
mov dword [rsi + 0x1a8], eax
mov eax, dword [rdx + r8*8 + 0xc]
mov dword [rsi + 0x1ac], eax
mov rax, qword [rdx + r8*8 + 0x10]
mov qword [rsi + 0x190], rax
mov eax, dword [rdx + r8*8 + 0x18]
mov dword [rsi + 0x198], eax
mov eax, dword [rdx + r8*8 + 0x1c]
mov dword [rsi + 0x19c], eax
mov r8d, r11d
lea rdx, [rbp + 0x3d8]
mov rcx, rsi
call fcn.14009fc60
mov rdx, rax
lea rcx, [rsi + 0x190]
call fcn.14000a310
test al, al
sete al
test al, al
je 0x1400a9861
xor r8d, r8d
lea rdx, [0x140da0f48]
lea rcx, [rbp + 0x68]
call fcn.14009fa70
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp + 0x68]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9861
mov rcx, qword [rbp + 0x68]
call fcn.14000ade0
jmp 0x1400a9861
mov rcx, rsi
call fcn.14009f6b0
test al, al
je 0x1400a8ea0
mov eax, 0x20
mov word [rbp + 0x508], ax
xor r8d, r8d
lea rdx, [0x140da0f28]
lea rcx, [rbp + 0xa8]
call fcn.14009fa70
nop
lea r8, [rsi + 0xd0]
lea rcx, [rbp + 0x508]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
lea rdx, [rbp + 0x28]
mov rcx, rax
call fcn.14000df80
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp + 0x28]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a8e79
mov rcx, qword [rbp + 0x28]
call fcn.14000ade0
nop
mov rax, qword [rbp + 0xa8]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9861
mov rcx, qword [rbp + 0xa8]
call fcn.14000ade0
jmp 0x1400a9861
mov eax, dword [rsi + 0xbc]
cmp eax, 1
mov ecx, 9
cmovne eax, ecx
mov dword [rsi + 0xbc], eax
lea rax, [rsi + 0xd0]
mov qword [rsi + 0x1a0], rax
mov dword [rsi + 0x1a8], r14d
test rax, rax
je 0x1400a8ed9
mov rax, qword [rax]
mov ecx, dword [rax + 8]
jmp 0x1400a8edc
mov ecx, r14d
mov dword [rsi + 0x1ac], ecx
jmp 0x1400a9861
movsxd rdx, dword [rsi + 0x228]
add rdx, rdx
mov rcx, qword [rsi + 0x230]
mov eax, dword [rcx + rdx*8 + 0x14]
inc eax
add dword [rcx + rdx*8 + 4], eax
mov r8d, ebx
lea rdx, [rbp + 0x3f8]
mov rcx, rsi
call fcn.14009fc20
mov rcx, rax
lea rdx, [rsp + 0x40]
call fcn.14000b410
nop
lea rdx, [rsp + 0x40]
lea rcx, [rsi + 0x78]
call fcn.1400a09e0
test al, al
je 0x1400a907f
lea rdx, [rsp + 0x40]
lea rcx, [rsi + 0x78]
call fcn.1400a5080
mov rbx, rax
mov eax, dword [rax + 8]
test al, 2
je 0x1400a8fdb
mov eax, 0x20
mov word [rbp + 0x510], ax
xor r8d, r8d
lea rdx, [0x140da0f00]
lea rcx, [rbp - 0x50]
call fcn.14009fa70
nop
lea rcx, [rbp + 0x510]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x38]
mov rcx, rax
call fcn.14000df80
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp + 0x38]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a8fba
mov rcx, qword [rbp + 0x38]
call fcn.14000ade0
nop
mov rax, qword [rbp - 0x50]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a905c
mov rcx, qword [rbp - 0x50]
call fcn.14000ade0
jmp 0x1400a905c
test al, 8
jne 0x1400a8fee
mov rdx, rbx
mov rcx, rsi
call fcn.1400a57b0
or dword [rbx + 8], 8
mov rdx, rbx
mov rcx, rsi
test byte [rbx + 8], 4
je 0x1400a9001
call fcn.1400a0590
jmp 0x1400a9015
call fcn.1400a2770
test al, al
je 0x1400a9015
mov rdx, rbx
mov rcx, rsi
call fcn.1400a0640
movsxd rcx, dword [rsi + 0x228]
add rcx, rcx
mov rax, qword [rsi + 0x230]
mov edx, dword [rax + rcx*8 + 0x14]
add edx, 2
lea rcx, [rsi + 0x240]
call fcn.14000ce60
movsxd r11, dword [rsi + 0x228]
shl r11, 4
add r11, qword [rsi + 0x230]
mov rax, qword [rsi + 0x240]
mov ecx, dword [rax + 8]
mov dword [r11], ecx
mov dword [r11 + 4], r14d
mov rax, qword [rsp + 0x40]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9861
mov rcx, qword [rsp + 0x40]
call fcn.14000ade0
jmp 0x1400a9861
cmp qword [rsi + 0x268], 0
je 0x1400a9133
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.14009fdd0
nop
mov rax, qword [rsp + 0x58]
cmp rax, r15
je 0x1400a911e
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1400a0640
movsxd rcx, dword [rsi + 0x228]
add rcx, rcx
mov rax, qword [rsi + 0x230]
mov edx, dword [rax + rcx*8 + 0x14]
add edx, 2
lea rcx, [rsi + 0x240]
call fcn.14000ce60
movsxd r11, dword [rsi + 0x228]
shl r11, 4
add r11, qword [rsi + 0x230]
mov rax, qword [rsi + 0x240]
mov ecx, dword [rax + 8]
mov dword [r11], ecx
mov dword [r11 + 4], r14d
mov rax, qword [rsp + 0x58]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9119
mov rcx, qword [rsp + 0x58]
call fcn.14000ade0
nop
jmp 0x1400a905c
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9133
mov rcx, qword [rsp + 0x58]
call fcn.14000ade0
lea rcx, [rsi + 0x68]
call fcn.1400a02a0
mov dword [rax], 0x2e0000
mov r8d, 2
lea rdx, [rbp + 0x418]
mov rcx, rsi
call fcn.14009fc20
mov rcx, rax
lea rdx, [rbp - 0x40]
call fcn.14000b410
mov rdx, qword [rsi + 0xd0]
mov rcx, qword [rax]
mov qword [rsi + 0xd0], rcx
mov qword [rax], rdx
mov rax, qword [rbp - 0x40]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a918f
mov rcx, qword [rbp - 0x40]
call fcn.14000ade0
movsxd rcx, dword [rsi + 0x228]
add rcx, rcx
mov rax, qword [rsi + 0x230]
mov edx, dword [rax + rcx*8 + 0x14]
add edx, 2
lea rcx, [rsi + 0x240]
call fcn.14000ce60
movsxd r11, dword [rsi + 0x228]
shl r11, 4
add r11, qword [rsi + 0x230]
mov rax, qword [rsi + 0x240]
mov ecx, dword [rax + 8]
mov dword [r11], ecx
mov dword [r11 + 4], r14d
jmp 0x1400a905c
movsxd rdx, dword [rsi + 0x228]
add rdx, rdx
mov rcx, qword [rsi + 0x230]
mov eax, dword [rcx + rdx*8 + 0x14]
inc eax
add dword [rcx + rdx*8 + 4], eax
mov r8d, ebx
lea rdx, [rbp + 0x438]
mov rcx, rsi
call fcn.14009fc20
mov rcx, rax
lea rdx, [rbp - 0x80]
call fcn.14000b410
nop
lea rdx, [rbp - 0x80]
lea rcx, [rsi + 0x80]
call fcn.1400a09e0
test al, al
je 0x1400a92cd
or dword [rsi + 0x220], 0x200
lea rdx, [rbp - 0x80]
lea rcx, [rsi + 0x80]
call fcn.1400a5080
mov rbx, rax
mov eax, dword [rax + 8]
test al, 2
jne 0x1400a92be
test al, 1
jne 0x1400a92be
mov rdx, rbx
mov rcx, rsi
call fcn.1400a2770
test al, al
je 0x1400a9272
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.1400a04d0
movsxd rcx, dword [rsi + 0x228]
add rcx, rcx
mov rax, qword [rsi + 0x230]
mov edx, dword [rax + rcx*8 + 0x14]
add edx, 2
lea rcx, [rsi + 0x240]
call fcn.14000ce60
movsxd r11, dword [rsi + 0x228]
shl r11, 4
add r11, qword [rsi + 0x230]
mov rax, qword [rsi + 0x240]
mov ecx, dword [rax + 8]
mov dword [r11], ecx
mov dword [r11 + 4], r14d
jmp 0x1400a9395
or dword [rsi + 0x220], 0x100
jmp 0x1400a9395
mov rcx, rsi
call fcn.14009f6b0
test al, al
je 0x1400a9395
mov eax, 0x20
mov word [rbp + 0x518], ax
lea r8d, [rax - 0x1e]
lea rdx, [rbp + 0x458]
mov rcx, rsi
call fcn.14009fc20
mov rcx, rax
lea rdx, [rbp - 0x10]
call fcn.14000b410
mov rbx, rax
xor r8d, r8d
lea rdx, [0x140da0f28]
lea rcx, [rbp - 0x20]
call fcn.14009fa70
nop
lea rcx, [rbp + 0x518]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, rbx
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.14000df80
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp - 0x30]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9363
mov rcx, qword [rbp - 0x30]
call fcn.14000ade0
nop
mov rax, qword [rbp - 0x20]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a937c
mov rcx, qword [rbp - 0x20]
call fcn.14000ade0
nop
mov rax, qword [rbp - 0x10]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9395
mov rcx, qword [rbp - 0x10]
call fcn.14000ade0
nop
mov rax, qword [rbp - 0x80]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9861
mov rcx, qword [rbp - 0x80]
jmp 0x1400a9075
movsxd rdx, dword [rsi + 0x228]
add rdx, rdx
mov rcx, qword [rsi + 0x230]
mov eax, dword [rcx + rdx*8 + 0x14]
inc eax
add dword [rcx + rdx*8 + 4], eax
jmp case.0x1400a741d.60
movsxd rdx, dword [rsi + 0x228]
add rdx, rdx
mov rcx, qword [rsi + 0x230]
mov eax, dword [rcx + rdx*8 + 0x14]
inc eax
add dword [rcx + rdx*8 + 4], eax
mov r8d, ebx
lea rdx, [rbp + 0x478]
mov rcx, rsi
call fcn.14009fc20
mov rcx, rax
lea rdx, [rsp + 0x38]
call fcn.14000b410
nop
lea rdx, [rsp + 0x38]
lea rcx, [rsi + 0x78]
call fcn.1400a09e0
test al, al
je 0x1400a9566
lea rdx, [rsp + 0x38]
lea rcx, [rsi + 0x78]
call fcn.1400a5080
mov rbx, rax
mov eax, dword [rax + 8]
test al, 2
jne 0x1400a94e6
cmp qword [rbx], r15
je 0x1400a94e6
test al, 8
jne 0x1400a945a
mov rdx, rbx
mov rcx, rsi
call fcn.1400a57b0
or dword [rbx + 8], 8
mov rdx, rbx
mov rcx, rsi
test byte [rbx + 8], 4
je 0x1400a946d
call fcn.1400a0590
jmp 0x1400a9481
call fcn.1400a2770
test al, al
je 0x1400a9481
mov rdx, rbx
mov rcx, rsi
call fcn.1400a0710
movsxd rcx, dword [rsi + 0x228]
add rcx, rcx
mov rax, qword [rsi + 0x230]
mov edx, dword [rax + rcx*8 + 0x14]
add edx, 2
lea rcx, [rsi + 0x240]
call fcn.14000ce60
movsxd r11, dword [rsi + 0x228]
shl r11, 4
add r11, qword [rsi + 0x230]
mov rax, qword [rsi + 0x240]
mov ecx, dword [rax + 8]
mov dword [r11], ecx
mov dword [r11 + 4], r14d
mov rax, qword [rsp + 0x38]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9861
mov rcx, qword [rsp + 0x38]
jmp 0x1400a9075
mov eax, 0x20
mov word [rsp + 0x4a], ax
xor r8d, r8d
lea rdx, [0x140da0ec8]
lea rcx, [rbp + 0x20]
call fcn.14009fa70
nop
lea rcx, [rsp + 0x4a]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
lea r8, [rsp + 0x38]
lea rdx, [rbp + 0x10]
mov rcx, rax
call fcn.14000df80
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp + 0x10]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9548
mov rcx, qword [rbp + 0x10]
call fcn.14000ade0
nop
mov rax, qword [rbp + 0x20]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9561
mov rcx, qword [rbp + 0x20]
call fcn.14000ade0
nop
jmp 0x1400a94c8
cmp qword [rsi + 0x268], 0
je 0x1400a961a
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.14009fdd0
nop
mov rax, qword [rsp + 0x60]
cmp rax, r15
je 0x1400a9605
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.1400a0640
movsxd rcx, dword [rsi + 0x228]
add rcx, rcx
mov rax, qword [rsi + 0x230]
mov edx, dword [rax + rcx*8 + 0x14]
add edx, 2
lea rcx, [rsi + 0x240]
call fcn.14000ce60
movsxd r11, dword [rsi + 0x228]
shl r11, 4
add r11, qword [rsi + 0x230]
mov rax, qword [rsi + 0x240]
mov ecx, dword [rax + 8]
mov dword [r11], ecx
mov dword [r11 + 4], r14d
mov rax, qword [rsp + 0x60]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9600
mov rcx, qword [rsp + 0x60]
call fcn.14000ade0
nop
jmp 0x1400a94c8
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a961a
mov rcx, qword [rsp + 0x60]
call fcn.14000ade0
mov rcx, rsi
call fcn.14009f6b0
test al, al
je 0x1400a96a1
mov eax, 0x20
mov word [rsp + 0x4c], ax
xor r8d, r8d
lea rdx, [0x140da0f28]
lea rcx, [rbp + 0x40]
call fcn.14009fa70
nop
lea rcx, [rsp + 0x4c]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
lea r8, [rsp + 0x38]
lea rdx, [rbp + 0x30]
mov rcx, rax
call fcn.14000df80
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp + 0x30]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9688
mov rcx, qword [rbp + 0x30]
call fcn.14000ade0
nop
mov rax, qword [rbp + 0x40]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a96a1
mov rcx, qword [rbp + 0x40]
call fcn.14000ade0
nop
jmp 0x1400a94c8
mov edx, r11d
mov rcx, rsi
call fcn.14009fe70
mov ebx, eax
mov dword [rbp - 0x60], eax
test eax, eax
je 0x1400a975c
cmp eax, 0xffff
jb 0x1400a96ff
mov r8d, 1
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x50]
call fcn.14000cbb0
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a0590
nop
mov rax, qword [rbp + 0x50]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9710
mov rcx, qword [rbp + 0x50]
call fcn.14000ade0
jmp 0x1400a9710
or ebx, 0x1a0000
lea rcx, [rsi + 0x68]
call fcn.1400a02a0
mov dword [rax], ebx
movsxd rcx, dword [rsi + 0x228]
add rcx, rcx
mov rax, qword [rsi + 0x230]
mov edx, dword [rax + rcx*8 + 0x24]
add edx, 3
lea rcx, [rsi + 0x240]
call fcn.14000ce60
movsxd r11, dword [rsi + 0x228]
shl r11, 4
add r11, qword [rsi + 0x230]
mov rax, qword [rsi + 0x240]
mov ecx, dword [rax + 8]
mov dword [r11], ecx
mov dword [r11 + 4], r14d
jmp 0x1400a9861
xor r8d, r8d
lea rdx, [0x140da0ea8]
lea rcx, [rbp + 0x60]
call fcn.14009fa70
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp + 0x60]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9861
mov rcx, qword [rbp + 0x60]
jmp 0x1400a9075
movsxd rdi, dword [rsi + 0x228]
add rdi, rdi
mov rbx, qword [rsi + 0x230]
mov rcx, rsi
call fcn.1400a5ba0
add dword [rbx + rdi*8 + 4], eax
cmp byte [rsi + 0xb8], 0
jne 0x1400a9bd6
jmp 0x1400a9861
movsxd rdi, dword [rsi + 0x228]
add rdi, rdi
mov rbx, qword [rsi + 0x230]
lea rdx, [rbx + rdi*8 + 8]
mov rcx, rsi
call fcn.1400a3b70
add dword [rbx + rdi*8 + 4], eax
cmp byte [rsi + 0xb8], 0
jne 0x1400a9be7
jmp 0x1400a9861
movsxd rdi, dword [rsi + 0x228]
add rdi, rdi
mov rbx, qword [rsi + 0x230]
xor edx, edx
mov rcx, rsi
call fcn.1400a3b70
add dword [rbx + rdi*8 + 4], eax
cmp byte [rsi + 0xb8], 0
jne 0x1400a9bf8
jmp 0x1400a9861
movsxd rdi, dword [rsi + 0x228]
add rdi, rdi
mov rbx, qword [rsi + 0x230]
mov rcx, rsi
call fcn.1400a3dd0
add dword [rbx + rdi*8 + 4], eax
cmp byte [rsi + 0xb8], 0
jne 0x1400a9c09
jmp 0x1400a9861
mov r12d, dword [rsp + 0x30]
xor r14d, r14d
lea r15, [0x140dd80a8]
lea r9, [0x140000000]
movsxd rax, dword [rsp + 0x68]
movsx ecx, word [r9 + rax*2 + 0xd9dfa0]
sub ecx, 0x39
movsxd rax, dword [rsp + 0x6c]
movsx edx, word [r9 + rax*2 + 0xd9eb46]
add edx, ecx
js 0x1400a98a6
movsxd r8, edx
movsx eax, word [r9 + r8*2 + 0xda00d2]
cmp eax, ecx
jne 0x1400a98a6
movsx ebx, word [r9 + r8*2 + 0xd9f692]
jmp 0x1400a98b2
movsxd rax, ecx
movsx ebx, word [r9 + rax*2 + 0xd9e740]
movsxd rcx, dword [rsi + 0x228]
mov rax, qword [rsi + 0x238]
mov dword [rax + rcx*4], ebx
cmp dword [rsi + 0xbc], 0
jne 0x1400a9c4f
or r13d, 0xffffffff
lea edi, [r13 + 6]
lea r10d, [r13 + 2]
lea r11d, [r13 + 4]
jmp 0x1400a7042
mov qword [rbp - 0x68], r15
lock inc dword [0x140dd80a8]
lea r8, [rbp - 0x68]
mov edx, 4
mov rcx, rsi
call fcn.1400a1ee0
nop
mov rax, qword [rbp - 0x68]
lock xadd dword [rax], r13d
dec r13d
jne 0x1400a9919
mov rcx, qword [rbp - 0x68]
call fcn.14000ade0
xor al, al
jmp 0x1400a9c51
xor r8d, r8d
lea rdx, [0x140da0e90]
lea rcx, [rbp + 0x70]
call fcn.14009fa70
nop
mov dword [rsi + 0xc0], 3
lea rcx, [rsi + 0xc8]
mov rdx, rax
call fcn.14000b0d0
mov dword [rsi + 0xbc], 1
mov rax, qword [rbp + 0x70]
lock xadd dword [rax], r13d
dec r13d
jne 0x1400a996e
mov rcx, qword [rbp + 0x70]
call fcn.14000ade0
mov dword [rsi + 0x228], r14d
mov rax, qword [rsi + 0x238]
mov dword [rax], r14d
inc dword [rsi + 0x228]
movsxd rcx, dword [rsi + 0x228]
mov rax, qword [rsi + 0x238]
mov dword [rax + rcx*4], r14d
xor al, al
jmp 0x1400a9c51
mov eax, 0xb
mov edx, eax
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov eax, 0x10
mov edx, eax
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0x25
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov eax, 0x2b
mov edx, eax
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0x4e
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0x53
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0x59
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0x5a
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0x5b
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0x5c
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0x60
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, WSAAsyncSelect
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, WSAAsyncSelect
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, reloc.WS2_32.dll_WSAAsyncSelect
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0x66
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0x82
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0xae
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov eax, 0x20
mov word [rsp + 0x48], ax
lea r8d, [rax - 0x1f]
lea rdx, [rbp + 0x498]
mov rcx, rsi
call fcn.14009fc20
mov rcx, rax
lea rdx, [rbp + 0xa0]
call fcn.14000b410
mov rbx, rax
xor r8d, r8d
lea rdx, [0x140da0e68]
lea rcx, [rbp + 0x90]
call fcn.14009fa70
nop
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, rbx
lea rdx, [rbp + 0x80]
mov rcx, rax
call fcn.14000df80
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1fc0
nop
mov rax, qword [rbp + 0x80]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9b89
mov rcx, qword [rbp + 0x80]
call fcn.14000ade0
nop
mov rax, qword [rbp + 0x90]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9ba8
mov rcx, qword [rbp + 0x90]
call fcn.14000ade0
nop
mov rax, qword [rbp + 0xa0]
lock xadd dword [rax], r13d
dec r13d
jne 0x1400a9bc5
mov rcx, qword [rbp + 0xa0]
call fcn.14000ade0
mov edx, 0xaf
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0x103
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0x106
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0x107
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov edx, 0x10c
mov rcx, rsi
call fcn.1400a2460
xor al, al
jmp 0x1400a9c51
mov rcx, rsi
call fcn.1400a1ff0
xor al, al
jmp 0x1400a9c51
mov dword [rsi + 0x228], r14d
mov rax, qword [rsi + 0x238]
mov dword [rax], r14d
inc dword [rsi + 0x228]
movsxd rcx, dword [rsi + 0x228]
mov rax, qword [rsi + 0x238]
mov dword [rax + rcx*4], r14d
mov al, 1
add rsp, 0x5b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret