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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov ebx, r8d
mov rdi, rdx
mov rsi, rcx
mov qword [rcx + 8], rdx
mov dword [rcx + 0x10], r8d
mov r13d, r8d
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rcx + 0x40], xmm0
movzx ecx, word [rdx + r13 + 4]
rol cx, 8
add ebx, 0xc
xor r15d, r15d
mov r12d, 0
mov eax, 0
test cx, cx
je 0x14000b2af
movzx eax, cx
mov ecx, ebx
mov rdx, rax
jmp 0x14000b248
add ecx, 0x10
dec rdx
je 0x14000b26f
mov ecx, ecx
cmp byte [rdi + rcx], 0x63
jne 0x14000b240
cmp byte [rdi + rcx + 1], 0x6d
jne 0x14000b240
cmp byte [rdi + rcx + 2], 0x61
jne 0x14000b240
cmp byte [rdi + rcx + 3], 0x70
jne 0x14000b240
mov r12d, dword [rdi + rcx + 8]
bswap r12d
jmp 0x14000b272
xor r12d, r12d
mov ecx, ebx
jmp 0x14000b288
add ecx, 0x10
dec rax
je 0x14000b2ad
mov ecx, ecx
cmp byte [rdi + rcx], 0x6c
jne 0x14000b280
cmp byte [rdi + rcx + 1], 0x6f
jne 0x14000b280
cmp byte [rdi + rcx + 2], 0x63
jne 0x14000b280
cmp byte [rdi + rcx + 3], 0x61
jne 0x14000b280
mov eax, dword [rdi + rcx + 8]
bswap eax
jmp 0x14000b2af
xor eax, eax
mov dword [rsi + 0x18], eax
movzx ecx, word [rdi + r13 + 4]
rol cx, 8
test cx, cx
je 0x14000b2fd
movzx ecx, cx
mov edx, ebx
jmp 0x14000b2d8
add edx, 0x10
dec rcx
je 0x14000b2fd
mov edx, edx
cmp byte [rdi + rdx], 0x68
jne 0x14000b2d0
cmp byte [rdi + rdx + 1], 0x65
jne 0x14000b2d0
cmp byte [rdi + rdx + 2], 0x61
jne 0x14000b2d0
cmp byte [rdi + rdx + 3], 0x64
jne 0x14000b2d0
mov r15d, dword [rdi + rdx + 8]
bswap r15d
mov dword [rsi + 0x1c], r15d
movzx r8d, word [rdi + r13 + 4]
rol r8w, 8
xor ecx, ecx
mov edx, 0
test r8w, r8w
je 0x14000b366
movzx edx, r8w
mov r8d, ebx
jmp 0x14000b339
add r8d, 0x10
dec rdx
je 0x14000b364
mov r8d, r8d
cmp byte [rdi + r8], 0x67
jne 0x14000b330
cmp byte [rdi + r8 + 1], 0x6c
jne 0x14000b330
cmp byte [rdi + r8 + 2], 0x79
jne 0x14000b330
cmp byte [rdi + r8 + 3], 0x66
jne 0x14000b330
mov edx, dword [rdi + r8 + 8]
bswap edx
jmp 0x14000b366
xor edx, edx
mov dword [rsi + 0x20], edx
movzx r8d, word [rdi + r13 + 4]
rol r8w, 8
test r8w, r8w
je 0x14000b3c2
movzx r8d, r8w
mov r9d, ebx
jmp 0x14000b399
add r9d, 0x10
dec r8
je 0x14000b3c2
mov r9d, r9d
cmp byte [rdi + r9], 0x68
jne 0x14000b390
cmp byte [rdi + r9 + 1], 0x68
jne 0x14000b390
cmp byte [rdi + r9 + 2], 0x65
jne 0x14000b390
cmp byte [rdi + r9 + 3], 0x61
jne 0x14000b390
mov ecx, dword [rdi + r9 + 8]
bswap ecx
mov dword [rsi + 0x24], ecx
movzx r10d, word [rdi + r13 + 4]
rol r10w, 8
xor r9d, r9d
mov r8d, 0
test r10w, r10w
je 0x14000b428
movzx r8d, r10w
mov r10d, ebx
jmp 0x14000b3f9
add r10d, 0x10
dec r8
je 0x14000b425
mov r10d, r10d
cmp byte [rdi + r10], 0x68
jne 0x14000b3f0
cmp byte [rdi + r10 + 1], 0x6d
jne 0x14000b3f0
cmp byte [rdi + r10 + 2], 0x74
jne 0x14000b3f0
cmp byte [rdi + r10 + 3], 0x78
jne 0x14000b3f0
mov r8d, dword [rdi + r10 + 8]
bswap r8d
jmp 0x14000b428
xor r8d, r8d
mov dword [rsi + 0x28], r8d
movzx r10d, word [rdi + r13 + 4]
rol r10w, 8
test r10w, r10w
je 0x14000b483
movzx r10d, r10w
mov r11d, ebx
jmp 0x14000b459
add r11d, 0x10
dec r10
je 0x14000b483
mov r11d, r11d
cmp byte [rdi + r11], 0x6b
jne 0x14000b450
cmp byte [rdi + r11 + 1], 0x65
jne 0x14000b450
cmp byte [rdi + r11 + 2], 0x72
jne 0x14000b450
cmp byte [rdi + r11 + 3], 0x6e
jne 0x14000b450
mov r9d, dword [rdi + r11 + 8]
bswap r9d
mov dword [rsi + 0x2c], r9d
movzx r10d, word [rdi + r13 + 4]
rol r10w, 8
xor ebp, ebp
mov r9d, 0
test r10w, r10w
je 0x14000b4e8
movzx r9d, r10w
mov r10d, ebx
jmp 0x14000b4b9
add r10d, 0x10
dec r9
je 0x14000b4e5
mov r10d, r10d
cmp byte [rdi + r10], 0x47
jne 0x14000b4b0
cmp byte [rdi + r10 + 1], 0x50
jne 0x14000b4b0
cmp byte [rdi + r10 + 2], 0x4f
jne 0x14000b4b0
cmp byte [rdi + r10 + 3], 0x53
jne 0x14000b4b0
mov r9d, dword [rdi + r10 + 8]
bswap r9d
jmp 0x14000b4e8
xor r9d, r9d
mov dword [rsi + 0x30], r9d
test r12d, r12d
je 0x14000b719
test r15d, r15d
je 0x14000b719
test ecx, ecx
je 0x14000b719
test r8d, r8d
je 0x14000b719
test edx, edx
je 0x14000b602
test eax, eax
je 0x14000b719
movzx ecx, word [rdi + r13 + 4]
rol cx, 8
mov eax, 0xffff
test cx, cx
je 0x14000b57b
movzx ecx, cx
jmp 0x14000b548
add ebx, 0x10
dec rcx
je 0x14000b57b
mov ebx, ebx
cmp byte [rdi + rbx], 0x6d
jne 0x14000b540
cmp byte [rdi + rbx + 1], 0x61
jne 0x14000b540
cmp byte [rdi + rbx + 2], 0x78
jne 0x14000b540
cmp byte [rdi + rbx + 3], 0x70
jne 0x14000b540
mov ecx, dword [rdi + rbx + 8]
bswap ecx
test ecx, ecx
je 0x14000b57b
movzx eax, word [rdi + rcx + 4]
rol ax, 8
movzx eax, ax
mov dword [rsi + 0x14], eax
mov dword [rsi + 0x34], 0xffffffff
mov eax, r12d
movzx eax, word [rdi + rax + 2]
rol ax, 8
mov dword [rsi + 0x38], 0
test ax, ax
je 0x14000b719
movzx eax, ax
lea ecx, [r12 + 4]
xor edx, edx
jmp 0x14000b5c8
mov edx, dword [rdi + rcx + 4]
bswap edx
add edx, r12d
mov dword [rsi + 0x38], edx
add ecx, 8
dec rax
je 0x14000b6fa
mov ecx, ecx
movzx r8d, word [rdi + rcx]
rol r8w, 8
test r8w, r8w
je 0x14000b5b0
movzx r8d, r8w
cmp r8d, 3
jne 0x14000b5bc
movzx r8d, word [rdi + rcx + 2]
rol r8w, 8
cmp r8w, 0xa
je 0x14000b5b0
movzx r8d, r8w
cmp r8d, 1
je 0x14000b5b0
jmp 0x14000b5bc
mov dword [rsp + 0x48], 2
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x3c], 0
movzx eax, word [rdi + r13 + 4]
rol ax, 8
test ax, ax
je 0x14000b719
movzx eax, ax
mov ecx, ebx
jmp 0x14000b64c
add ecx, 0x10
dec rax
je 0x14000b719
mov ecx, ecx
cmp byte [rdi + rcx], 0x43
jne 0x14000b640
cmp byte [rdi + rcx + 1], 0x46
jne 0x14000b640
cmp byte [rdi + rcx + 2], 0x46
jne 0x14000b640
cmp byte [rdi + rcx + 3], 0x20
jne 0x14000b640
mov eax, dword [rdi + rcx + 8]
bswap eax
test eax, eax
je 0x14000b719
lea r11, [rdi + rax]
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsi + 0x80], ymm0
mov qword [rsi + 0x40], r11
movabs rcx, 0x2000000000000000
mov qword [rsi + 0x48], rcx
movzx eax, byte [rdi + rax + 2]
movzx edx, word [rax + r11]
lea rcx, [rax + 2]
rol dx, 8
test dx, dx
je 0x14000b7b7
movzx r8d, dx
movzx edx, byte [r11 + rcx]
imul r8d, edx
lea ecx, [rax + r8]
add ecx, 3
test edx, edx
je 0x14000b72f
cmp edx, 1
jne 0x14000b736
xor eax, eax
test dl, 1
je 0x14000b795
shl eax, 8
cmp ecx, 0x1fffffff
jg 0x14000b78e
movsxd rdx, ecx
inc ecx
movzx edx, byte [r11 + rdx]
jmp 0x14000b790
test edx, edx
je 0x14000b717
movsxd rax, r15d
movzx eax, word [rdi + rax + 0x32]
rol ax, 8
movzx eax, ax
mov dword [rsi + 0x3c], eax
mov ebp, 1
jmp 0x14000b719
xor ebp, ebp
mov eax, ebp
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 0xffffffff
jmp 0x14000b797
mov r8d, edx
and r8d, 0xfffffffe
xor eax, eax
jmp 0x14000b76a
movsxd r10, ecx
inc ecx
movzx r10d, byte [r11 + r10]
movzx r9d, r9b
shl eax, 0x10
shl r9d, 8
or r9d, eax
movzx eax, r10b
or eax, r9d
add r8d, 0xfffffffe
je 0x14000b6d3
cmp ecx, 0x1fffffff
jg 0x14000b77e
movsxd r9, ecx
inc ecx
movzx r9d, byte [r11 + r9]
jmp 0x14000b781
xor r9d, r9d
cmp ecx, 0x1fffffff
jle 0x14000b741
xor r10d, r10d
jmp 0x14000b74b
xor edx, edx
movzx edx, dl
or eax, edx
dec eax
add ecx, eax
xor r8d, r8d
mov eax, 0x20000000
mov r14d, 0x20000000
mov edx, 0
cmp ecx, 0x20000000
cmovae ecx, eax
jae 0x14000b7e5
mov eax, ecx
movzx r8d, byte [r11 + rax]
shl r8d, 8
cmp ecx, 0x1ffffffe
ja 0x14000b7d8
lea r14d, [rcx + 2]
movzx edx, byte [rax + r11 + 1]
mov eax, ecx
jmp 0x14000b7e5
xor edx, edx
mov r14d, 0x20000000
mov eax, 0x1fffffff
or r8d, edx
mov qword [rsp + 0x20], r11
je 0x14000b8f0
mov edx, 0xffffffff
mov ecx, 0x20000000
cmp r14d, 0x1fffffff
ja 0x14000b86c
mov r9d, r14d
movzx r9d, byte [r11 + r9]
imul r8d, r9d
lea r10d, [r14 + r8]
inc r10d
cmp r10d, 0x20000000
mov r8d, 0x20000000
cmovb r8d, r10d
test r9d, r9d
je 0x14000b8df
mov r10d, r9d
cmp r9d, 1
mov dword [rsp + 0x28], r9d
jne 0x14000b874
xor edx, edx
test byte [rsp + 0x28], 1
mov r11, qword [rsp + 0x20]
je 0x14000b8dd
shl edx, 8
cmp r8d, 0x1fffffff
jg 0x14000b8d3
movsxd r9, r8d
inc r8d
movzx r9d, byte [r11 + r9]
jmp 0x14000b8d6
mov r8d, 0x20000000
jmp 0x14000b8df
and r10d, 0xfffffffe
xor edx, edx
mov r9, qword [rsp + 0x20]
jmp 0x14000b8a7
movsxd r14, r8d
inc r8d
movzx r14d, byte [r9 + r14]
movzx r11d, r11b
shl edx, 0x10
shl r11d, 8
or r11d, edx
movzx edx, r14b
or edx, r11d
add r10d, 0xfffffffe
je 0x14000b843
cmp r8d, 0x1fffffff
jg 0x14000b8c2
movsxd r11, r8d
inc r8d
mov r14, qword [rsp + 0x20]
movzx r11d, byte [r14 + r11]
jmp 0x14000b8c5
xor r11d, r11d
cmp r8d, 0x1fffffff
jle 0x14000b881
xor r14d, r14d
jmp 0x14000b88c
xor r9d, r9d
movzx r9d, r9b
or edx, r9d
dec edx
add r8d, edx
cmp r8d, 0x20000000
cmovb ecx, r8d
mov r14d, ecx
mov ecx, r14d
sub ecx, eax
mov edx, eax
add rdx, r11
xor r8d, r8d
or eax, ecx
cmovs ecx, r8d
mov eax, 0
cmovns rax, rdx
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x5c], ecx
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x50]
xor r8d, r8d
vzeroupper
call fcn.1400876e0
mov eax, 0x20000000
cmp r14d, 0x1fffffff
ja 0x14000b95e
mov ecx, r14d
mov r11, qword [rsp + 0x20]
movzx r9d, byte [r11 + rcx]
shl r9d, 8
cmp r14d, 0x1fffffff
jne 0x14000b96a
xor ecx, ecx
jmp 0x14000b977
xor r9d, r9d
mov r11, qword [rsp + 0x20]
xor ecx, ecx
jmp 0x14000b977
add r14d, 2
movzx ecx, byte [rcx + r11 + 1]
mov eax, r14d
or r9d, ecx
je 0x14000ba5f
mov edx, 0xffffffff
mov ecx, 0x20000000
cmp eax, 0x1fffffff
ja 0x14000b9e4
mov r8d, eax
movzx r8d, byte [r11 + r8]
imul r9d, r8d
add r9d, eax
inc r9d
cmp r9d, 0x20000000
mov eax, 0x20000000
cmovb eax, r9d
test r8d, r8d
je 0x14000ba53
cmp r8d, 1
jne 0x14000b9eb
xor edx, edx
test r8b, 1
je 0x14000ba51
shl edx, 8
cmp eax, 0x1fffffff
jg 0x14000ba47
movsxd r8, eax
inc eax
movzx r8d, byte [r11 + r8]
jmp 0x14000ba4a
mov eax, 0x20000000
jmp 0x14000ba53
mov r9d, r8d
and r9d, 0xfffffffe
xor edx, edx
mov r14, qword [rsp + 0x20]
jmp 0x14000ba25
movsxd r11, eax
inc eax
movzx r11d, byte [r14 + r11]
movzx r10d, r10b
shl edx, 0x10
shl r10d, 8
or r10d, edx
movzx edx, r11b
or edx, r10d
add r9d, 0xfffffffe
mov r11, qword [rsp + 0x20]
je 0x14000b9c4
cmp eax, 0x1fffffff
jg 0x14000ba38
movsxd r10, eax
inc eax
movzx r10d, byte [r11 + r10]
jmp 0x14000ba3b
xor r10d, r10d
cmp eax, 0x1fffffff
jle 0x14000b9fb
xor r11d, r11d
jmp 0x14000ba05
xor r8d, r8d
movzx r8d, r8b
or edx, r8d
dec edx
add eax, edx
cmp eax, 0x20000000
cmovb ecx, eax
mov eax, ecx
mov r14d, 0x20000000
xor edx, edx
mov ecx, eax
cmp eax, 0x1fffffff
ja 0x14000ba8c
movzx r9d, byte [r11 + rcx]
shl r9d, 8
cmp eax, 0x1fffffff
je 0x14000ba8f
lea r14d, [rax + 2]
movzx edx, byte [rcx + r11 + 1]
jmp 0x14000ba8f
xor r9d, r9d
or r9d, edx
je 0x14000bbb2
mov r8d, 0xffffffff
mov edx, 0x20000000
cmp r14d, 0x1fffffff
ja 0x14000bb21
mov qword [rsp + 0x28], rcx
mov r10d, r14d
movzx ecx, byte [r11 + r10]
imul r9d, ecx
lea r10d, [r14 + r9]
inc r10d
cmp r10d, 0x20000000
mov r9d, 0x20000000
cmovb r9d, r10d
test ecx, ecx
je 0x14000bb29
mov r14d, ecx
cmp ecx, 1
mov rcx, qword [rsp + 0x28]
mov dword [rsp + 0x30], r14d
jne 0x14000bb30
xor r8d, r8d
test byte [rsp + 0x30], 1
mov r11, qword [rsp + 0x20]
mov edx, 0x20000000
je 0x14000bb9e
shl r8d, 8
cmp r9d, 0x1fffffff
jg 0x14000bb94
movsxd r10, r9d
inc r9d
movzx r10d, byte [r11 + r10]
jmp 0x14000bb97
mov r9d, 0x20000000
jmp 0x14000bba1
mov rcx, qword [rsp + 0x28]
jmp 0x14000bba1
mov r11d, r14d
and r11d, 0xfffffffe
xor r8d, r8d
mov rdx, qword [rsp + 0x20]
jmp 0x14000bb68
movsxd r10, r9d
inc r9d
movzx r10d, byte [rdx + r10]
movzx r14d, r14b
shl r8d, 0x10
shl r14d, 8
or r14d, r8d
movzx r8d, r10b
or r8d, r14d
add r11d, 0xfffffffe
je 0x14000baee
cmp r9d, 0x1fffffff
jg 0x14000bb83
movsxd r10, r9d
inc r9d
mov r14, qword [rsp + 0x20]
movzx r14d, byte [r14 + r10]
jmp 0x14000bb86
xor r14d, r14d
cmp r9d, 0x1fffffff
jle 0x14000bb41
xor r10d, r10d
jmp 0x14000bb4c
xor r10d, r10d
movzx r10d, r10b
or r8d, r10d
dec r8d
add r9d, r8d
cmp r9d, 0x20000000
cmovb edx, r9d
mov r14d, edx
mov qword [rsp + 0x28], r14
mov edx, r14d
sub edx, eax
mov r8d, edx
or r8d, eax
sets r8b
cmp eax, 0x20000001
setge al
or al, r8b
add rcx, r11
xor r8d, r8d
test al, al
mov eax, 0
cmove rax, rcx
cmovne edx, r8d
mov qword [rsi + 0x60], rax
mov dword [rsi + 0x68], 0
mov dword [rsi + 0x6c], edx
lea r14, [rsp + 0x70]
lea r9, [rsp + 0x44]
mov rcx, r14
mov edx, 0x11
mov r8d, 1
call fcn.140088040
lea r9, [rsp + 0x48]
mov rcx, r14
mov edx, 0x106
mov r8d, 1
call fcn.140088040
lea r9, [rsp + 0x40]
mov rcx, r14
mov edx, 0x124
mov r8d, 1
call fcn.140088040
lea r9, [rsp + 0x3c]
mov rcx, r14
mov edx, 0x125
mov r8d, 1
call fcn.140088040
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x28]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x6c], 0x20000000
vmovups xmm0, xmmword [rsp + 0x70]
vmovaps xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x60]
lea r8, [rsp + 0x80]
call fcn.140087f60
vmovups xmm0, xmmword [rsp + 0x50]
vmovups xmmword [rsi + 0x70], xmm0
cmp dword [rsp + 0x48], 2
jne 0x14000b719
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x14000b719
mov edx, dword [rsp + 0x40]
test edx, edx
je 0x14000bef2
mov ecx, dword [rsp + 0x3c]
test rcx, rcx
je 0x14000b719
xor r14d, r14d
mov r11d, 0x20000000
mov r9d, 0
cmp edx, 0x20000000
cmovb r11d, edx
mov r10d, r11d
mov qword [rsp + 0x28], r11
jb 0x14000bd0b
cmp r11d, 0x1fffffff
jbe 0x14000bd2b
or r14d, r9d
jne 0x14000bd4a
jmp 0x14000be66
mov rdx, qword [rsp + 0x28]
lea r11d, [rdx + 1]
mov rdx, qword [rsp + 0x20]
movzx r9d, byte [rdx + r10]
shl r9d, 8
cmp r11d, 0x1fffffff
ja 0x14000bd01
mov edx, r11d
inc r11d
mov r8, r10
mov r10, qword [rsp + 0x20]
movzx r14d, byte [r10 + rdx]
mov r10, r8
or r14d, r9d
je 0x14000be66
mov qword [rsp + 0x30], r10
mov r10d, 0xffffffff
mov r9d, 0x20000000
cmp r11d, 0x1fffffff
ja 0x14000bdd2
mov edx, r11d
mov r9, qword [rsp + 0x20]
movzx r8d, byte [r9 + rdx]
imul r14d, r8d
lea edx, [r11 + r14]
inc edx
cmp edx, 0x20000000
mov r11d, 0x20000000
cmovb r11d, edx
test r8d, r8d
je 0x14000bdda
cmp r8d, 1
mov dword [rsp + 0x4c], r8d
jne 0x14000bde2
xor r10d, r10d
test byte [rsp + 0x4c], 1
mov r9d, 0x20000000
je 0x14000be4d
shl r10d, 8
cmp r11d, 0x1fffffff
jg 0x14000be45
movsxd rdx, r11d
inc r11d
mov r8, qword [rsp + 0x20]
movzx edx, byte [r8 + rdx]
jmp 0x14000be47
mov r11d, 0x20000000
jmp 0x14000be50
mov r9d, 0x20000000
jmp 0x14000be50
mov r14d, r8d
and r14d, 0xfffffffe
xor r10d, r10d
mov r8, qword [rsp + 0x20]
jmp 0x14000be1a
movsxd rdx, r11d
inc r11d
movzx edx, byte [r8 + rdx]
movzx r9d, r9b
shl r10d, 0x10
shl r9d, 8
or r9d, r10d
movzx r10d, dl
or r10d, r9d
add r14d, 0xfffffffe
je 0x14000bd9e
cmp r11d, 0x1fffffff
jg 0x14000be35
movsxd rdx, r11d
inc r11d
mov r9, qword [rsp + 0x20]
movzx r9d, byte [r9 + rdx]
jmp 0x14000be38
xor r9d, r9d
cmp r11d, 0x1fffffff
jle 0x14000bdf3
xor edx, edx
jmp 0x14000bdfe
xor edx, edx
movzx edx, dl
or r10d, edx
dec r10d
add r11d, r10d
cmp r11d, 0x20000000
cmovb r9d, r11d
mov r11d, r9d
mov r10, qword [rsp + 0x30]
mov r9d, r11d
sub r9d, dword [rsp + 0x28]
sets dl
cmp r11d, 0x20000001
setae r8b
or r8b, dl
mov r14, qword [rsp + 0x20]
add r10, r14
xor edx, edx
test r8b, r8b
cmovne r10, rdx
cmovne r9d, edx
mov qword [rsi + 0x80], r10
mov dword [rsi + 0x88], 0
mov r8d, 0x20000000
sub r8d, ecx
mov r10d, r8d
or r10d, ecx
sets r10b
cmp ecx, 0x20000001
setge r11b
or r11b, r10b
add rcx, r14
test r11b, r11b
cmovne rcx, rdx
cmovne r8d, edx
mov dword [rsi + 0x8c], r9d
mov qword [rsi + 0x90], rcx
mov dword [rsi + 0x98], 0
mov dword [rsi + 0x9c], r8d
xor r11d, r11d
mov ecx, 0x20000000
mov edx, 0
cmp eax, 0x20000000
cmovb ecx, eax
mov r14d, ecx
mov r8d, ecx
jb 0x14000bf22
cmp r8d, 0x1fffffff
jbe 0x14000bf3c
or r11d, edx
jne 0x14000bf55
jmp 0x14000c063
lea r8d, [rcx + 1]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rax + r14]
shl edx, 8
cmp r8d, 0x1fffffff
ja 0x14000bf18
mov eax, r8d
inc r8d
mov r9, qword [rsp + 0x20]
movzx r11d, byte [r9 + rax]
or r11d, edx
je 0x14000c063
mov r9d, 0xffffffff
mov edx, 0x20000000
cmp r8d, 0x1fffffff
ja 0x14000bfab
mov eax, r8d
mov r10, qword [rsp + 0x20]
movzx r10d, byte [r10 + rax]
imul r11d, r10d
lea eax, [r8 + r11]
inc eax
cmp eax, 0x20000000
mov r8d, 0x20000000
cmovb r8d, eax
test r10d, r10d
je 0x14000c052
mov r11d, r10d
cmp r10d, 1
mov dword [rsp + 0x28], r10d
jne 0x14000bfb6
xor r11d, r11d
jmp 0x14000c027
mov r8d, 0x20000000
jmp 0x14000c052
mov qword [rsp + 0x30], r14
and r11d, 0xfffffffe
xor r9d, r9d
mov r10, qword [rsp + 0x20]
jmp 0x14000bff0
movsxd rax, r8d
inc r8d
movzx eax, byte [r10 + rax]
movzx r14d, r14b
shl r9d, 0x10
shl r14d, 8
or r14d, r9d
movzx r9d, al
or r9d, r14d
add r11d, 0xfffffffe
je 0x14000c01b
cmp r8d, 0x1fffffff
jg 0x14000c00b
movsxd rax, r8d
inc r8d
mov r14, qword [rsp + 0x20]
movzx r14d, byte [r14 + rax]
jmp 0x14000c00e
xor r14d, r14d
cmp r8d, 0x1fffffff
jle 0x14000bfc9
xor eax, eax
jmp 0x14000bfd4
mov r11d, r9d
shl r11d, 8
mov r14, qword [rsp + 0x30]
test byte [rsp + 0x28], 1
je 0x14000c04f
xor eax, eax
cmp r8d, 0x1fffffff
jg 0x14000c049
movsxd rax, r8d
inc r8d
mov r9, qword [rsp + 0x20]
movzx eax, byte [r9 + rax]
or r11d, eax
mov r9d, r11d
dec r9d
add r8d, r9d
cmp r8d, 0x20000000
cmovb edx, r8d
mov r8d, edx
mov r9, qword [rsp + 0x20]
mov eax, r8d
sub eax, ecx
sets cl
cmp r8d, 0x20000001
setae dl
or dl, cl
add r9, r14
xor ecx, ecx
test dl, dl
mov edx, 0
cmove rdx, r9
cmovne eax, ecx
mov qword [rsi + 0x50], rdx
mov dword [rsi + 0x58], 0
mov dword [rsi + 0x5c], eax
jmp 0x14000b51f