Function at 0x140122850
Capabilities:
Check os version

Disassembly:
push rdi
push r12
push r13
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rsi
mov r12, rcx
call fcn.1401150c0
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x1401237ba
xor r13d, r13d
cmp word [rax + 0x432], 0x17ff
jne 0x140122ad6
mov rsi, qword [rax + 0x1ba0]
movzx edi, word [rax + 0x432]
shl edi, 0x10
movzx eax, word [rax + 0x430]
or edi, eax
test rsi, rsi
je 0x140122ad6
nop
mov rcx, rsi
test rsi, rsi
je 0x140122ad0
mov rsi, qword [rsi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140122ac5
xor edx, edx
xor eax, eax
div dword [rcx + 0xe0]
mov rcx, qword [rcx + 0xd8]
test rcx, rcx
je 0x14012293e
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012293e
nop
nop
cmp dword [rcx + 0x18], r13d
jne 0x140122913
mov eax, r13d
cmp dword [rcx], 0xa
sete al
test eax, eax
jne 0x14012291e
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012293e
jmp 0x140122900
mov dword [rsp + 0x20], r13d
lea r9, [0x1401ffdb0]
lea r8, [0x1401ffe28]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.1401467e0
jmp 0x140122941
mov rax, r13
mov dword [rsp + 0x20], r13d
lea r9, [0x140201158]
lea r8, [0x1401ffdb0]
xor edx, edx
mov rcx, rax
call fcn.1401467e0
mov rbx, rax
test rax, rax
je 0x140122ac5
cmp edi, 0x17ff0590
ja 0x1401229b0
cmp edi, 0x17ff0590
je 0x140122987
cmp edi, 0x17ff0560
je 0x1401229d9
jmp 0x140122a30
mov edx, 0x32
mov rcx, rax
call fcn.1400fee00
xor edx, edx
mov rcx, rbx
call fcn.1400ff160
mov edx, 0x64
mov rcx, rbx
call fcn.1400ff4c0
jmp 0x140122ac5
cmp edi, 0x17ff0599
ja 0x140122a17
cmp edi, 0x17ff0598
jae 0x140122a05
mov eax, edi
sub eax, 0x17ff0592
je 0x1401229d9
sub eax, 3
je 0x140122a05
cmp eax, 2
je 0x140122a9c
jmp 0x140122a30
mov edx, 0x64
mov rcx, rbx
call fcn.1400fee00
mov edx, 4
mov rcx, rbx
call fcn.1400ff160
mov edx, 0x64
mov rcx, rbx
call fcn.1400ff4c0
jmp 0x140122ac5
mov edx, 0x64
mov rcx, rbx
call fcn.140100fc0
jmp 0x140122ac5
mov eax, edi
sub eax, 0x17ff059c
je 0x140122aab
sub eax, 1
je 0x140122a9c
cmp eax, 0x267
je 0x140122a59
mov edx, 0x50
mov rcx, rbx
call fcn.1400fee00
mov edx, 4
mov rcx, rbx
call fcn.1400ff160
mov edx, 0x3c
mov rcx, rbx
call fcn.1400ff4c0
jmp 0x140122ac5
mov edx, 1
mov rcx, rbx
call fcn.1400fe610
mov edx, 0x64
mov rcx, rbx
call fcn.140100fc0
mov edx, 7
mov rcx, rbx
call fcn.140101320
mov edx, 0x36
mov rcx, rbx
call fcn.140101680
mov edx, 0x52
mov rcx, rbx
call fcn.1401019e0
jmp 0x140122ac5
mov edx, 0x64
mov rcx, rbx
call fcn.1400fee00
jmp 0x140122ac5
mov edx, 1
mov rcx, rbx
call fcn.1400fe610
mov edx, 0x64
mov rcx, rbx
call fcn.140100fc0
test rsi, rsi
jne 0x1401228c0
jmp 0x140122ad6
call fcn.140129ec4
int3
mov rax, qword [r12 + 0x10]
cmp word [rax + 0x432], 0x1509
jne 0x140122c03
mov rdi, qword [rax + 0x1ba0]
movzx esi, word [rax + 0x432]
shl esi, 0x10
movzx eax, word [rax + 0x430]
or esi, eax
test rdi, rdi
je 0x140122c03
nop
mov rcx, rdi
test rdi, rdi
je 0x140122bfd
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140122bf2
xor edx, edx
xor eax, eax
div dword [rcx + 0xe0]
mov rcx, qword [rcx + 0xd8]
test rcx, rcx
je 0x140122b8e
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x140122b8e
nop
nop
cmp dword [rcx + 0x18], r13d
jne 0x140122b63
mov eax, r13d
cmp dword [rcx], 0xa
sete al
test eax, eax
jne 0x140122b6e
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140122b8e
jmp 0x140122b50
mov dword [rsp + 0x20], r13d
lea r9, [0x1401ffdb0]
lea r8, [0x1401ffe28]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.1401467e0
jmp 0x140122b91
mov rax, r13
mov dword [rsp + 0x20], r13d
lea r9, [0x140201158]
lea r8, [0x1401ffdb0]
xor edx, edx
mov rcx, rax
call fcn.1401467e0
mov rbx, rax
test rax, rax
je 0x140122bf2
cmp esi, 0x15093005
jne 0x140122bf2
mov edx, 0x46
mov rcx, rax
call fcn.140100fc0
mov edx, 7
mov rcx, rbx
call fcn.140101320
mov edx, 0x32
mov rcx, rbx
call fcn.140101680
mov edx, 0x28
mov rcx, rbx
call fcn.1401019e0
test rdi, rdi
jne 0x140122b10
jmp 0x140122c03
call fcn.140129ec4
int3
test byte [r12 + 0x80], 2
je 0x140122d6f
mov rdi, r13
mov rax, qword [r12 + 0x10]
mov rbx, qword [rax + 0x1ba0]
test rbx, rbx
je 0x140122d6f
lea rsi, [0x1401ee550]
mov rcx, rbx
test rbx, rbx
je 0x140122d69
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140122d5e
cmp dword [rcx + 0x1d0], 1
jne 0x140122d5e
xor edx, edx
xor eax, eax
div dword [rcx + 0xe0]
mov rcx, qword [rcx + 0xd8]
test rcx, rcx
je 0x140122cbe
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x140122cbe
nop
nop
cmp dword [rcx + 0x18], r13d
jne 0x140122c93
mov eax, r13d
cmp dword [rcx], 7
sete al
test eax, eax
jne 0x140122c9e
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140122cbe
jmp 0x140122c80
mov dword [rsp + 0x20], r13d
lea r9, [0x1401ffdb0]
lea r8, [0x1401ffe28]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.1401467e0
jmp 0x140122cc1
mov rax, r13
mov dword [rsp + 0x20], r13d
lea r9, [0x1401ffdd8]
lea r8, [0x1401ffdb0]
xor edx, edx
mov rcx, rax
call fcn.1401467e0
mov r11, rax
test rax, rax
je 0x140122d5e
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x140122d5e
mov r8, qword [rcx + 0x390]
test r8, r8
je 0x140122d5e
mov rcx, r13
lea rdx, [r8 + 4]
cmp dword [rdx], r13d
jne 0x140122d17
add rcx, 1
add rdx, 8
cmp rcx, 7
jl 0x140122d02
jmp 0x140122d5e
test rcx, rcx
js 0x140122d5e
bt dword [r8 + rcx*8 + 4], 0xd
jae 0x140122d5e
mov eax, r13d
mov rcx, rsi
nop
nop
cmp dword [rcx], 0x2000
je 0x140122d46
add eax, 1
add rcx, 0x14
cmp eax, 0x1b
jb 0x140122d30
jmp 0x140122d50
cdqe
lea rcx, [rax + rax*4]
lea rdi, [rsi + rcx*4]
xor r8d, r8d
mov rdx, rdi
mov rcx, r11
call fcn.1400a8cc0
test rbx, rbx
jne 0x140122c31
jmp 0x140122d6f
call fcn.140129ec4
int3
mov eax, dword [r12 + 0x80]
test al, 4
jne 0x140122d83
test al, 8
je 0x140122f70
mov rdi, r13
mov rax, qword [r12 + 0x10]
mov rsi, qword [rax + 0x1ba0]
test rsi, rsi
je 0x140122f70
lea rbp, [0x1401ec900]
mov rcx, rsi
test rsi, rsi
je 0x140122f6a
mov rsi, qword [rsi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140122f5f
xor edx, edx
xor eax, eax
div dword [rcx + 0xe0]
mov rcx, qword [rcx + 0xd8]
test rcx, rcx
je 0x140122e1d
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x140122e1d
nop
cmp dword [rcx + 0x18], r13d
jne 0x140122df2
mov eax, r13d
cmp dword [rcx], eax
sete al
test eax, eax
jne 0x140122dfd
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140122e1d
jmp 0x140122de0
mov dword [rsp + 0x20], r13d
lea r9, [0x1401ffdb0]
lea r8, [0x1401ffe28]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.1401467e0
jmp 0x140122e20
mov rax, r13
mov dword [rsp + 0x20], r13d
lea r9, [0x1402008a8]
lea r8, [0x1401ffdb0]
xor edx, edx
mov rcx, rax
call fcn.1401467e0
mov rbx, rax
test rax, rax
je 0x140122f5f
mov eax, dword [r12 + 0x80]
test al, 4
je 0x140122eb4
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x140122f5f
test byte [rax + 0x398], 0x40
jne 0x140122e73
mov rdi, r13
jmp 0x140122f5f
mov eax, r13d
mov rcx, rbp
nop
nop
cmp dword [rcx], 0x40
je 0x140122e93
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x140122e80
jmp 0x140122e9e
cdqe
lea rcx, [rax + rax*2]
lea rdi, [rbp + rcx*8]
mov r8d, 1
mov rdx, rdi
mov rcx, rbx
call fcn.1400eba60
jmp 0x140122f5f
test al, 8
je 0x140122f5f
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x140122f0f
test byte [rax + 0x398], 0x10
jne 0x140122ed3
mov rdi, r13
jmp 0x140122f0f
mov eax, r13d
mov rcx, rbp
nop
nop
cmp dword [rcx], 0x10
je 0x140122ef3
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x140122ee0
jmp 0x140122efe
cdqe
lea rcx, [rax + rax*2]
lea rdi, [rbp + rcx*8]
mov r8d, 1
mov rdx, rdi
mov rcx, rbx
call fcn.1400eba60
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x140122f5f
test byte [rax + 0x398], 0x20
jne 0x140122f26
mov rdi, r13
jmp 0x140122f5f
mov eax, r13d
mov rcx, rbp
nop
cmp dword [rcx], 0x20
je 0x140122f43
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x140122f30
jmp 0x140122f4e
cdqe
lea rcx, [rax + rax*2]
lea rdi, [rbp + rcx*8]
mov r8d, 1
mov rdx, rdi
mov rcx, rbx
call fcn.1400eba60
test rsi, rsi
jne 0x140122da2
jmp 0x140122f70
call fcn.140129ec4
int3
test byte [r12 + 0x80], 0x10
je 0x1401230bf
mov eax, dword [0x140206d04]
test eax, eax
jne 0x140122fa6
mov dword [0x140206d00], 0x114
lea rcx, [0x140206d00]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [0x140206d04]
cmp eax, 6
jne 0x1401230bf
cmp dword [0x140206d08], r13d
jne 0x1401230bf
mov rax, qword [r12 + 0x10]
mov rbx, qword [rax + 0x1ba0]
test rbx, rbx
je 0x1401230bf
mov rcx, rbx
test rbx, rbx
je 0x1401230b9
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012308c
cmp dword [rcx + 0x160], r13d
jne 0x14012308c
cmp dword [rcx + 0x1d0], 4
jne 0x14012308c
xor edx, edx
xor eax, eax
div dword [rcx + 0xe0]
mov rcx, qword [rcx + 0xd8]
test rcx, rcx
je 0x140123064
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x140123064
cmp dword [rcx + 0x18], r13d
jne 0x140123039
mov eax, r13d
cmp dword [rcx], 5
sete al
test eax, eax
jne 0x140123044
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140123064
jmp 0x140123026
mov dword [rsp + 0x20], r13d
lea r9, [0x1401ffdb0]
lea r8, [0x1401ffe28]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.1401467e0
jmp 0x140123067
mov rax, r13
mov dword [rsp + 0x20], r13d
lea r9, [0x140200590]
lea r8, [0x1401ffdb0]
xor edx, edx
mov rcx, rax
call fcn.1401467e0
mov rdi, rax
test rax, rax
jne 0x140123096
test rbx, rbx
je 0x1401230bf
jmp 0x140122fd1
xor edx, edx
xor ecx, ecx
call fcn.140079190
mov rcx, rdi
call fcn.140078f20
mov rcx, rdi
call fcn.140078ff0
mov rcx, rdi
call fcn.1400790c0
jmp 0x1401230bf
call fcn.140129ec4
int3
bt dword [r12 + 0x80], 0xf
jae 0x140123207
mov rax, qword [r12 + 0x10]
mov rbx, qword [rax + 0x1ba0]
test rbx, rbx
je 0x140123207
mov r8, rbx
test rbx, rbx
je 0x140123201
mov rbx, qword [rbx]
mov r8, qword [r8 + 0x10]
test r8, r8
je 0x1401231dd
cmp dword [r8 + 0x160], r13d
jne 0x1401231dd
cmp dword [r8 + 0x1d0], 4
jne 0x1401231dd
cmp dword [r8 + 0x174], 0xffffffff
jne 0x1401231dd
mov ecx, r13d
mov edx, dword [r8 + 0x39c]
test edx, edx
je 0x1401231dd
lea rax, [r8 + 0x3a0]
cmp dword [rax], 0x18
je 0x140123157
add ecx, 1
add rax, 4
cmp ecx, edx
jb 0x140123142
jmp 0x1401231dd
xor edx, edx
xor eax, eax
div dword [r8 + 0xe0]
mov rcx, qword [r8 + 0xd8]
test rcx, rcx
je 0x1401231b5
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x1401231b5
cmp dword [rcx + 0x18], r13d
jne 0x14012318a
mov eax, r13d
cmp dword [rcx], 5
sete al
test eax, eax
jne 0x140123195
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1401231b5
jmp 0x140123177
mov dword [rsp + 0x20], r13d
lea r9, [0x1401ffdb0]
lea r8, [0x1401ffe28]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.1401467e0
jmp 0x1401231b8
mov rax, r13
mov dword [rsp + 0x20], r13d
lea r9, [0x140200590]
lea r8, [0x1401ffdb0]
xor edx, edx
mov rcx, rax
call fcn.1401467e0
mov rdi, rax
test rax, rax
jne 0x1401231e7
test rbx, rbx
je 0x140123207
jmp 0x1401230e4
mov rcx, rax
call fcn.140078f20
mov rcx, rdi
call fcn.140078ff0
mov rcx, rdi
call fcn.1400790c0
jmp 0x140123207
call fcn.140129ec4
int3
test byte [r12 + 0x80], 0x20
je 0x140123354
mov rax, qword [r12 + 0x10]
mov rdi, qword [rax + 0x1ba0]
test rdi, rdi
je 0x140123354
nop
nop
mov rcx, rdi
test rdi, rdi
je 0x14012334e
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140123343
cmp dword [rcx + 0x160], r13d
je 0x140123343
cmp dword [rcx + 0x1d0], 1
jne 0x140123343
xor edx, edx
xor eax, eax
div dword [rcx + 0xe0]
mov rcx, qword [rcx + 0xd8]
test rcx, rcx
je 0x1401232c3
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x1401232c3
cmp dword [rcx + 0x18], r13d
jne 0x140123298
mov eax, r13d
cmp dword [rcx], 4
sete al
test eax, eax
jne 0x1401232a3
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1401232c3
jmp 0x140123285
mov dword [rsp + 0x20], r13d
lea r9, [0x1401ffdb0]
lea r8, [0x1401ffe28]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.1401467e0
jmp 0x1401232c6
mov rax, r13
mov dword [rsp + 0x20], r13d
lea r9, [0x140201298]
lea r8, [0x1401ffdb0]
xor edx, edx
mov rcx, rax
call fcn.1401467e0
mov rbx, rax
test rax, rax
je 0x140123343
mov edx, 1
mov rcx, rax
call fcn.1400dcc80
mov r11d, r13d
mov rdx, r13
lea rcx, [rbx + 0xac]
cmp dword [rcx], 8
je 0x14012331e
add r11d, 1
add rdx, 1
add rcx, 8
cmp rdx, 8
jl 0x140123305
jmp 0x140123343
movsxd rax, r11d
lea rcx, [rbx + rax*8 + 0xac]
test rcx, rcx
je 0x140123343
cmp dword [rcx + 4], 6
je 0x140123343
mov dword [rcx + 4], 6
mov rcx, rbx
call fcn.1400dcae0
test rdi, rdi
jne 0x140123230
jmp 0x140123354
call fcn.140129ec4
int3
test byte [r12 + 0x80], 0x40
je 0x1401234d8
mov rax, qword [r12 + 0x10]
mov rbp, qword [rax + 0x1ba0]
test rbp, rbp
je 0x1401234d8
nop
nop
mov rcx, rbp
test rbp, rbp
je 0x1401234d2
mov rbp, qword [rbp]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1401234c7
cmp dword [rcx + 0x160], r13d
je 0x1401234c7
cmp dword [rcx + 0x1d0], 1
jne 0x1401234c7
xor edx, edx
xor eax, eax
div dword [rcx + 0xe0]
mov rcx, qword [rcx + 0xd8]
test rcx, rcx
je 0x140123414
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x140123414
cmp dword [rcx + 0x18], r13d
jne 0x1401233e9
mov eax, r13d
cmp dword [rcx], 4
sete al
test eax, eax
jne 0x1401233f4
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140123414
jmp 0x1401233d6
mov dword [rsp + 0x20], r13d
lea r9, [0x1401ffdb0]
lea r8, [0x1401ffe28]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.1401467e0
jmp 0x140123417
mov rax, r13
mov dword [rsp + 0x20], r13d
lea r9, [0x140201298]
lea r8, [0x1401ffdb0]
xor edx, edx
mov rcx, rax
call fcn.1401467e0
mov rdi, rax
test rax, rax
je 0x1401234c7
mov edx, 1
mov rcx, rax
call fcn.1400dcc80
lea rbx, [r12 + 0x90]
mov esi, 8
nop
nop
cmp dword [rbx - 4], r13d
je 0x1401234bd
mov r9d, dword [rbx]
mov r8d, dword [rbx - 8]
lea eax, [r9 + 0xa]
cmp eax, 0x14
ja 0x1401234bd
mov edx, r13d
mov rcx, r13
lea rax, [rdi + 0xac]
cmp dword [rax], r8d
je 0x14012349b
add edx, 1
add rcx, 1
add rax, 8
cmp rcx, 8
jl 0x140123483
jmp 0x1401234bd
movsxd rax, edx
lea rcx, [rdi + rax*8 + 0xac]
test rcx, rcx
je 0x1401234bd
cmp dword [rcx + 4], r9d
je 0x1401234bd
mov dword [rcx + 4], r9d
mov rcx, rdi
call fcn.1400dcae0
add rbx, 0xc
sub rsi, 1
jne 0x140123460
test rbp, rbp
jne 0x140123380
jmp 0x1401234d8
call fcn.140129ec4
int3
bt dword [r12 + 0x80], 9
jae 0x1401235a4
mov ecx, 0x40
call fcn.1401287b0
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140123509
mov rcx, rax
call fcn.14007c2d0
mov rdi, rax
jmp 0x14012350c
mov rdi, r13
test rdi, rdi
je 0x1401235a4
mov rax, qword [r12 + 0x10]
mov rbx, qword [rax + 0x1ba0]
test rbx, rbx
je 0x140123597
mov rdx, rbx
test rbx, rbx
je 0x140123591
mov rbx, qword [rbx]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x14012358a
cmp dword [rdx + 0x160], 0
je 0x14012358a
bt dword [rdx + 0x30c], 0x1b
jae 0x14012358a
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test eax, eax
je 0x14012358a
mov r9d, 1
mov r8d, r9d
lea rdx, [0x14018c150]
mov rcx, rdi
call fcn.1400540d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x14018c168]
mov rcx, rdi
call fcn.1400540d0
test rbx, rbx
jne 0x140123526
jmp 0x140123597
call fcn.140129ec4
int3
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax]
bt dword [r12 + 0x80], 0xa
jae 0x1401237ba
mov ecx, 0x40
call fcn.1401287b0
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1401235d5
mov rcx, rax
call fcn.14007c2d0
mov rdi, rax
jmp 0x1401235d8
mov rdi, r13
mov ecx, 0x80
call fcn.1401287b0
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1401235f9
mov rcx, rax
call fcn.1400a7fd0
mov rbx, rax
jmp 0x1401235fc
mov rbx, r13
test rdi, rdi
je 0x1401237a8
test rbx, rbx
je 0x14012379b
mov rax, qword [r12 + 0x10]
mov rsi, qword [rax + 0x1ba0]
test rsi, rsi
je 0x14012379b
lea rbp, [0x1401940f8]
nop
nop
mov rdx, rsi
test rsi, rsi
je 0x140123795
mov rsi, qword [rsi]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x14012378a
bt dword [rdx + 0x310], 0xd
jae 0x14012378a
cmp dword [rdx + 0x160], 0
je 0x14012378a
mov ecx, dword [rdx + 0x1d0]
sub ecx, 1
je 0x140123708
cmp ecx, 7
jne 0x14012378a
test byte [rdx + 0x30c], 1
je 0x14012378a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov r11d, r13d
mov r9d, dword [rbx + 0x68]
test r9d, r9d
je 0x14012378a
cmp r11d, r9d
jae 0x1401236e5
mov rdx, qword [rbx + 0x60]
test rdx, rdx
je 0x1401236e5
mov eax, r11d
lea rcx, [rax + rax*8]
lea r8, [rdx + rcx*8]
test r8, r8
je 0x1401236e5
mov rdx, qword [rbp]
cmp rdx, qword [r8 + 0x20]
jne 0x1401236dc
mov rdx, qword [rbp + 8]
cmp rdx, qword [r8 + 0x28]
jne 0x1401236dc
mov eax, r13d
jmp 0x1401236e1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1401236f4
add r11d, 1
cmp r11d, r9d
jae 0x14012378a
jmp 0x1401236a5
lea rdx, [r8 + 0x30]
xor r8d, r8d
mov rcx, rbx
call fcn.1400a8cc0
jmp 0x14012378a
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test eax, eax
je 0x14012378a
mov edx, 1
mov rcx, rdi
call fcn.14007f420
mov edx, 1
mov rcx, rdi
call fcn.14007f770
mov edx, 1
mov rcx, rdi
call fcn.14007dcf0
mov edx, 1
mov rcx, rdi
call fcn.14007e040
mov edx, 1
mov rcx, rdi
call fcn.14007e390
mov edx, 1
mov rcx, rdi
call fcn.14007e6e0
mov edx, 1
mov rcx, rdi
call fcn.14007ea30
mov edx, 1
mov rcx, rdi
call fcn.14007ed80
mov edx, 1
mov rcx, rdi
call fcn.14007f0d0
test rsi, rsi
jne 0x140123630
jmp 0x14012379b
call fcn.140129ec4
int3
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax]
test rbx, rbx
je 0x1401237ba
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x40
pop r13
pop r12
pop rdi
ret