Function at 0x140038ed8
Capabilities:
Check os version

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
cmp rdx, 0x11
setl byte [rsp + 0x36]
mov rax, rdx
dec rax
mov qword [rsp + 0xe8], rax
seto byte [rsp + 0x35]
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rdx
add rcx, rdx
mov qword [rsp + 0xe0], rcx
seto byte [rsp + 0x34]
mov ecx, 0xc956b91e
mov r13d, 0x8dc2a36f
cmp ecx, 0xf330a77a
jg 0x140038f9e
cmp ecx, 0xc6d31a57
jle 0x14003900f
cmp ecx, 0xd75b3c4e
jg 0x1400390b3
cmp ecx, 0xcdcc32cc
jg 0x140039219
cmp ecx, 0xca51a376
jg 0x1400394ad
cmp ecx, 0xc6d31a58
je 0x140039af2
cmp ecx, 0xc717968d
je 0x140039b13
cmp ecx, 0xc956b91e
jne 0x140038f32
cmp byte [rsp + 0x36], 0
mov ecx, 0x302aedc6
mov eax, 0x9b2c54a8
cmovne ecx, eax
jmp 0x140038f32
cmp ecx, 0x46e56c25
jle 0x140039061
cmp ecx, 0x67f69f23
jle 0x1400390f9
cmp ecx, 0x76342911
jg 0x14003927e
cmp ecx, 0x6eb62997
jg 0x1400394e3
cmp ecx, 0x67f69f24
je 0x14003a5c3
cmp ecx, 0x680a59b1
je 0x140039b1d
cmp ecx, 0x6a34cb34
jne 0x140038f32
mov rax, qword [rsp + 0x80]
mov al, byte [rsp + 0x88]
mov byte [rsp + 0x38], al
mov ecx, 0xcef41d45
jmp 0x140038f32
cmp ecx, 0x9db5b30c
jle 0x140039177
cmp ecx, 0xad5532d9
jg 0x1400392b8
cmp ecx, 0xa3af6fce
jg 0x140039516
cmp ecx, 0x9db5b30d
je 0x140039b69
cmp ecx, 0x9ec0842d
je 0x140039b8f
cmp ecx, 0xa2f495f0
jne 0x140038f32
mov ecx, 0xe9f2ded7
jmp 0x140038f32
cmp ecx, 0x287f2649
jle 0x1400391bd
cmp ecx, 0x3d9a5678
jg 0x1400392ed
cmp ecx, 0x37aba8d3
jg 0x14003956f
cmp ecx, 0x287f264a
je 0x140039bef
cmp ecx, 0x302aedc6
je 0x140039c2d
cmp ecx, 0x35dc9ea2
jne 0x140038f32
mov ecx, 0x469ab2ab
jmp 0x140038f32
cmp ecx, 0xdf60f943
jg 0x14003935a
cmp ecx, 0xdcf3abb5
jg 0x1400395ac
cmp ecx, 0xd75b3c4f
je 0x140039c52
cmp ecx, 0xd93a4d9b
je 0x140039c87
cmp ecx, 0xdac51237
jne 0x140038f32
mov ecx, 0xe8b8f982
jmp 0x140038f32
cmp ecx, 0x5e92eec6
jle 0x1400393b0
cmp ecx, 0x6354c1b8
jg 0x140039604
cmp ecx, 0x5e92eec7
je 0x140039cbc
cmp ecx, 0x5f539ec3
je 0x140039cea
cmp ecx, 0x627159b8
jne 0x140038f32
mov rdx, qword [rsp + 0x60]
mov eax, dword [0x14012b9ec]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 8]
call fcn.14002173a
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov ecx, 0x52270bcc
jmp 0x140038f32
cmp ecx, 0x92b648ed
jle 0x1400393e5
cmp ecx, 0x996660b0
jg 0x140039641
cmp ecx, 0x92b648ee
je 0x140039cf4
cmp ecx, 0x94980a10
je 0x140039d0b
cmp ecx, 0x98ddceec
jne 0x140038f32
mov ecx, 0x65337c9a
jmp 0x140038f32
cmp ecx, 0x2bda70a
jle 0x140039449
cmp ecx, 0x1b833eeb
jg 0x1400396b2
cmp ecx, 0x2bda70b
je 0x140039d3f
cmp ecx, 0x52d9f1f
je 0x140039e95
cmp ecx, 0x1a604b60
jne 0x140038f32
mov rcx, qword [rsp + 0x60]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.140029892
mov ecx, 0xd75b3c4f
jmp 0x140038f32
cmp ecx, 0xd14e38e2
jg 0x1400396f2
cmp ecx, 0xcdcc32cd
je 0x140039ea4
cmp ecx, 0xce244a58
je 0x140039eb3
cmp ecx, 0xcef41d45
jne 0x140038f32
mov eax, dword [0x14012c934]
mov edx, dword [0x14012c810]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete r8b
cmp edx, 0xa
setl bl
xor bl, r8b
mov ebp, 0x6699b9c5
mov ebx, 0x680a59b1
jmp 0x14003a571
cmp ecx, 0x7d4de31a
jg 0x140039873
cmp ecx, 0x76342912
je 0x140039ee7
cmp ecx, 0x77d07553
je 0x140039ef1
cmp ecx, 0x797291c2
jne 0x140038f32
mov ecx, 0xace3c7d0
jmp 0x140038f32
cmp ecx, 0xc3bb620d
jg 0x1400398cb
cmp ecx, 0xad5532da
je 0x140039f52
cmp ecx, 0xaf09f658
je 0x140039f88
cmp ecx, 0xb1775238
je 0x14003a5c3
jmp 0x140038f32
cmp ecx, 0x427c799c
jg 0x140039928
cmp ecx, 0x3d9a5679
je 0x140039f97
cmp ecx, 0x4068ef6e
je 0x14003a5c3
cmp ecx, 0x422254ed
jne 0x140038f32
mov qword [rsp + 0x130], r12
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x5f539ec3
mov ebp, 0xfacd0958
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0x5f539ec3
jmp 0x14003a4ee
cmp ecx, 0xe9f2ded6
jg 0x140039963
cmp ecx, 0xdf60f944
je 0x140039fa1
cmp ecx, 0xe03fed18
je 0x140039fda
cmp ecx, 0xe8b8f982
jne 0x140038f32
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xdac51237
mov ebp, 0xb1775238
jmp 0x140039c73
cmp ecx, 0x52e0e09a
jle 0x1400399e7
cmp ecx, 0x52e0e09b
je 0x140039ff7
cmp ecx, 0x5ace4ba6
je 0x14003a016
cmp ecx, 0x5e377220
je 0x14003a5c3
jmp 0x140038f32
cmp ecx, 0x87336708
jle 0x140039a99
cmp ecx, 0x87336709
je 0x14003a036
cmp ecx, 0x8e4cb005
je 0x14003a175
cmp ecx, 0x8f5c82b2
jne 0x140038f32
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xd1cb8041
mov ebp, 0xc5156a6f
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0xd1cb8041
jmp 0x14003a4ee
cmp ecx, 0xf9147780
jle 0x140039ac3
cmp ecx, 0xf9147781
je 0x14003a18c
cmp ecx, 0xfab79aec
je 0x14003a1a3
cmp ecx, 0xfacd0958
jne 0x140038f32
mov eax, dword [0x14012c934]
mov edx, dword [0x14012c810]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl bl
xor bl, al
mov eax, 0x5f539ec3
mov ebp, 0xd14e38e3
jmp 0x14003a232
cmp ecx, 0xca51a377
je 0x14003a1c8
cmp ecx, 0xcba9a16d
je 0x14003a5c3
cmp ecx, 0xcce43fa9
jne 0x140038f32
mov rax, qword [rsp + 0xb0]
mov ecx, 0x9ec0842d
jmp 0x140038f32
cmp ecx, 0x6eb62998
je 0x14003a1f9
cmp ecx, 0x72a5a75c
je 0x14003a203
cmp ecx, 0x747f7925
jne 0x140038f32
call fcn.140015254
mov ecx, 0x8f5c82b2
jmp 0x140038f32
cmp ecx, 0xa3af6fcf
je 0x14003a5c3
cmp ecx, 0xa8e43b59
je 0x14003a248
cmp ecx, 0xace3c7d0
jne 0x140038f32
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x797291c2
mov ebp, 0x826af128
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0x797291c2
jmp 0x14003a4ee
cmp ecx, 0x37aba8d4
je 0x14003a264
cmp ecx, 0x3a31b3ff
je 0x14003a27b
cmp ecx, 0x3bb2b8e9
jne 0x140038f32
mov al, byte [rsp + 0x98]
mov rax, qword [rsp + 0x90]
mov ecx, 0xdf60f944
jmp 0x140038f32
cmp ecx, 0xdcf3abb6
je 0x14003a285
cmp ecx, 0xdd59e204
je 0x14003a2ba
cmp ecx, 0xddd631f5
jne 0x140038f32
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xa8e43b59
mov ebp, 0xf1af368d
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0xa8e43b59
jmp 0x14003a4ee
cmp ecx, 0x6354c1b9
je 0x14003a2c4
cmp ecx, 0x65337c9a
je 0x14003a2ce
cmp ecx, 0x6699b9c5
jne 0x140038f32
mov al, byte [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov ecx, 0x680a59b1
jmp 0x140038f32
cmp ecx, 0x996660b1
je 0x14003a2f4
cmp ecx, 0x9a706ecb
je 0x14003a309
cmp ecx, 0x9b2c54a8
jne 0x140038f32
mov eax, dword [0x14012b9ec]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 8]
mov rdx, qword [rsp + 0xf0]
call fcn.14002173a
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x100], rax
mov ecx, 0x94980a10
jmp 0x140038f32
cmp ecx, 0x1b833eec
je 0x14003a318
cmp ecx, 0x1cd6c000
je 0x14003a34d
cmp ecx, 0x237eaeb3
jne 0x140038f32
mov al, byte [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov al, byte [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov ecx, 0x1cd6c000
jmp 0x140038f32
cmp ecx, 0xd14e38e3
je 0x14003a39f
cmp ecx, 0xd1cb8041
je 0x14003a3b9
cmp ecx, 0xd1df4301
jne 0x140038f32
mov rax, qword [rsp + 0xc8]
movzx ecx, word [rsp + 0x3e]
mov word [rax], cx
mov rdi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x40]
mov ecx, dword [0x14012c864]
mov edx, dword [0x14012c7dc]
lea ebp, [rcx - 1]
imul ebp, ecx
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
setne cl
sete bl
sete byte [rsp + 0x26]
cmp edx, 0xa
setge dl
setl byte [rsp + 0x27]
setl al
xor al, bl
or dl, cl
xor dl, 1
or dl, al
movabs rax, 0xa85383b8f7863998
sub r8, rax
add r8, rdi
add r8, rax
test dl, dl
mov ebp, 0x7b1a3d8e
mov eax, 0x12ceaa2c
cmovne ebp, eax
mov r10d, 0x7b1a3d8e
mov eax, 0x13af781a
cmovne r10d, eax
mov r9d, 0x28663bd1
cmovne r9d, r13d
mov esi, 0x5de4b9af
mov ecx, esi
cmp esi, 0x13af7819
jle 0x1400397d9
cmp ecx, 0x5de4b9ae
jg 0x1400397f8
mov esi, ebp
cmp ecx, 0x13af781a
je 0x1400397ac
mov esi, ecx
cmp ecx, 0x28663bd1
jne 0x1400397ac
mov esi, 0x8fab3942
jmp 0x1400397ac
cmp ecx, 0xd12aff02
jg 0x14003983d
cmp ecx, 0x8dc2a36f
je 0x14003985f
mov esi, ecx
cmp ecx, 0x8fab3942
jne 0x1400397ac
mov esi, r9d
jmp 0x1400397ac
cmp ecx, 0x7b1a3d8e
je 0x140039869
mov esi, ecx
cmp ecx, 0x5de4b9af
jne 0x1400397ac
mov bl, byte [rsp + 0x26]
mov dl, byte [rsp + 0x27]
mov ecx, ebx
xor cl, dl
mov eax, 0x8fab3942
mov esi, 0x28663bd1
mov edi, 0x8fab3942
test dl, dl
jne 0x14003982e
mov edi, 0x28663bd1
test bl, bl
cmovne esi, edi
test cl, cl
cmovne esi, eax
jmp 0x1400397ac
mov esi, r10d
cmp ecx, 0xd12aff03
je 0x1400397ac
mov esi, ecx
cmp ecx, 0x12ceaa2c
jne 0x1400397ac
jmp 0x14003a3c3
mov esi, 0xd12aff03
jmp 0x1400397ac
mov esi, 0x13af781a
jmp 0x1400397ac
cmp ecx, 0x7d4de31b
je 0x14003a40a
cmp ecx, 0x7e2f1446
je 0x14003a43f
cmp ecx, 0x7f235843
jne 0x140038f32
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x42e621a9
mov ebp, 0xf330a77b
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0x42e621a9
jmp 0x14003a4ee
cmp ecx, 0xc3bb620e
je 0x14003a456
cmp ecx, 0xc5156a6f
je 0x14003a46b
cmp ecx, 0xc67e8fad
jne 0x140038f32
call fcn.140015254
mov eax, dword [0x14012c934]
mov edx, dword [0x14012c810]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl bl
xor bl, al
mov eax, 0xcdcc32cd
mov ebp, 0xa2f495f0
jmp 0x14003a232
cmp ecx, 0x427c799d
je 0x14003a4a0
cmp ecx, 0x42e621a9
je 0x14003a4af
cmp ecx, 0x469ab2ab
jne 0x140038f32
cmp byte [rsp + 0x39], 0
mov ecx, 0xc3bb620e
mov eax, 0xce244a58
cmovne ecx, eax
jmp 0x140038f32
cmp ecx, 0xe9f2ded7
je 0x14003a4be
cmp ecx, 0xf177d6cb
je 0x14003a4fe
cmp ecx, 0xf1af368d
jne 0x140038f32
mov eax, dword [0x14012c934]
mov edx, dword [0x14012c810]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete r8b
cmp edx, 0xa
setl bl
xor bl, r8b
mov ebp, 0xa8e43b59
mov ebx, 0x35dc9ea2
cmovne ebp, ebx
test eax, ecx
mov ecx, ebp
cmove ecx, ebx
cmp edx, 0xa
mov rax, qword [rsp + 0x50]
mov al, byte [rsp + 0x58]
mov byte [rsp + 0x39], al
mov al, byte [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x60], rax
cmovge ecx, ebp
jmp 0x140038f32
cmp ecx, 0x46e56c26
je 0x14003a5c3
cmp ecx, 0x52270bcc
jne 0x14003a5b6
mov rdx, qword [rsp + 0x60]
mov eax, dword [0x14012b9ec]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 8]
call fcn.14002173a
mov ecx, dword [0x14012c934]
mov edx, dword [0x14012c810]
lea ebp, [rcx - 1]
imul ebp, ecx
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete cl
cmp edx, 0xa
setl bl
xor bl, cl
mov ebx, 0x627159b8
mov edi, 0x6eb62998
cmovne ebx, edi
cmp ebp, 0xffffffff
mov ecx, ebx
cmove ecx, edi
cmp edx, 0xa
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x68], rax
mov al, byte [rsp + 0x35]
mov byte [rsp + 0x70], al
cmovge ecx, ebx
jmp 0x140038f32
cmp ecx, 0x8013632c
je 0x14003a51f
cmp ecx, 0x826af128
jne 0x140038f32
mov ecx, 0x422254ed
mov r12, qword [rsp + 0x100]
jmp 0x140038f32
cmp ecx, 0xf330a77b
je 0x14003a53c
cmp ecx, 0xf506de37
jne 0x140038f32
cmp byte [rsp + 0x38], 0
mov ecx, 0x5ace4ba6
mov eax, 0x52d9f1f
cmovne ecx, eax
jmp 0x140038f32
mov al, byte [rsp + 0xc0]
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x120], rax
mov ecx, 0xf9147781
jmp 0x140038f32
mov ecx, 0xfab79aec
jmp 0x140038f32
mov al, byte [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x108], rax
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x6699b9c5
mov ebp, 0xf506de37
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0x6699b9c5
jmp 0x14003a4ee
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x427c799d
mov ebp, 0x287f264a
jmp 0x140039c19
mov eax, dword [0x14012c934]
mov edx, dword [0x14012c810]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete r8b
cmp edx, 0xa
setl bl
xor bl, r8b
mov ebp, 0xcce43fa9
mov ebx, 0x3a31b3ff
cmovne ebp, ebx
test eax, ecx
mov ecx, ebp
cmove ecx, ebx
cmp edx, 0xa
mov rax, qword [rsp + 0xb0]
cmovge ecx, ebp
dec rax
mov qword [rsp + 0x80], rax
seto byte [rsp + 0x88]
jmp 0x140038f32
mov rax, qword [rsp + 0x40]
mov word [rsp + 0x3e], ax
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x427c799d
mov ebp, 0x98ddceec
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0x427c799d
jmp 0x14003a4ee
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xa0], rax
mov al, byte [rsp + 0x34]
mov byte [rsp + 0xa8], al
mov ecx, 0xe03fed18
jmp 0x140038f32
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xdac51237
mov ebp, 0xe8b8f982
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0xdac51237
jmp 0x14003a4ee
mov eax, dword [0x14012c934]
mov edx, dword [0x14012c810]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete r8b
cmp edx, 0xa
setl bl
xor bl, r8b
mov ebp, 0x237eaeb3
mov ebx, 0x1cd6c000
jmp 0x14003a571
mov al, byte [rsp + 0xa8]
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xb0], rax
cmp byte [rsp + 0x37], 0
mov ecx, 0x72a5a75c
mov eax, 0x7f235843
cmovne ecx, eax
jmp 0x140038f32
mov ecx, 0xfacd0958
jmp 0x140038f32
cmp byte [rsp + 0x3a], 0
mov ecx, 0x1b833eec
mov eax, 0x1a604b60
cmovne ecx, eax
jmp 0x140038f32
mov eax, dword [0x14012c934]
mov edx, dword [0x14012c810]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl bl
xor bl, al
mov eax, 0x797291c2
mov ebp, 0xace3c7d0
jmp 0x14003a232
mov rax, qword [rsp + 0xc8]
movzx ecx, word [rsp + 0x3e]
mov word [rax], cx
mov rax, qword [rsp + 0x78]
mov r8, qword [rsp + 0x40]
movabs rbp, 0x8d71927c4bc582b6
add r8, rbp
mov ecx, dword [0x14012c864]
lea edx, [rcx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [rsp + 0x26]
mov ecx, dword [0x14012c7dc]
sete dl
cmp ecx, 0xa
setl cl
setl byte [rsp + 0x27]
mov ebx, ecx
and bl, dl
xor cl, dl
or cl, bl
add r8, rax
sub r8, rbp
test cl, cl
mov ebp, 0x7b1a3d8e
mov eax, 0x12ceaa2c
cmovne ebp, eax
mov r10d, 0x7b1a3d8e
mov eax, 0x13af781a
cmovne r10d, eax
mov r9d, 0x28663bd1
cmovne r9d, r13d
mov esi, 0x5de4b9af
mov ecx, esi
cmp esi, 0x13af7819
jle 0x140039dfb
cmp ecx, 0x5de4b9ae
jg 0x140039e1a
mov esi, ebp
cmp ecx, 0x13af781a
je 0x140039dce
mov esi, ecx
cmp ecx, 0x28663bd1
jne 0x140039dce
mov esi, 0x8fab3942
jmp 0x140039dce
cmp ecx, 0xd12aff02
jg 0x140039e5f
cmp ecx, 0x8dc2a36f
je 0x140039e81
mov esi, ecx
cmp ecx, 0x8fab3942
jne 0x140039dce
mov esi, r9d
jmp 0x140039dce
cmp ecx, 0x7b1a3d8e
je 0x140039e8b
mov esi, ecx
cmp ecx, 0x5de4b9af
jne 0x140039dce
mov bl, byte [rsp + 0x26]
mov dl, byte [rsp + 0x27]
mov ecx, ebx
xor cl, dl
mov eax, 0x8fab3942
mov esi, 0x28663bd1
mov edi, 0x8fab3942
test dl, dl
jne 0x140039e50
mov edi, 0x28663bd1
test bl, bl
cmovne esi, edi
test cl, cl
cmovne esi, eax
jmp 0x140039dce
mov esi, r10d
cmp ecx, 0xd12aff03
je 0x140039dce
mov esi, ecx
cmp ecx, 0x12ceaa2c
jne 0x140039dce
jmp 0x14003a586
mov esi, 0xd12aff03
jmp 0x140039dce
mov esi, 0x13af781a
jmp 0x140039dce
call fcn.140015254
mov ecx, 0x4068ef6e
jmp 0x140038f32
call fcn.140015254
mov ecx, 0xc67e8fad
jmp 0x140038f32
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xcdcc32cd
mov ebp, 0xc67e8fad
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0xcdcc32cd
jmp 0x14003a4ee
mov ecx, 0xca51a377
jmp 0x140038f32
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x78]
not rcx
not rax
or rax, rcx
movabs rdx, 0x705f51dcfb47cfc6
mov rcx, rdx
not rcx
or rcx, rdx
not rax
and rax, rcx
mov rcx, qword [rsp + 0xf8]
sub rcx, rax
mov qword [rsp + 0x90], rcx
seto byte [rsp + 0x98]
mov ecx, 0x8013632c
jmp 0x140038f32
mov rax, qword [rsp + 0x40]
add rax, 0xfffffffffffffffe
mov qword [rsp + 0xb8], rax
seto byte [rsp + 0xc0]
mov rax, qword [rsp + 0xb8]
mov al, byte [rsp + 0xc0]
mov byte [rsp + 0x3d], al
mov ecx, 0xc6d31a58
jmp 0x140038f32
call fcn.140015254
mov ecx, 0x5e377220
jmp 0x140038f32
mov ecx, 0x7e2f1446
jmp 0x140038f32
mov al, byte [rsp + 0x98]
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x40], rax
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x3bb2b8e9
mov ebp, 0x37aba8d4
jmp 0x14003a42b
mov rax, qword [rsp + 0xa0]
mov al, byte [rsp + 0xa8]
mov byte [rsp + 0x37], al
mov ecx, 0x5e92eec7
jmp 0x140038f32
cmp dword [rsp + 0x4c], 0
mov ecx, 0x6354c1b9
mov eax, 0x422254ed
cmove ecx, eax
mov r12, qword [rsp + 0xd0]
jmp 0x140038f32
mov rax, qword [rsp + 0x108]
add rax, 2
mov qword [rsp + 0x50], rax
seto byte [rsp + 0x58]
mov ecx, 0xddd631f5
jmp 0x140038f32
mov rax, qword [rsp + 0x78]
mov r8, qword [rsp + 0x120]
movabs rdi, 0x863a3cb2e2b8e245
add r8, rdi
mov ecx, dword [0x14012c864]
mov edx, dword [0x14012c7dc]
lea ebp, [rcx - 1]
imul ebp, ecx
mov ecx, ebp
xor ecx, 0xfffffffe
test ecx, ebp
setne cl
sete byte [rsp + 0x26]
cmp edx, 0xa
setl byte [rsp + 0x27]
setge dl
mov ebx, edx
xor bl, cl
or dl, cl
xor dl, 1
or dl, bl
add r8, rax
sub r8, rdi
test dl, dl
mov ebp, 0x7b1a3d8e
mov eax, 0x12ceaa2c
cmovne ebp, eax
mov edx, 0x7b1a3d8e
mov eax, 0x13af781a
cmovne edx, eax
mov edi, 0x28663bd1
cmovne edi, r13d
mov esi, 0x5de4b9af
mov ecx, esi
cmp esi, 0x13af7819
jle 0x14003a0e4
cmp ecx, 0x5de4b9ae
jg 0x14003a102
mov esi, ebp
cmp ecx, 0x13af781a
je 0x14003a0b7
mov esi, ecx
cmp ecx, 0x28663bd1
jne 0x14003a0b7
mov esi, 0x8fab3942
jmp 0x14003a0b7
cmp ecx, 0xd12aff02
jg 0x14003a140
cmp ecx, 0x8dc2a36f
je 0x14003a161
mov esi, ecx
cmp ecx, 0x8fab3942
jne 0x14003a0b7
mov esi, edi
jmp 0x14003a0b7
cmp ecx, 0x7b1a3d8e
je 0x14003a16b
mov esi, ecx
cmp ecx, 0x5de4b9af
jne 0x14003a0b7
mov cl, byte [rsp + 0x26]
mov bl, byte [rsp + 0x27]
mov eax, ecx
xor al, bl
mov esi, 0x8fab3942
mov eax, 0x8fab3942
jne 0x14003a131
mov eax, 0x28663bd1
test bl, bl
cmove esi, eax
test cl, cl
cmove esi, eax
jmp 0x14003a0b7
mov esi, edx
cmp ecx, 0xd12aff03
je 0x14003a0b7
mov esi, ecx
cmp ecx, 0x12ceaa2c
jne 0x14003a0b7
jmp 0x14003a59a
mov esi, 0xd12aff03
jmp 0x14003a0b7
mov esi, 0x13af781a
jmp 0x14003a0b7
mov dword [rsp + 0x4c], r15d
mov qword [rsp + 0xd0], r14
mov ecx, 0xf177d6cb
jmp 0x140038f32
cmp byte [rsp + 0x3d], 0
mov ecx, 0x87336709
mov eax, 0xaf09f658
cmovne ecx, eax
jmp 0x140038f32
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xc717968d
mov ebp, 0x92b648ee
jmp 0x14003a2a6
mov eax, dword [0x14012c934]
mov edx, dword [0x14012c810]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl bl
xor bl, al
mov eax, 0x76342912
mov ebp, 0x46e56c26
jmp 0x14003a232
mov ecx, 0xd93a4d9b
jmp 0x140038f32
mov eax, dword [0x14012c934]
mov edx, dword [0x14012c810]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl bl
xor bl, al
mov eax, 0xcce43fa9
mov ebp, 0x9ec0842d
cmovne eax, ebp
cmp ecx, 0xffffffff
mov ecx, eax
cmove ecx, ebp
cmp edx, 0xa
cmovge ecx, eax
jmp 0x140038f32
mov al, byte [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov al, byte [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov ecx, 0xf1af368d
jmp 0x140038f32
cmp byte [rsp + 0x3c], 0
mov ecx, 0xad5532da
mov eax, 0x747f7925
cmovne ecx, eax
jmp 0x140038f32
mov ecx, 0x6a34cb34
jmp 0x140038f32
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xc717968d
mov ebp, 0xfab79aec
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0xc717968d
jmp 0x14003a4ee
mov ecx, 0xa3af6fcf
jmp 0x140038f32
mov ecx, 0x5266d005
jmp 0x140038f32
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x2bda70b
mov ebp, 0xd1df4301
jmp 0x14003a3f6
mov ecx, 0x8e4cb005
xor r15d, r15d
mov r14, qword [rsp + 0x128]
jmp 0x140038f32
call fcn.140015254
mov ecx, 0xcba9a16d
jmp 0x140038f32
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x627159b8
mov ebp, 0x52270bcc
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0x627159b8
jmp 0x14003a4ee
mov rax, qword [rsp + 0x68]
mov al, byte [rsp + 0x70]
mov byte [rsp + 0x3b], al
mov al, byte [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x118], rax
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x237eaeb3
mov ebp, 0x3d9a5679
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0x237eaeb3
jmp 0x14003a4ee
mov ecx, 0x5266d005
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0xd8], rax
jmp 0x140038f32
mov ecx, 0xc5156a6f
jmp 0x140038f32
mov qword [rsp + 0x28], r8
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x128], rax
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x2bda70b
mov ebp, 0x996660b1
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0x2bda70b
jmp 0x14003a4ee
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x3bb2b8e9
mov ebp, 0xdf60f944
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0x3bb2b8e9
jmp 0x14003a4ee
cmp byte [rsp + 0x3b], 0
mov ecx, 0x77d07553
mov eax, 0x9a706ecb
cmovne ecx, eax
jmp 0x140038f32
cmp qword [rsp + 0x60], 0
sets byte [rsp + 0x3a]
mov ecx, 0xdcf3abb6
jmp 0x140038f32
mov eax, dword [0x14012c934]
mov edx, dword [0x14012c810]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete r8b
cmp edx, 0xa
setl bl
xor bl, r8b
mov ebp, 0xd1cb8041
mov ebx, 0x67f69f24
jmp 0x14003a571
mov rax, qword [rsp + 0x40]
mov ecx, 0x287f264a
jmp 0x140038f32
call fcn.140015254
mov ecx, 0xf330a77b
jmp 0x140038f32
mov eax, dword [0x14012c934]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x76342912
mov ebp, 0xca51a377
cmove ecx, ebp
cmp dword [0x14012c810], 0xa
mov edx, 0x76342912
cmovge ecx, edx
setl dl
xor dl, al
cmovne ecx, ebp
jmp 0x140038f32
mov eax, dword [rsp + 0x4c]
cmp eax, 4
mov ecx, 0x422254ed
mov eax, 0x52e0e09b
cmovl ecx, eax
mov r12, qword [rsp + 0xd0]
jmp 0x140038f32
mov rax, qword [rsp + 0x90]
mov al, byte [rsp + 0x98]
mov byte [rsp + 0x3c], al
mov ecx, 0x7d4de31b
jmp 0x140038f32
call fcn.140015254
mov eax, dword [0x14012c934]
mov edx, dword [0x14012c810]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete r8b
cmp edx, 0xa
setl bl
xor bl, r8b
mov ebp, 0x42e621a9
mov ebx, 0xdd59e204
cmovne ebp, ebx
test eax, ecx
mov ecx, ebp
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, ebp
jmp 0x140038f32
mov qword [rsp + 0x28], r8
mov rax, qword [rsp + 0x28]
mov ecx, 0xd1df4301
jmp 0x140038f32
mov qword [rsp + 0x28], r8
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xc8], rax
mov ecx, 0x9db5b30d
jmp 0x140038f32
cmp ecx, 0x5266d005
je 0x14003a5d3
jmp 0x140038f32
mov ecx, 0x8e4cb005
mov r15d, 4
jmp 0x140038f32
mov rax, qword [rsp + 0xd8]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret