Function at 0x1400a7aa0
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.0x1400a7af6.3
mov ecx, dword [rdx + rax*4 + 0xaaa84]
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 0x1400a7b45
call fcn.1400a4ee0
lea rcx, [rsi + 0xf0]
mov rax, qword [rcx]
cmp dword [rax + 8], r12d
je 0x1400a7b5c
xor edx, edx
call fcn.1400a42a0
test byte [rsi + 0x220], 1
je 0x1400a7c57
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 0x1400aaa6c
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.1400a0c60
jmp case.0x1400a7af6.0
lea rcx, [rsi + 0x138]
call fcn.1400a4de0
lea rcx, [rsi + 0x158]
call fcn.1400a4fc0
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.1400a0c60
jmp case.0x1400a7af6.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.1400a0c60
jmp case.0x1400a7af6.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.1400a0c60
jmp case.0x1400a7af6.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.140046cc0
test al, al
je case.0x1400a7af6.3
xor r8d, r8d
lea rdx, [0x1415a9888]
lea rcx, [rbp + 0xb0]
call fcn.1400a0b10
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp + 0xb0]
lock dec dword [rax]
jne 0x1400a7d92
mov rcx, qword [rbp + 0xb0]
call fcn.140012a00
lea rcx, [rsi + 0x58]
call fcn.1400155b0
xor al, al
jmp 0x1400aaa6e
cmp byte [rsi + 0xf8], r12b
jne case.0x1400a7af6.0
xor edx, edx
lea rcx, [rsi + 0x240]
call fcn.140013270
mov rax, qword [rsi + 0x240]
mov ecx, dword [rax]
cmp ecx, 1
jne 0x1400a7dd7
mov rax, qword [rsi + 0x240]
cmp dword [rax + 4], 0x100
jge 0x1400a7de8
mov edx, pe_nt_image_headers64
lea rcx, [rsi + 0x240]
call fcn.140012a40
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, [0x1415d9378]
movsxd rcx, dword [rsi + 0x228]
mov rax, qword [rsi + 0x238]
lea r9, [0x140000000]
test r8d, r8d
je 0x1400a7e5f
mov eax, dword [rax + rcx*4 - 4]
mov dword [rsp + 0x6c], eax
mov dword [rsi + 0x224], r14d
jmp 0x1400a8219
mov ebx, dword [rax + rcx*4]
cmp word [rsi + 0x258], 0xffff
jne 0x1400a80df
movsxd rax, ebx
mov ecx, 0xffffffc7
cmp cx, word [r9 + rax*2 + 0x15a7a70]
je 0x1400a80df
mov eax, dword [rsi + 0x70]
inc eax
je 0x1400a7eb1
cmp byte [rsi + 0xb8], 0
je 0x1400a7e9c
mov edx, r14d
jmp 0x1400a7eea
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 0x1400a7eea
mov rdx, qword [rsi + 0x58]
movsxd rcx, dword [rsi + 0x60]
cmp ecx, dword [rdx + 8]
jge 0x1400a7ece
lea eax, [rcx + 1]
mov dword [rsi + 0x60], eax
mov rax, qword [rdx + 0x10]
movzx edx, word [rax + rcx*2]
jmp 0x1400a7eea
mov rcx, rsi
call fcn.1400a1a10
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 0x1400a7f10
shr edx, 0x10
mov word [rsi + 0x258], dx
jmp 0x1400a80df
movzx eax, dx
cmp eax, 0xffff
jg case.0x1400a7f46.28
cmp eax, 0xfffe
jge 0x1400a80bd
cmp eax, 0x7c
ja case.0x1400a7f46.28
movzx eax, byte [r9 + rax + 0xaab24]
mov ecx, dword [r9 + rax*4 + 0xaaab0]
add rcx, r9
jmp rcx
mov eax, 2
mov word [rsi + 0x258], ax
cmp edx, 0xd
jne 0x1400a80df
mov rcx, rsi
call fcn.1400a45f0
mov word [rsi + 0x25a], ax
lea r9, [0x140000000]
test ax, ax
je case.0x1400a7f46.0
inc qword [rsi + 0xd8]
movsxd rax, dword [rsi + 0x60]
add rax, qword [rsi + 0xe8]
mov qword [rsi + 0xe0], rax
jmp 0x1400a80df
mov word [rsi + 0x258], r14w
cmp byte [rsi + 0x1c], 0
jne 0x1400a80df
test byte [rsi + 0x220], 0x80
jne 0x1400a80df
xor edx, edx
mov ecx, ebx
call fcn.1400a0710
test eax, eax
js 0x1400aa702
lea r9, [0x140000000]
jmp 0x1400a80df
inc qword [rsi + 0xd8]
movsxd rax, dword [rsi + 0x60]
add rax, qword [rsi + 0xe8]
mov qword [rsi + 0xe0], rax
mov eax, 2
jmp 0x1400a80d8
mov word [rsi + 0x258], di
jmp 0x1400a80df
mov eax, 6
jmp 0x1400a80d8
mov eax, 7
jmp 0x1400a80d8
mov eax, 8
jmp 0x1400a80d8
mov word [rsi + 0x258], r11w
jmp 0x1400a80df
mov eax, 4
jmp 0x1400a80d8
mov eax, 9
jmp 0x1400a80d8
mov eax, 0xa
jmp 0x1400a80d8
mov eax, 0xb
jmp 0x1400a80d8
mov eax, 0xc
jmp 0x1400a80d8
mov eax, 0xd
jmp 0x1400a80d8
mov eax, 0xe
jmp 0x1400a80d8
mov eax, 0xf
jmp 0x1400a80d8
mov eax, 0x10
jmp 0x1400a80d8
mov eax, 0x11
jmp 0x1400a80d8
mov eax, 0x12
jmp 0x1400a80d8
mov eax, 0x13
jmp 0x1400a80d8
mov eax, 0x14
jmp 0x1400a80d8
mov eax, 0x15
jmp 0x1400a80d8
mov eax, 0x16
jmp 0x1400a80d8
mov eax, 0x17
jmp 0x1400a80d8
mov eax, 0x18
jmp 0x1400a80d8
mov eax, 0x19
jmp 0x1400a80d8
mov eax, 0x1b
jmp 0x1400a80d8
mov eax, 0x2b
jmp 0x1400a80d8
cmp edx, 0x20
jae 0x1400a80d3
mov word [rsi + 0x258], r10w
jmp 0x1400a80df
mov eax, 0x1a
mov word [rsi + 0x258], ax
movsx edx, word [rsi + 0x258]
movsxd r8, ebx
movsx eax, word [r9 + r8*2 + 0x15a7a70]
add eax, edx
js 0x1400a8111
movsxd rcx, eax
movsx eax, word [r9 + rcx*2 + 0x15a8b60]
cmp eax, edx
jne 0x1400a8111
movsx ebx, word [r9 + rcx*2 + 0x15a8120]
jmp 0x1400a811c
movsx ebx, word [r9 + r8*2 + 0x15a7660]
neg ebx
cmp ebx, 0x1a0
je 0x1400aaa43
test ebx, ebx
jle 0x1400a81c8
inc dword [rsi + 0x228]
mov eax, dword [rsi + 0x22c]
dec eax
cmp dword [rsi + 0x228], eax
jne 0x1400a814e
mov rcx, rsi
call fcn.1400a0780
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 0x1400a819d
call fcn.1400072a0
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 0x1400a7e62
jns 0x1400aaa37
mov r8d, r13d
sub r8d, ebx
mov dword [rsp + 0x68], r8d
movsxd rax, r8d
movsx eax, word [r9 + rax*2 + 0x15a7440]
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.0x1400a823d.60
movsxd rax, r8d
movzx eax, byte [r9 + rax + 0xaac98]
mov ecx, dword [r9 + rax*4 + 0xaaba4]
add rcx, r9
jmp rcx
cmp dword [rsi + 0xbc], 1
je case.0x1400a823d.60
mov dword [rsi + 0xbc], r11d
jmp case.0x1400a823d.60
cmp dword [rsi + 0xbc], 1
je case.0x1400a823d.60
mov eax, dword [rsi + 0x220]
test al, 0x40
jne 0x1400a8277
test al, al
jns 0x1400aa73d
mov dword [rsi + 0xbc], r11d
jmp case.0x1400a823d.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.0x1400a823d.60
mov r8d, 0x37
xor r9d, r9d
lea rdx, [0x14159e6a0]
mov rcx, rsi
call fcn.1400a5380
test al, al
jne 0x1400aa67e
cmp byte [rsi + 0xb8], al
jne 0x1400aa7bb
jmp 0x1400aa67e
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.1400a0cc0
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.1400a1fe0
jmp 0x1400aa67e
or dword [rsi + 0x220], 0x400
mov r8d, ebx
lea rdx, [rbp + 0x328]
mov rcx, rsi
call fcn.1400a0cc0
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 0x1400aa67e
mov r8d, ebx
lea rdx, [rbp + 0x1c8]
mov rcx, rsi
call fcn.1400a0cc0
mov rdx, rax
mov rcx, rsi
call fcn.1400a1e40
mov r8d, ebx
lea rdx, [rbp + 0x3e8]
mov rcx, rsi
call fcn.1400a0cc0
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.1400a0cc0
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 0x1400aa67e
mov rcx, rsi
call fcn.1400a5720
test al, al
jne 0x1400a842c
cmp byte [rsi + 0xb8], al
jne 0x1400aa7d1
mov r8d, 3
lea rdx, [rbp + 0x348]
mov rcx, rsi
call fcn.1400a0cc0
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 0x1400aa67e
mov r8d, r11d
lea rdx, [rbp + 0x208]
mov rcx, rsi
call fcn.1400a0cc0
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 0x1400a84d0
mov rax, qword [rax]
mov ecx, dword [rax + 8]
jmp 0x1400a84d3
mov ecx, r14d
mov dword [rsi + 0x16c], ecx
jmp case.0x1400a823d.60
mov byte [rsi + 0xf8], 1
jmp case.0x1400a823d.60
mov byte [rsi + 0xf8], 0
jmp case.0x1400a823d.60
mov r8d, 0x28
xor r9d, r9d
lea rdx, [0x1415a6f5c]
mov rcx, rsi
call fcn.1400a5380
test al, al
jne 0x1400aa67e
mov r8d, 0x29
xor r9d, r9d
lea rdx, [0x1415a6f58]
mov rcx, rsi
call fcn.1400a5380
test al, al
jne 0x1400aa67e
cmp byte [rsi + 0xb8], al
jne 0x1400aa7e7
jmp 0x1400aa67e
mov r8d, 0x2a
xor r9d, r9d
lea rdx, [0x1415a6f50]
mov rcx, rsi
call fcn.1400a5380
test al, al
jne 0x1400aa67e
cmp byte [rsi + 0xb8], al
jne 0x1400aa7fb
jmp 0x1400aa67e
mov byte [rsi + 0x110], 1
jmp case.0x1400a823d.60
mov rcx, rsi
call fcn.1400a5810
test al, al
jne 0x1400aa67e
cmp byte [rsi + 0xb8], al
jne 0x1400aa811
jmp 0x1400aa67e
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.1400a58d0
test al, al
jne 0x1400aa67e
cmp byte [rsi + 0xb8], al
jne 0x1400aa825
jmp 0x1400aa67e
lea rcx, [rsi + 0x118]
call fcn.1400a2bd0
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.1400a0d90
mov r8, rax
lea rdx, [rbp + 0x228]
mov rcx, rsi
call fcn.1400a0b40
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.1400a0cc0
mov r8, rax
lea rdx, [rbp + 0x248]
mov rcx, rsi
call fcn.1400a0b40
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.1400a0d00
mov r8, rax
lea rdx, [rbp + 0x268]
mov rcx, rsi
call fcn.1400a0b40
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, [0x1415aa030]
mov qword [rbp + 0x138], rax
lea rdx, [rdi + 0x20]
lea rcx, [rbp + 0x138]
call fcn.140011140
test al, al
jne 0x1400a8730
cmp dword [rdi + 0x2c], 0
jne 0x1400a872b
lea rax, [0x1415aa030]
mov qword [rbp + 0x110], rax
lea rdx, [rdi + 0x30]
lea rcx, [rbp + 0x110]
call fcn.140011140
test al, al
jne 0x1400a8730
mov eax, r14d
jmp 0x1400a8735
mov eax, 1
mov byte [rdi + 0x51], al
lea rcx, [rsi + 0x100]
mov rax, qword [rcx]
test rax, rax
je 0x1400a8800
cmp qword [rax], r15
je 0x1400a8800
cmp byte [rdi + 0x50], 0
je 0x1400a8789
mov r8, rcx
lea rdx, [rbp + 0x388]
mov rcx, rsi
call fcn.1400a0b40
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 0x1400aa67e
lea rdx, [rbp - 0x48]
call fcn.140012f40
nop
lea rdx, [rbp + 0x58]
mov rcx, rax
call fcn.140016d00
nop
mov r8, rax
lea rdx, [rbp + 0x288]
mov rcx, rsi
call fcn.1400a0be0
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 0x1400a87de
mov rcx, qword [rbp + 0x58]
call fcn.140012a00
nop
mov rax, qword [rbp - 0x48]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a877f
mov rcx, qword [rbp - 0x48]
call fcn.140012a00
mov r12d, dword [rsp + 0x30]
jmp 0x1400aa67e
mov qword [rdi + 0x40], r14
mov qword [rdi + 0x48], 0
mov r12d, dword [rsp + 0x30]
jmp 0x1400aa67e
mov eax, dword [rsi + 0x220]
bt eax, 8
jae 0x1400a882a
test al, 8
je case.0x1400a823d.60
mov ebx, dword [rsi + 0x120]
inc ebx
mov r8d, r11d
lea rdx, [rbp + 0x198]
mov rcx, rsi
call fcn.1400a0d00
mov r8, rax
lea rdx, [rbp + 0xc8]
mov rcx, rsi
call fcn.1400a0b40
movsxd r15, ebx
test ebx, ebx
je 0x1400aa677
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, [0x1415d9378]
test rax, rax
je 0x1400a8898
cmp qword [rax], r9
jne 0x1400aa66f
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 0x1400a8945
mov edi, eax
nop dword [rax]
mov rdx, qword [rsi + 0x118]
mov rax, qword [rdi + rdx]
test rax, rax
je 0x1400a88ff
cmp qword [rax], r9
je 0x1400a88ff
movsxd rcx, ebx
imul rcx, rcx, 0x58
add rcx, rdx
lea rdx, [rbp + 0xc8]
call fcn.140011080
test al, al
je 0x1400a891f
movsxd rcx, ebx
imul rcx, rcx, 0x58
add rcx, qword [rsi + 0x118]
lea rdx, [r13 + r14 + 0x10]
add rcx, 0x10
call fcn.140011080
test al, al
jne 0x1400a8936
inc ebx
inc r12
add rdi, 0x58
cmp r12, r15
lea r9, [0x1415d9378]
jl 0x1400a88d0
jmp 0x1400a8942
xor eax, eax
mov qword [r13 + r14 + 0x10], rax
mov qword [r13 + r14 + 0x18], rax
test r15, r15
jne 0x1400a8870
jmp 0x1400aa66f
mov rcx, rsi
call fcn.1400a5720
test al, al
jne 0x1400a8968
cmp byte [rsi + 0xb8], al
jne 0x1400aa839
lea rcx, [rsi + 0x148]
call fcn.1400a2bd0
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.1400a0cc0
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 0x1400aa67e
mov rcx, rsi
call fcn.1400a5720
test al, al
jne 0x1400a89fc
cmp byte [rsi + 0xb8], al
jne 0x1400aa84d
lea rcx, [rsi + 0x148]
call fcn.1400a2bd0
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.1400a0cc0
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 0x1400aa67e
mov rcx, rsi
call fcn.1400a57c0
test al, al
jne 0x1400a8a91
cmp byte [rsi + 0xb8], al
jne 0x1400aa861
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.1400a0cc0
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 0x1400aa67e
mov rcx, rsi
call fcn.1400a57c0
test al, al
jne 0x1400a8aec
cmp byte [rsi + 0xb8], al
jne 0x1400aa875
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.1400a0cc0
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.1400a1e40
mov r8d, edi
lea rdx, [rbp + 0x2e8]
jmp 0x1400a8ab0
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.1400a0cc0
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 0x1400a8bb5
xor r8d, r8d
lea rdx, [0x1415aa2e8]
lea rcx, [rbp + 0x78]
call fcn.1400a0b10
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp + 0x78]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a8bb5
mov rcx, qword [rbp + 0x78]
call fcn.140012a00
lea r9, [0x140000000]
mov eax, dword [rsi + 0x220]
bt eax, 8
jae 0x1400a8bd7
test al, 8
jne 0x1400a8bd7
dec dword [rsi + 0x150]
jmp case.0x1400a823d.60
movsxd rbx, dword [rsi + 0x150]
imul rbx, rbx, 0x58
add rbx, qword [rsi + 0x148]
cmp byte [rbx + 0x51], 0
jne 0x1400a8c17
mov r8d, 2
lea rdx, [rbp + 0x308]
mov rcx, rsi
call fcn.1400a0cc0
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.140012f40
nop
cmp byte [rbx + 0x50], 0
lea rdi, [rsi + 0x80]
jne 0x1400a8c36
lea rdi, [rsi + 0x78]
lea rdx, [rsp + 0x78]
mov rcx, rdi
call fcn.1400a2c40
test al, al
jne 0x1400a8ce5
lea rcx, [rbx + 0x40]
lea rdx, [rbp - 0x38]
call fcn.140012f40
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 0x1400a8c7e
mov rcx, qword [rbp - 0x38]
call fcn.140012a00
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1400a8c90
cmp qword [rax], r15
je 0x1400a8c90
xor eax, eax
jmp 0x1400a8c92
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.1400a72f0
nop
mov rax, qword [rbp - 0x78]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a8ce5
mov rcx, qword [rbp - 0x78]
call fcn.140012a00
nop
mov rax, qword [rsp + 0x78]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa67e
mov rcx, qword [rsp + 0x78]
call fcn.140012a00
jmp 0x1400aa67e
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.1400a0cc0
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, [0x1415a9b6c]
mov rcx, rsi
call fcn.1400a5dd0
test al, al
je 0x1400a8f03
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.140012f40
nop
lea rax, [0x1415a9d60]
mov qword [rbp + 0x120], rax
xor r8d, r8d
lea rdx, [rbp + 0x120]
lea rcx, [rsp + 0x50]
call fcn.1400126d0
test eax, eax
jne 0x1400a8e23
xor r8d, r8d
lea rdx, [0x1415aa2b8]
lea rcx, [rbp + 0x48]
call fcn.1400a0b10
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp + 0x48]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a8ee0
mov rcx, qword [rbp + 0x48]
jmp 0x1400a8eda
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.1400acb70
test al, al
jne 0x1400a8ee0
mov eax, 0x20
mov word [rbp + 0x500], ax
xor r8d, r8d
lea rdx, [0x1415aa288]
lea rcx, [rbp + 0x98]
call fcn.1400a0b10
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.140015d20
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp - 0x28]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a8ec1
mov rcx, qword [rbp - 0x28]
call fcn.140012a00
nop
mov rax, qword [rbp + 0x98]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a8ee0
mov rcx, qword [rbp + 0x98]
call fcn.140012a00
nop
mov rax, qword [rsp + 0x50]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa67e
mov rcx, qword [rsp + 0x50]
call fcn.140012a00
jmp 0x1400aa67e
cmp dword [rsi + 0xbc], 1
jne 0x1400aa889
jmp 0x1400aa67e
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.1400a0cc0
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.140012f40
nop
lea rcx, [0x1415a9d60]
mov qword [rbp + 0x130], rcx
xor r8d, r8d
lea rdx, [rbp + 0x130]
mov rcx, rax
call fcn.1400126d0
test eax, eax
sete bl
mov rax, qword [rbp - 0x18]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a8f9e
mov rcx, qword [rbp - 0x18]
call fcn.140012a00
test bl, bl
je 0x1400aa67e
xor r8d, r8d
lea rdx, [0x1415aa260]
lea rcx, [rbp - 8]
call fcn.1400a0b10
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp - 8]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa67e
mov rcx, qword [rbp - 8]
call fcn.140012a00
jmp 0x1400aa67e
mov rcx, rsi
call fcn.1400a55f0
test al, al
jne 0x1400aa67e
cmp byte [rsi + 0xb8], al
jne 0x1400aa89d
jmp 0x1400aa67e
mov r8d, r13d
lea rdx, [0x1415aa25c]
mov rcx, rsi
call fcn.1400a5dd0
test al, al
je 0x1400aa8b1
jmp 0x1400aa67e
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.0x1400a823d.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, [0x1415a9b68]
mov rcx, rsi
call fcn.1400a5dd0
test al, al
je 0x1400aa8c5
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 0x1400aa67e
mov rcx, rsi
call fcn.1400a5720
test al, al
jne 0x1400a911f
cmp byte [rsi + 0xb8], al
jne 0x1400aa8d9
lea rcx, [rsi + 0x128]
call fcn.1400a2b60
mov rbx, rax
mov r8d, 3
lea rdx, [rbp + 0x1b8]
mov rcx, rsi
call fcn.1400a0cc0
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 0x1400aa67e
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.1400a0cc0
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 0x1400aa67e
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.1400a0cc0
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.1400a1e40
jmp 0x1400aa67e
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.1400a0cc0
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.1400a1e40
mov r8d, edi
lea rdx, [rbp + 0x238]
mov rcx, rsi
call fcn.1400a0cc0
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 0x1400aa67e
and dword [rsi + 0x220], 0xfffffffd
movsxd rdi, dword [rsi + 0x228]
add rdi, rdi
mov rbx, qword [rsi + 0x230]
mov rcx, rsi
call fcn.1400a49e0
add dword [rbx + rdi*8 + 4], eax
cmp byte [rsi + 0xb8], 0
je 0x1400aa67e
test byte [rsi + 0x220], 0x80
je 0x1400aa8ed
jmp 0x1400aa67e
lea rcx, [rsi + 0x240]
mov rax, qword [rcx]
cmp dword [rax + 8], 0
je case.0x1400a823d.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 0x1400a84d0
mov rax, qword [rcx]
mov ecx, dword [rax + 8]
jmp 0x1400a84d3
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.0x1400a823d.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.0x1400a823d.60
test byte [rsi + 0x220], 0x20
je case.0x1400a823d.60
lea rcx, [rsi + 0x240]
mov rax, qword [rcx]
movsxd rbx, dword [rax + 8]
call fcn.1400153c0
mov edx, 0x20
mov word [rax + rbx*2 - 2], dx
jmp 0x1400aa67e
movsxd rdi, dword [rsi + 0x228]
add rdi, rdi
mov rbx, qword [rsi + 0x230]
mov rcx, rsi
call fcn.1400a4680
add dword [rbx + rdi*8 + 4], eax
cmp byte [rsi + 0xb8], 0
jne 0x1400aa901
jmp 0x1400aa67e
mov r8d, r10d
lea rdx, [rbp + 0x258]
mov rcx, rsi
call fcn.1400a0cc0
mov rcx, rax
lea rdx, [rbp - 0x58]
call fcn.140012f40
nop
mov rcx, rax
call fcn.1400aca90
test al, al
sete bl
mov rax, qword [rbp - 0x58]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a93f2
mov rcx, qword [rbp - 0x58]
call fcn.140012a00
test bl, bl
jne 0x1400aa915
jmp 0x1400aa67e
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.1400a0cc0
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 0x1400aa67e
mov r8d, r10d
lea rdx, [rbp + 0x168]
mov rcx, rsi
call fcn.1400a0d90
cmp dword [rbp + 0x174], 0
jne 0x1400a94cc
or r12d, 1
mov dword [rsp + 0x30], r12d
lea rax, [0x1415aa030]
mov qword [rbp + 0x100], rax
mov r8d, 1
lea rdx, [rbp + 0x298]
mov rcx, rsi
call fcn.1400a0cc0
mov rdx, rax
lea rcx, [rbp + 0x100]
call fcn.140011140
test al, al
je 0x1400a94cc
test dword [rsi + 0x220], 0x1000
je 0x1400a94cc
mov al, 1
jmp 0x1400a94ce
xor al, al
test r12b, 1
je 0x1400a94dd
and r12d, 0xfffffffe
mov dword [rsp + 0x30], r12d
test al, al
je 0x1400a95c6
mov rcx, rsi
call fcn.1400a2a80
mov rbx, rax
mov qword [rax], r14
mov qword [rax + 8], 0
mov r8d, edi
lea rdx, [rbp + 0x158]
mov rcx, rsi
call fcn.1400a0cc0
lea rax, [0x1415aa010]
mov qword [rbp + 0xe8], rax
lea rdx, [rbp + 0x158]
lea rcx, [rbp + 0xe8]
call fcn.140011140
test al, al
jne 0x1400a9585
lea rax, [0x1415a9d38]
mov qword [rbp + 0x128], rax
lea rdx, [rbp + 0x158]
lea rcx, [rbp + 0x128]
call fcn.140011140
test al, al
jne 0x1400a9585
lea r8, [rbp + 0x158]
lea rdx, [rbp + 0x2b8]
mov rcx, rsi
call fcn.1400a0b40
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 0x1400aa67e
xor r8d, r8d
lea rdx, [0x1415a9ff0]
lea rcx, [rbp]
call fcn.1400a0b10
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa67e
mov rcx, qword [rbp]
call fcn.140012a00
jmp 0x1400aa67e
lea rbx, [rsi + 0x248]
mov rcx, rbx
call fcn.1400a2a80
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.1400a0d00
xor r12d, r12d
mov eax, dword [rsi + 0x120]
inc eax
test eax, eax
jle 0x1400a9778
xor edi, edi
nop word [rax + rax]
mov rax, qword [rsi + 0x118]
lea rbx, [rdi + rax]
cmp byte [rbx + 0x50], 0
jne 0x1400a96a8
lea rdx, [rsi + 0x190]
mov rcx, rbx
call fcn.140011080
test al, al
je 0x1400a96a8
lea rcx, [rbx + 0x10]
lea rdx, [rbp + 0x188]
call fcn.140011080
test al, al
jne 0x1400a96c2
inc r12d
add rdi, 0x58
mov eax, dword [rsi + 0x120]
inc eax
cmp r12d, eax
jge 0x1400a9771
jmp 0x1400a9670
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 0x1400a972e
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 0x1400a9705
test r12b, r12b
jne 0x1400a971d
mov r12b, 1
jmp 0x1400a9708
xor r12b, r12b
movsxd rax, edx
movzx edx, word [rcx + rax*2]
lea rcx, [rsi + 0x240]
call fcn.1400072a0
inc edi
inc ebx
cmp ebx, dword [r14 + 0x14]
jl 0x1400a96e0
test r12b, r12b
je 0x1400a9761
mov eax, dword [rsp + 0x70]
movsxd r8, edi
cdqe
test edi, edi
je 0x1400a9761
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 0x1400a9761
dec edi
sub rax, 2
dec r8
jne 0x1400a9750
mov eax, dword [rsp + 0x70]
mov dword [r14 + 0x10], eax
mov dword [r14 + 0x14], edi
or r13d, 0xffffffff
lea rbx, [rsi + 0x248]
lea r12, [0x1415aa030]
mov qword [rbp + 0x108], r12
lea rdx, [rbp + 0x168]
lea rcx, [rbp + 0x108]
call fcn.140011140
test al, al
je 0x1400aa66f
test dword [rsi + 0x220], 0x1000
je 0x1400aa66f
mov rcx, rsi
call fcn.1400a2a80
mov rdi, rax
mov r8, r14
lea rdx, [rbp + 0xf0]
mov rcx, rsi
call fcn.1400a0de0
lea r8, [r14 + 0x10]
lea rdx, [rbp + 0xb8]
mov rcx, rsi
call fcn.1400a0de0
dec dword [rbx + 8]
lea rax, [0x1415a9d60]
mov qword [rbp + 0x150], rax
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x150]
call fcn.140011140
movzx ebx, al
lea rax, [0x1415a9d38]
mov qword [rbp + 0x118], rax
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x118]
call fcn.140011140
xor al, bl
jne 0x1400a9879
lea rax, [0x1415aa010]
mov qword [rbp + 0xd8], rax
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0xd8]
call fcn.140011140
test al, al
jne 0x1400a9879
cmp dword [rbp + 0xc4], 0
je 0x1400a9879
mov qword [rbp + 0xe0], r12
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0xe0]
call fcn.140011140
test al, al
je 0x1400a98b1
xor r8d, r8d
lea rdx, [0x1415a9ff0]
lea rcx, [rbp + 8]
call fcn.1400a0b10
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp + 8]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a98b1
mov rcx, qword [rbp + 8]
call fcn.140012a00
lea r8, [rbp + 0xf0]
lea rdx, [rbp + 0x2d8]
mov rcx, rsi
call fcn.1400a0b40
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.1400a0b40
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 0x1400aa66f
or dword [rsi + 0x220], 0x20
mov rcx, rsi
call fcn.1400a1600
mov rbx, rax
mov r12d, 2
mov r8d, r12d
lea rdx, [rbp + 0x318]
mov rcx, rsi
call fcn.1400a0d90
mov r8, rax
lea rdx, [rbp + 0x338]
mov rcx, rsi
call fcn.1400a0b40
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.1400a0cc0
mov r8, rax
lea rdx, [rbp + 0x378]
mov rcx, rsi
call fcn.1400a0b40
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.1400a0d00
mov r8, rax
lea rdx, [rbp + 0x3b8]
mov rcx, rsi
call fcn.1400a0b40
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 0x1400a9a27
lea rcx, [rsi + 0x170]
call fcn.1400acb70
test al, al
je 0x1400a9a3b
lea rcx, [rsi + 0x1a0]
call fcn.1400acb70
test al, al
jne 0x1400a877f
xor r8d, r8d
lea rdx, [0x1415aa248]
lea rcx, [rbp + 0x88]
call fcn.1400a0b10
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp + 0x88]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a877f
mov rcx, qword [rbp + 0x88]
call fcn.140012a00
mov r12d, dword [rsp + 0x30]
jmp 0x1400aa67e
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.1400a60b0
mov r11d, dword [rsi + 0x28]
inc r11d
cmp r11d, 1
jne 0x1400a9afe
mov eax, dword [rsi + 0x220]
test al, 0x40
je 0x1400a9afe
test al, al
js 0x1400a9afe
xor r8d, r8d
lea rdx, [0x1415aa220]
lea rcx, [rbp + 0x18]
call fcn.1400a0b10
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp + 0x18]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9afe
mov rcx, qword [rbp + 0x18]
call fcn.140012a00
or dword [rsi + 0x220], 0x40
jmp 0x1400aa67e
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.1400a0d00
mov rdx, rax
lea rcx, [rsi + 0x190]
call fcn.140011080
test al, al
sete al
test al, al
je 0x1400aa67e
xor r8d, r8d
lea rdx, [0x1415aa1f8]
lea rcx, [rbp + 0x68]
call fcn.1400a0b10
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp + 0x68]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa67e
mov rcx, qword [rbp + 0x68]
call fcn.140012a00
jmp 0x1400aa67e
mov rcx, rsi
call fcn.1400a0750
test al, al
je 0x1400a9cc0
mov eax, 0x20
mov word [rbp + 0x508], ax
xor r8d, r8d
lea rdx, [0x1415aa1d8]
lea rcx, [rbp + 0xa8]
call fcn.1400a0b10
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.140015d20
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp + 0x28]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9c99
mov rcx, qword [rbp + 0x28]
call fcn.140012a00
nop
mov rax, qword [rbp + 0xa8]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa67e
mov rcx, qword [rbp + 0xa8]
call fcn.140012a00
jmp 0x1400aa67e
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 0x1400a9cf9
mov rax, qword [rax]
mov ecx, dword [rax + 8]
jmp 0x1400a9cfc
mov ecx, r14d
mov dword [rsi + 0x1ac], ecx
jmp 0x1400aa67e
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.1400a0cc0
mov rcx, rax
lea rdx, [rsp + 0x40]
call fcn.140012f40
nop
lea rdx, [rsp + 0x40]
lea rcx, [rsi + 0x78]
call fcn.1400a2c40
test al, al
je 0x1400a9e9f
lea rdx, [rsp + 0x40]
lea rcx, [rsi + 0x78]
call fcn.1400a71c0
mov rbx, rax
mov eax, dword [rax + 8]
test al, 2
je 0x1400a9dfb
mov eax, 0x20
mov word [rbp + 0x510], ax
xor r8d, r8d
lea rdx, [0x1415aa1b0]
lea rcx, [rbp - 0x50]
call fcn.1400a0b10
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.140015d20
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp + 0x38]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9dda
mov rcx, qword [rbp + 0x38]
call fcn.140012a00
nop
mov rax, qword [rbp - 0x50]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9e7c
mov rcx, qword [rbp - 0x50]
call fcn.140012a00
jmp 0x1400a9e7c
test al, 8
jne 0x1400a9e0e
mov rdx, rbx
mov rcx, rsi
call fcn.1400a78f0
or dword [rbx + 8], 8
mov rdx, rbx
mov rcx, rsi
test byte [rbx + 8], 4
je 0x1400a9e21
call fcn.1400a17a0
jmp 0x1400a9e35
call fcn.1400a3c10
test al, al
je 0x1400a9e35
mov rdx, rbx
mov rcx, rsi
call fcn.1400a1850
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.140014b50
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 0x1400aa67e
mov rcx, qword [rsp + 0x40]
call fcn.140012a00
jmp 0x1400aa67e
cmp qword [rsi + 0x268], 0
je 0x1400a9f53
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1400a0e70
nop
mov rax, qword [rsp + 0x58]
cmp rax, r15
je 0x1400a9f3e
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1400a1850
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.140014b50
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 0x1400a9f39
mov rcx, qword [rsp + 0x58]
call fcn.140012a00
nop
jmp 0x1400a9e7c
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9f53
mov rcx, qword [rsp + 0x58]
call fcn.140012a00
lea rcx, [rsi + 0x68]
call fcn.1400a1520
mov dword [rax], 0x2e0000
mov r8d, 2
lea rdx, [rbp + 0x418]
mov rcx, rsi
call fcn.1400a0cc0
mov rcx, rax
lea rdx, [rbp - 0x40]
call fcn.140012f40
nop
lea rcx, [rsi + 0xd0]
mov rdx, rax
call fcn.140012be0
nop
mov rax, qword [rbp - 0x40]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400a9fac
mov rcx, qword [rbp - 0x40]
call fcn.140012a00
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.140014b50
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 0x1400a9e7c
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.1400a0cc0
mov rcx, rax
lea rdx, [rbp - 0x80]
call fcn.140012f40
nop
lea rdx, [rbp - 0x80]
lea rcx, [rsi + 0x80]
call fcn.1400a2c40
test al, al
je 0x1400aa0ea
or dword [rsi + 0x220], 0x200
lea rdx, [rbp - 0x80]
lea rcx, [rsi + 0x80]
call fcn.1400a71c0
mov rbx, rax
mov eax, dword [rax + 8]
test al, 2
jne 0x1400aa0db
test al, 1
jne 0x1400aa0db
mov rdx, rbx
mov rcx, rsi
call fcn.1400a3c10
test al, al
je 0x1400aa08f
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.1400a16e0
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.140014b50
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 0x1400aa1b2
or dword [rsi + 0x220], 0x100
jmp 0x1400aa1b2
mov rcx, rsi
call fcn.1400a0750
test al, al
je 0x1400aa1b2
mov eax, 0x20
mov word [rbp + 0x518], ax
lea r8d, [rax - 0x1e]
lea rdx, [rbp + 0x458]
mov rcx, rsi
call fcn.1400a0cc0
mov rcx, rax
lea rdx, [rbp - 0x10]
call fcn.140012f40
mov rbx, rax
xor r8d, r8d
lea rdx, [0x1415aa1d8]
lea rcx, [rbp - 0x20]
call fcn.1400a0b10
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.140015d20
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp - 0x30]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa180
mov rcx, qword [rbp - 0x30]
call fcn.140012a00
nop
mov rax, qword [rbp - 0x20]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa199
mov rcx, qword [rbp - 0x20]
call fcn.140012a00
nop
mov rax, qword [rbp - 0x10]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa1b2
mov rcx, qword [rbp - 0x10]
call fcn.140012a00
nop
mov rax, qword [rbp - 0x80]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa67e
mov rcx, qword [rbp - 0x80]
jmp 0x1400a9e95
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.0x1400a823d.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.1400a0cc0
mov rcx, rax
lea rdx, [rsp + 0x38]
call fcn.140012f40
nop
lea rdx, [rsp + 0x38]
lea rcx, [rsi + 0x78]
call fcn.1400a2c40
test al, al
je 0x1400aa383
lea rdx, [rsp + 0x38]
lea rcx, [rsi + 0x78]
call fcn.1400a71c0
mov rbx, rax
mov eax, dword [rax + 8]
test al, 2
jne 0x1400aa303
cmp qword [rbx], r15
je 0x1400aa303
test al, 8
jne 0x1400aa277
mov rdx, rbx
mov rcx, rsi
call fcn.1400a78f0
or dword [rbx + 8], 8
mov rdx, rbx
mov rcx, rsi
test byte [rbx + 8], 4
je 0x1400aa28a
call fcn.1400a17a0
jmp 0x1400aa29e
call fcn.1400a3c10
test al, al
je 0x1400aa29e
mov rdx, rbx
mov rcx, rsi
call fcn.1400a1920
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.140014b50
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 0x1400aa67e
mov rcx, qword [rsp + 0x38]
jmp 0x1400a9e95
mov eax, 0x20
mov word [rsp + 0x4a], ax
xor r8d, r8d
lea rdx, [0x1415aa178]
lea rcx, [rbp + 0x20]
call fcn.1400a0b10
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.140015d20
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp + 0x10]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa365
mov rcx, qword [rbp + 0x10]
call fcn.140012a00
nop
mov rax, qword [rbp + 0x20]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa37e
mov rcx, qword [rbp + 0x20]
call fcn.140012a00
nop
jmp 0x1400aa2e5
cmp qword [rsi + 0x268], 0
je 0x1400aa437
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.1400a0e70
nop
mov rax, qword [rsp + 0x60]
cmp rax, r15
je 0x1400aa422
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.1400a1850
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.140014b50
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 0x1400aa41d
mov rcx, qword [rsp + 0x60]
call fcn.140012a00
nop
jmp 0x1400aa2e5
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa437
mov rcx, qword [rsp + 0x60]
call fcn.140012a00
mov rcx, rsi
call fcn.1400a0750
test al, al
je 0x1400aa4be
mov eax, 0x20
mov word [rsp + 0x4c], ax
xor r8d, r8d
lea rdx, [0x1415aa1d8]
lea rcx, [rbp + 0x40]
call fcn.1400a0b10
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.140015d20
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp + 0x30]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa4a5
mov rcx, qword [rbp + 0x30]
call fcn.140012a00
nop
mov rax, qword [rbp + 0x40]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa4be
mov rcx, qword [rbp + 0x40]
call fcn.140012a00
nop
jmp 0x1400aa2e5
mov edx, r11d
mov rcx, rsi
call fcn.1400a0f10
mov ebx, eax
mov dword [rbp - 0x60], eax
test eax, eax
je 0x1400aa579
cmp eax, 0xffff
jb 0x1400aa51c
mov r8d, 1
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x50]
call fcn.1400148a0
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a17a0
nop
mov rax, qword [rbp + 0x50]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa52d
mov rcx, qword [rbp + 0x50]
call fcn.140012a00
jmp 0x1400aa52d
or ebx, 0x1a0000
lea rcx, [rsi + 0x68]
call fcn.1400a1520
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.140014b50
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 0x1400aa67e
xor r8d, r8d
lea rdx, [0x1415aa158]
lea rcx, [rbp + 0x60]
call fcn.1400a0b10
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp + 0x60]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa67e
mov rcx, qword [rbp + 0x60]
jmp 0x1400a9e95
movsxd rdi, dword [rsi + 0x228]
add rdi, rdi
mov rbx, qword [rsi + 0x230]
mov rcx, rsi
call fcn.1400a4880
add dword [rbx + rdi*8 + 4], eax
cmp byte [rsi + 0xb8], 0
jne 0x1400aa9f3
jmp 0x1400aa67e
movsxd rdi, dword [rsi + 0x228]
add rdi, rdi
mov rbx, qword [rsi + 0x230]
lea rdx, [rbx + rdi*8 + 8]
mov rcx, rsi
call fcn.1400a3e40
add dword [rbx + rdi*8 + 4], eax
cmp byte [rsi + 0xb8], 0
jne 0x1400aaa04
jmp 0x1400aa67e
movsxd rdi, dword [rsi + 0x228]
add rdi, rdi
mov rbx, qword [rsi + 0x230]
xor edx, edx
mov rcx, rsi
call fcn.1400a3e40
add dword [rbx + rdi*8 + 4], eax
cmp byte [rsi + 0xb8], 0
jne 0x1400aaa15
jmp 0x1400aa67e
movsxd rdi, dword [rsi + 0x228]
add rdi, rdi
mov rbx, qword [rsi + 0x230]
mov rcx, rsi
call fcn.1400a40a0
add dword [rbx + rdi*8 + 4], eax
cmp byte [rsi + 0xb8], 0
jne 0x1400aaa26
jmp 0x1400aa67e
mov r12d, dword [rsp + 0x30]
xor r14d, r14d
lea r15, [0x1415d9378]
lea r9, [0x140000000]
movsxd rax, dword [rsp + 0x68]
movsx ecx, word [r9 + rax*2 + 0x15a7220]
sub ecx, 0x39
movsxd rax, dword [rsp + 0x6c]
movsx edx, word [r9 + rax*2 + 0x15a7dc6]
add edx, ecx
js 0x1400aa6c3
movsxd r8, edx
movsx eax, word [r9 + r8*2 + 0x15a9352]
cmp eax, ecx
jne 0x1400aa6c3
movsx ebx, word [r9 + r8*2 + 0x15a8912]
jmp 0x1400aa6cf
movsxd rax, ecx
movsx ebx, word [r9 + rax*2 + 0x15a79c0]
movsxd rcx, dword [rsi + 0x228]
mov rax, qword [rsi + 0x238]
mov dword [rax + rcx*4], ebx
cmp dword [rsi + 0xbc], 0
jne 0x1400aaa6c
or r13d, 0xffffffff
lea edi, [r13 + 6]
lea r10d, [r13 + 2]
lea r11d, [r13 + 4]
jmp 0x1400a7e62
mov qword [rbp - 0x68], r15
lock inc dword [0x1415d9378]
lea r8, [rbp - 0x68]
mov edx, 4
mov rcx, rsi
call fcn.1400a1030
nop
mov rax, qword [rbp - 0x68]
lock xadd dword [rax], r13d
dec r13d
jne 0x1400aa736
mov rcx, qword [rbp - 0x68]
call fcn.140012a00
xor al, al
jmp 0x1400aaa6e
xor r8d, r8d
lea rdx, [0x1415aa140]
lea rcx, [rbp + 0x70]
call fcn.1400a0b10
nop
mov dword [rsi + 0xc0], 3
lea rcx, [rsi + 0xc8]
mov rdx, rax
call fcn.140012be0
mov dword [rsi + 0xbc], 1
mov rax, qword [rbp + 0x70]
lock xadd dword [rax], r13d
dec r13d
jne 0x1400aa78b
mov rcx, qword [rbp + 0x70]
call fcn.140012a00
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 0x1400aaa6e
mov eax, 0xb
mov edx, eax
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov eax, 0x10
mov edx, eax
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0x25
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov eax, 0x2b
mov edx, eax
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0x4e
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0x53
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0x59
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0x5a
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0x5b
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0x5c
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0x60
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, WSAAsyncSelect
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, WSAAsyncSelect
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, reloc.WS2_32.dll_WSAAsyncSelect
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0x66
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0x82
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0xae
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov eax, 0x20
mov word [rsp + 0x48], ax
lea r8d, [rax - 0x1f]
lea rdx, [rbp + 0x498]
mov rcx, rsi
call fcn.1400a0cc0
mov rcx, rax
lea rdx, [rbp + 0xa0]
call fcn.140012f40
mov rbx, rax
xor r8d, r8d
lea rdx, [0x1415aa118]
lea rcx, [rbp + 0x90]
call fcn.1400a0b10
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.140015d20
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400a1110
nop
mov rax, qword [rbp + 0x80]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa9a6
mov rcx, qword [rbp + 0x80]
call fcn.140012a00
nop
mov rax, qword [rbp + 0x90]
mov ecx, r13d
lock xadd dword [rax], ecx
dec ecx
jne 0x1400aa9c5
mov rcx, qword [rbp + 0x90]
call fcn.140012a00
nop
mov rax, qword [rbp + 0xa0]
lock xadd dword [rax], r13d
dec r13d
jne 0x1400aa9e2
mov rcx, qword [rbp + 0xa0]
call fcn.140012a00
mov edx, 0xaf
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0x103
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0x106
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0x107
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov edx, 0x10c
mov rcx, rsi
call fcn.1400a1140
xor al, al
jmp 0x1400aaa6e
mov rcx, rsi
call fcn.1400a24e0
xor al, al
jmp 0x1400aaa6e
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