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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x148
mov rbx, qword [rsp + 0x1c0]
mov rdi, rcx
mov esi, dword [rsp + 0x1c8]
mov ecx, 0x10030
mov r12, r9
mov rbp, rdx
xor r13d, r13d
call qword [fcn.1402d83ac]
mov rcx, qword [rsp + 0x1a0]
mov r11, rbp
movsxd r15, dword [r12]
mov r14, rax
add r15, rbp
mov qword [rsp + 0x98], rax
movsxd rax, dword [rsp + 0x1b0]
mov r10, rcx
mov qword [rsp + 0x70], rcx
mov r9, rbp
add rcx, rax
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0xa0], rbp
lea rdx, [r15 - 0xc]
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x50], r15
test r14, r14
je 0x140047c73
cmp esi, 2
mov dword [r12], r13d
lea r12, [rcx - 5]
mov eax, 0xfff
cmovne r12, rcx
cmp rbx, 0x1000
mov qword [rsp + 0xb0], r12
cmovb rax, rbx
movabs rbx, 0x8080808080808081
mov qword [rsp + 0x128], rax
cmp rbp, rdx
ja 0x140047b6c
nop dword [rax]
mov ebx, dword [rdi + 0x4001c]
mov eax, r11d
mov ebp, dword [rdi + 0x40018]
sub eax, r9d
mov r9, qword [rdi + 0x40008]
mov r8, r11
mov dword [rsp + 0x64], eax
mov edx, ebp
mov rax, qword [rdi + 0x40028]
lea ecx, [rbx + 0x10000]
mov rdi, qword [rdi + 0x40010]
sub edx, r9d
mov qword [rsp + 0x88], rax
mov esi, ebx
mov qword [rsp + 0x68], r11
mov r14d, 3
mov qword [rsp + 0xc8], 0
mov r12d, r13d
lea r10d, [r11 + rdx]
mov qword [rsp + 0x80], r13
cmp ecx, r10d
mov dword [rsp + 0x40], r10d
mov ecx, dword [rsp + 0x1b8]
lea eax, [r10 - 0xffff]
cmovbe esi, eax
mov dword [rsp + 0x20], r14d
lea r10d, [r8 + rdx]
mov qword [rsp + 0x28], r9
mov rax, rdi
mov dword [rsp + 0x60], ebx
sub rax, rbx
mov dword [rsp + 0x30], esi
add rax, rbp
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x38]
sub r11d, eax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rbp
mov dword [rsp + 0x48], ecx
mov eax, dword [rax]
mov dword [rsp + 0x1b0], eax
mov rax, qword [rsp + 0x190]
mov dword [rsp + 0x44], r13d
mov r15, rax
mov r8d, dword [rax + 0x40020]
cmp r8d, r10d
jae 0x140044830
mov r9d, r8d
mov edi, 0xffff
sub r9, rbp
add r9, qword [rsp + 0x28]
nop
imul edx, dword [r9], 0x9e3779b1
lea r9, [r9 + 1]
mov ecx, r8d
movzx eax, r8w
shr rdx, 0x11
sub ecx, dword [r15 + rdx*4]
cmp rcx, rdi
cmova rcx, rdi
mov word [r15 + rax*2 + 0x20000], cx
mov dword [r15 + rdx*4], r8d
inc r8d
cmp r8d, r10d
jb 0x1400447f0
mov rdi, qword [rsp + 0x78]
mov r9, qword [rsp + 0x28]
mov dword [r15 + 0x40020], r10d
mov r10, qword [rsp + 0x38]
movsxd rdx, r11d
mov qword [rsp + 0x58], rdx
imul ecx, dword [r10], 0x9e3779b1
shr rcx, 0x11
lea rcx, [rcx*4]
mov r15d, dword [rcx + r15]
mov qword [rsp + 0xa8], rcx
cmp r15d, esi
jb 0x140045055
jmp 0x14004487f
mov r14d, dword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x58]
mov eax, dword [rsp + 0x48]
test eax, eax
jle 0x14004504d
xor r8d, r8d
dec eax
mov r10d, r8d
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x1e0], r8d
je 0x1400448b1
mov eax, dword [rsp + 0x40]
sub eax, r15d
cmp eax, 8
jb 0x140044c8f
cmp r15d, ebp
jb 0x140044a35
mov r11, qword [rsp + 0x38]
movsxd rcx, r14d
mov ebx, r15d
sub rbx, rbp
add rbx, r9
mov rax, rbx
sub rax, rdx
movzx eax, word [rax + rcx - 1]
cmp word [rcx + r11 - 1], ax
jne 0x140044c8f
mov eax, dword [rsp + 0x1b0]
cmp dword [rbx], eax
jne 0x140044c8f
mov r11d, r8d
test rdx, rdx
je 0x140044947
cmp r9, rbx
mov r10, qword [rsp + 0x38]
jns 0x14004490b
mov eax, r10d
sub eax, r10d
jmp 0x140044910
mov eax, r9d
sub eax, ebx
movsxd r9, eax
test eax, eax
jns 0x140044947
mov rdx, rbx
lea rcx, [r10 - 1]
sub rdx, r10
mov r8d, 1
sub r8, r10
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x140044947
dec rcx
dec r11d
lea rax, [r8 + rcx]
cmp rax, r9
jg 0x140044930
mov r10, qword [rsp + 0x50]
lea rdx, [rbx + 4]
mov r9, qword [rsp + 0x38]
add r10, 0xfffffffffffffffb
add r9, 4
mov rcx, r9
lea r8, [r10 - 7]
cmp r9, r8
jae 0x14004497d
mov rax, qword [rdx]
xor rax, qword [r9]
jne 0x140044a19
lea rcx, [r9 + 8]
add rdx, 8
cmp rcx, r8
jae 0x14004499b
mov rax, qword [rdx]
xor rax, qword [rcx]
jne 0x140044a24
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x140044982
lea rax, [r10 - 3]
cmp rcx, rax
jae 0x1400449b2
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x1400449b2
add rcx, 4
add rdx, 4
lea rax, [r10 - 1]
cmp rcx, rax
jae 0x1400449cb
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x1400449cb
add rcx, 2
add rdx, 2
cmp rcx, r10
jae 0x1400449da
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x1400449da
inc rcx
sub ecx, r9d
mov r10d, ecx
sub r10d, r11d
add r10d, 4
cmp r10d, r14d
jle 0x140044c92
movsxd rax, r11d
mov r14d, r10d
mov dword [rsp + 0x20], r10d
lea rcx, [rbx + rax]
mov qword [rsp + 0x80], rcx
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov qword [rsp + 0x68], rcx
jmp 0x140044c98
tzcnt r10, rax
shr r10d, 3
jmp 0x1400449e0
tzcnt r10, rax
shr r10d, 3
sub r10d, r9d
add r10d, ecx
jmp 0x1400449e0
mov eax, r15d
sub eax, ebx
mov ebx, eax
lea eax, [rbp - 4]
add rbx, rdi
cmp r15d, eax
ja 0x140044c8f
mov eax, dword [rsp + 0x1b0]
cmp dword [rbx], eax
jne 0x140044c8f
mov r8, qword [rsp + 0x38]
lea rdx, [rbx + 4]
mov rax, qword [rsp + 0x50]
mov ecx, ebp
sub ecx, r15d
add rax, 0xfffffffffffffffb
add rcx, r8
mov r9, rax
cmp rcx, rax
lea r10, [r8 + 4]
cmovbe r9, rcx
mov rcx, r10
lea r8, [r9 - 7]
cmp r10, r8
jae 0x140044aa2
mov rax, qword [r10]
xor rax, qword [rdx]
jne 0x140044be4
lea rcx, [r10 + 8]
add rdx, 8
cmp rcx, r8
jae 0x140044ac9
nop word [rax + rax]
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x140044bf1
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x140044ab0
lea rax, [r9 - 3]
cmp rcx, rax
jae 0x140044ae0
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x140044ae0
add rcx, 4
add rdx, 4
lea rax, [r9 - 1]
cmp rcx, rax
jae 0x140044af9
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x140044af9
add rcx, 2
add rdx, 2
cmp rcx, r9
jae 0x140044b08
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x140044b08
inc rcx
sub ecx, r10d
mov r8, qword [rsp + 0x38]
lea r10d, [rcx + 4]
movsxd r11, r10d
add r11, r8
cmp r11, r9
jne 0x140044bce
mov r8, qword [rsp + 0x50]
add r8, 0xfffffffffffffffb
cmp r9, r8
jae 0x140044bc9
mov r9, qword [rsp + 0x28]
add r8, 0xfffffffffffffff9
mov rdx, r9
mov rcx, r11
cmp r11, r8
jae 0x140044b5d
mov rax, qword [r9]
xor rax, qword [r11]
jne 0x140044c03
lea rcx, [r11 + 8]
lea rdx, [r9 + 8]
cmp rcx, r8
jae 0x140044b7b
mov rax, qword [rdx]
xor rax, qword [rcx]
jne 0x140044c0d
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x140044b62
mov r8, qword [rsp + 0x50]
add r8, 0xfffffffffffffffb
lea rax, [r8 - 3]
cmp rcx, rax
jae 0x140044b9b
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x140044b9b
add rcx, 4
add rdx, 4
lea rax, [r8 - 1]
cmp rcx, rax
jae 0x140044bb4
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x140044bb4
add rcx, 2
add rdx, 2
cmp rcx, r8
jae 0x140044bc3
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x140044bc3
inc rcx
sub ecx, r11d
add r10d, ecx
mov r8, qword [rsp + 0x38]
xor edx, edx
cmp qword [rsp + 0x58], rdx
je 0x140044c56
cmp rdi, rbx
jns 0x140044c1c
mov eax, r8d
sub eax, r8d
jmp 0x140044c20
tzcnt rcx, rax
shr ecx, 3
jmp 0x140044b0b
tzcnt rax, rax
shr eax, 3
sub eax, r10d
add ecx, eax
jmp 0x140044b0b
tzcnt rcx, rax
shr ecx, 3
jmp 0x140044bc6
tzcnt rax, rax
shr eax, 3
sub eax, r11d
add ecx, eax
jmp 0x140044bc6
mov eax, edi
sub eax, ebx
movsxd r9, eax
test eax, eax
jns 0x140044c56
lea rcx, [r8 - 1]
sub rbx, r8
mov r8d, 1
sub r8, qword [rsp + 0x38]
nop dword [rax]
movzx eax, byte [rbx + rcx]
cmp byte [rcx], al
jne 0x140044c56
dec rcx
dec edx
lea rax, [rcx + r8]
cmp rax, r9
jg 0x140044c40
sub r10d, edx
cmp r10d, r14d
jle 0x140044c92
movsxd rax, edx
mov r14d, r10d
mov esi, r15d
sub rsi, rbp
mov dword [rsp + 0x20], r10d
add rsi, rax
add rsi, qword [rsp + 0x28]
add rax, qword [rsp + 0x38]
mov qword [rsp + 0x80], rsi
mov esi, dword [rsp + 0x30]
mov qword [rsp + 0x68], rax
jmp 0x140044c98
cmp r10d, r14d
jne 0x140044d2b
lea eax, [r15 + r14]
cmp eax, dword [rsp + 0x40]
ja 0x140044d2b
lea ebx, [r14 - 3]
xor r10d, r10d
mov r14d, 0x10
mov r11d, 1
mov r8d, r14d
test ebx, ebx
jle 0x140044d2b
mov rsi, qword [rsp + 0x190]
mov edi, r15d
nop dword [rax + rax]
mov edx, r8d
lea rax, [rdi + r10]
movzx eax, ax
inc r8d
sar edx, 4
movzx ecx, word [rsi + rax*2 + 0x20000]
mov eax, r10d
cmp ecx, r11d
mov r9d, ecx
cmovbe r9d, r11d
cmovbe eax, r12d
cmova r8d, r14d
mov r12d, eax
add r10d, edx
mov r11d, r9d
cmp r10d, ebx
jl 0x140044cd0
mov esi, dword [rsp + 0x30]
cmp r9d, 1
jbe 0x140044d26
cmp r9d, r15d
ja 0x140045048
sub r15d, r9d
jmp 0x140044dd4
mov rdi, qword [rsp + 0x78]
mov r9, qword [rsp + 0x190]
movzx r11d, r15w
cmp word [r9 + r11*2 + 0x20000], 1
jne 0x140044dbc
test r12d, r12d
jne 0x140044dbc
mov ebx, dword [rsp + 0x44]
lea r14d, [r15 - 1]
test ebx, ebx
jne 0x140044df0
mov ebx, dword [rsp + 0x1b0]
xor r8d, r8d
mov eax, ebx
mov edx, ebx
shr eax, 0x18
cmp bl, al
movzx eax, bx
sete r8b
xor ecx, ecx
shr edx, 0x10
cmp eax, edx
sete cl
test ecx, r8d
je 0x140044db4
mov rcx, qword [rsp + 0x38]
mov r8d, ebx
mov rdx, qword [rsp + 0x50]
add rcx, 4
add rdx, 0xfffffffffffffffb
mov dword [rsp + 0x44], 2
call fcn.140047ca0
mov r9, qword [rsp + 0x190]
mov r13d, eax
add r13, 4
jmp 0x140044dfc
mov dword [rsp + 0x44], 1
mov esi, dword [rsp + 0x30]
add r11w, r12w
movzx eax, r11w
movzx ecx, word [r9 + rax*2 + 0x20000]
sub r15d, ecx
mov rdi, qword [rsp + 0x78]
mov ebx, dword [rsp + 0x60]
mov r10, qword [rsp + 0x38]
cmp r15d, esi
jae 0x140044870
jmp 0x14004504d
cmp ebx, 2
jne 0x140044dbc
mov ebx, dword [rsp + 0x1b0]
cmp r14d, esi
jb 0x140044dbc
mov eax, ebp
sub eax, r14d
dec eax
cmp eax, 3
jb 0x140044dbc
mov rax, qword [rsp + 0x28]
mov rcx, rdi
sub rcx, qword [rsp + 0xb8]
sub rax, rbp
cmp r14d, ebp
mov esi, r14d
cmovb rax, rcx
add rsi, rax
cmp dword [rsi], ebx
jne 0x140044dbc
mov r11, qword [rsp + 0x50]
lea r10, [rsi + 4]
cmp r14d, ebp
mov eax, ebx
movabs rdx, 0x100000001
mov rcx, r10
lea r9, [r11 - 5]
cmovb r9, qword [rsp + 0x90]
imul rax, rdx
lea r8, [r9 - 7]
cmp r10, r8
jae 0x140044e85
nop word [rax + rax]
mov rdx, rax
xor rdx, qword [rcx]
jne 0x140044f04
add rcx, 8
cmp rcx, r8
jb 0x140044e70
cmp rcx, r9
jae 0x140044ea0
nop word [rax + rax]
cmp byte [rcx], al
jne 0x140044ea0
inc rcx
shr rax, 8
cmp rcx, r9
jb 0x140044e90
sub ecx, r10d
mov ebx, ecx
add rbx, 4
cmp r14d, ebp
jae 0x140044f13
lea rax, [rbx + rsi]
cmp rax, r9
jne 0x140044f13
mov r8d, dword [rsp + 0x1b0]
mov rcx, rbx
and ecx, 3
shl rcx, 3
test rcx, rcx
je 0x140044ed1
rol r8d, cl
mov rcx, qword [rsp + 0x28]
lea rdx, [r11 - 5]
call fcn.140047ca0
mov r8d, dword [rsp + 0x1b0]
mov rcx, rsi
mov edx, eax
add rbx, rdx
mov rdx, qword [rsp + 0x28]
cmp r14d, ebp
cmovb rdx, rdi
call fcn.140047d90
mov edi, eax
jmp 0x140044f79
tzcnt rax, rdx
shr eax, 3
sub eax, r10d
add ecx, eax
jmp 0x140044ea3
mov rdx, qword [rsp + 0x28]
cmp r14d, ebp
mov r15d, dword [rsp + 0x1b0]
mov rcx, rsi
cmovb rdx, rdi
mov r8d, r15d
call fcn.140047d90
mov edi, eax
cmp r14d, ebp
jb 0x140044f79
mov r8, qword [rsp + 0x28]
sub rsi, rdi
cmp rsi, r8
jne 0x140044f7e
cmp dword [rsp + 0x60], ebp
jae 0x140044f7e
mov ecx, edi
mov r8d, r15d
neg ecx
and ecx, 3
shl rcx, 3
test rcx, rcx
je 0x140044f62
rol r8d, cl
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x90]
call fcn.140047d90
mov eax, eax
add rdi, rax
mov r8, qword [rsp + 0x28]
mov esi, dword [rsp + 0x30]
mov edx, r14d
mov eax, r14d
mov r15d, esi
sub eax, edi
cmp eax, esi
cmova r15d, eax
sub edx, r15d
add rdx, rbx
cmp rdx, r13
jb 0x140044fbd
cmp rbx, r13
ja 0x140044fbd
sub r14d, r13d
mov eax, ebp
lea r15d, [r14 + rbx]
sub eax, r15d
dec eax
cmp eax, 3
cmovb r15d, ebp
jmp 0x140044dd4
mov eax, ebp
sub eax, r15d
dec eax
cmp eax, 3
jae 0x140044fd1
mov r15d, ebp
jmp 0x140044dd4
cmp qword [rsp + 0x58], 0
jne 0x140044dd4
movsxd rax, dword [rsp + 0x20]
cmp rdx, r13
mov r10, qword [rsp + 0x38]
mov rcx, r13
cmovb rcx, rdx
cmp rax, rcx
jae 0x14004502a
mov rax, rbp
mov edx, r15d
sub rax, r8
mov r11d, 0xffff
sub rax, rdx
add rax, r10
cmp rax, r11
ja 0x14004504d
mov rbx, r8
mov dword [rsp + 0x20], ecx
sub rbx, rbp
mov qword [rsp + 0x68], r10
add rbx, rdx
mov qword [rsp + 0x80], rbx
mov rcx, qword [rsp + 0x190]
movzx eax, r15w
movzx ecx, word [rcx + rax*2 + 0x20000]
cmp ecx, r15d
ja 0x14004504d
jmp 0x140044dd1
mov r10, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa8]
cmp dword [rsp + 0x1d8], 1
jne 0x140045276
mov edx, dword [rsp + 0x48]
test edx, edx
jle 0x140045276
mov r13d, dword [rsp + 0x40]
mov r8d, 0xffff
mov eax, r13d
sub eax, esi
cmp eax, r8d
jae 0x140045276
mov r12, qword [rsp + 0x88]
mov eax, r13d
mov rsi, qword [r12 + 0x40008]
mov rbp, qword [r12 + 0x40000]
mov r14d, dword [r12 + 0x40018]
sub rbp, rsi
mov edi, dword [r12 + rcx]
add rbp, r14
mov ebx, edi
sub ebx, ebp
add ebx, dword [rsp + 0x30]
sub eax, ebx
cmp eax, r8d
ja 0x140045276
mov r15, qword [rsp + 0x28]
nop dword [rax]
mov eax, edx
dec edx
mov dword [rsp + 0x48], edx
test eax, eax
je 0x140045276
mov eax, dword [rsp + 0x1b0]
mov r8d, edi
sub r8, r14
mov ecx, edi
add r8, rsi
cmp dword [r8], eax
jne 0x140045252
mov r11, qword [rsp + 0x38]
lea rdx, [r8 + 4]
mov rax, rbp
sub rax, rcx
lea rcx, [rax + r10]
mov rax, qword [rsp + 0x50]
add rax, 0xfffffffffffffffb
cmp rcx, rax
mov r10, rax
cmovbe r10, rcx
add r11, 4
mov rcx, r11
lea r9, [r10 - 7]
cmp r11, r9
jae 0x140045145
mov rax, qword [r11]
xor rax, qword [rdx]
jne 0x1400451c6
lea rcx, [r11 + 8]
add rdx, 8
cmp rcx, r9
jae 0x140045165
nop word [rax + rax]
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x1400451d0
add rcx, 8
add rdx, 8
cmp rcx, r9
jb 0x140045150
lea rax, [r10 - 3]
cmp rcx, rax
jae 0x14004517c
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x14004517c
add rcx, 4
add rdx, 4
lea rax, [r10 - 1]
cmp rcx, rax
jae 0x140045195
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x140045195
add rcx, 2
add rdx, 2
cmp rcx, r10
jae 0x1400451a4
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x1400451a4
inc rcx
sub ecx, r11d
xor edx, edx
lea r11d, [rcx + 4]
cmp qword [rsp + 0x58], rdx
je 0x140045217
cmp rsi, r8
mov r9, qword [rsp + 0x38]
jns 0x1400451df
mov eax, r9d
sub eax, r9d
jmp 0x1400451e4
tzcnt rcx, rax
shr ecx, 3
jmp 0x1400451a7
tzcnt rax, rax
shr eax, 3
sub eax, r11d
add ecx, eax
jmp 0x1400451a7
mov eax, esi
sub eax, r8d
movsxd r10, eax
test eax, eax
jns 0x140045217
lea rcx, [r9 - 1]
sub r8, r9
mov r9d, 1
sub r9, qword [rsp + 0x38]
nop dword [rax]
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x140045217
dec rcx
dec edx
lea rax, [rcx + r9]
cmp rax, r10
jg 0x140045200
mov r10, qword [rsp + 0x38]
sub r11d, edx
cmp r11d, dword [rsp + 0x20]
jle 0x14004524e
movsxd rax, edx
mov ecx, ebx
sub rcx, qword [rsp + 0xc0]
add rcx, r15
mov dword [rsp + 0x20], r11d
add rcx, rax
add rax, r10
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x68], rax
mov edx, dword [rsp + 0x48]
movzx eax, di
mov r8d, 0xffff
movzx ecx, word [r12 + rax*2 + 0x20000]
mov eax, r13d
sub ebx, ecx
sub edi, ecx
sub eax, ebx
cmp eax, r8d
jbe 0x1400450d0
mov edx, dword [rsp + 0x20]
cmp edx, 3
jg 0x140045289
mov rcx, qword [rsp + 0xc8]
jmp 0x1400452d0
cmp dword [rsp + 0x1e0], 0
je 0x1400452ad
xor eax, eax
cmp edx, 0x24
mov ecx, eax
setle cl
cmp edx, 0x12
setg al
test eax, ecx
mov eax, 0x12
cmovne edx, eax
mov rax, qword [rsp + 0x68]
sub eax, dword [rsp + 0x80]
mov ecx, edx
shl rcx, 0x20
mov dword [rsp + 0xc8], eax
or rcx, rax
mov dword [rsp + 0xcc], edx
mov rbp, rcx
mov qword [rsp + 0x90], rcx
shr rbp, 0x20
test ebp, ebp
jne 0x140045322
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x70]
inc r11
mov r9, qword [rsp + 0xa0]
mov esi, dword [rsp + 0x1c8]
mov qword [rsp + 0x38], r11
xor r13d, r13d
cmp r11, qword [rsp + 0x130]
ja 0x140047b44
mov rdi, qword [rsp + 0x190]
jmp 0x1400446f0
movsxd r13, ebp
cmp r13, qword [rsp + 0x128]
jbe 0x140045520
mov r9, qword [rsp + 0x70]
movabs r8, 0x8080808080808081
mov r11, qword [rsp + 0x38]
mov r15, r9
mov esi, dword [rsp + 0x1c8]
mov r14, r11
movsxd rax, ecx
mov rdi, r11
mov rcx, qword [rsp + 0xa0]
mov r12, r9
mov qword [rsp + 0x90], r9
sub r14, rax
inc r9
sub rdi, rcx
mov qword [rsp + 0x70], r9
test esi, esi
je 0x1400453a1
mov rax, r8
mul rdi
lea rax, [rdi + 8]
shr rdx, 7
add rax, rdx
add rax, r9
cmp rax, qword [rsp + 0xb0]
ja 0x14004795c
cmp rdi, 0xf
jb 0x140045400
lea rsi, [rdi - 0xf]
mov byte [r15], 0xf0
cmp rsi, 0xff
jb 0x1400453f1
mov rax, r8
mov rcx, r9
mul rsi
mov rbx, rdx
mov dl, 0xff
shr rbx, 7
mov r8, rbx
call fcn.1402d1c50
mov r9, qword [rsp + 0x70]
mov r11, qword [rsp + 0x38]
add r9, rbx
mov rcx, qword [rsp + 0xa0]
imul rax, rbx, 0xffffffffffffff01
add rsi, rax
mov byte [r9], sil
inc r9
mov esi, dword [rsp + 0x1c8]
jmp 0x14004540a
movzx eax, dil
shl al, 4
mov byte [r15], al
lea rdx, [rdi + r9]
sub rcx, r9
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx + r9]
mov qword [r9], rax
add r9, 8
cmp r9, rdx
jb 0x140045420
movzx eax, r11w
lea r10, [rdx + 2]
sub ax, r14w
mov qword [rsp + 0x70], r10
mov word [rdx], ax
lea rcx, [r13 - 4]
movabs r8, 0x8080808080808081
test esi, esi
je 0x140045475
mov rax, r8
mul rcx
shr rdx, 7
lea rax, [rdx + 6]
add rax, r10
cmp rax, qword [rsp + 0xb0]
ja 0x14004795c
movzx eax, byte [r12]
cmp rcx, 0xf
jb 0x1400454fa
add al, 0xf
sub rcx, 0xf
mov byte [r15], al
cmp rcx, 0x1fe
jb 0x1400454c0
mov rax, r8
mul rcx
shr rdx, 8
imul rax, rdx, 0xfffffffffffffe02
add rcx, rax
nop word [rax + rax]
mov word [r10], 0xffff
add r10, 2
sub rdx, 1
jne 0x1400454b0
cmp rcx, 0xff
jb 0x1400454d7
sub rcx, 0xff
mov byte [r10], 0xff
inc r10
mov byte [r10], cl
inc r10
add r11, r13
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x38], r11
mov r9, r11
mov qword [rsp + 0xa0], r11
jmp 0x140045304
add cl, al
add r11, r13
mov byte [r15], cl
mov qword [rsp + 0x38], r11
mov r9, r11
mov qword [rsp + 0xa0], r11
jmp 0x140045304
mov esi, dword [rsp + 0x64]
mov eax, esi
cmp esi, 0xf
jl 0x140045548
lea r8d, [rsi - 0xf]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
add eax, esi
mov r11, qword [rsp + 0x98]
xor r13d, r13d
mov dword [r11], eax
lea eax, [rsi + 1]
mov dword [r11 + 8], 1
mov r9d, eax
mov dword [r11 + 4], r13d
mov dword [r11 + 0xc], esi
cmp eax, 0xf
jl 0x14004558f
lea r8d, [rsi - 0xe]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, 2
add eax, edx
add eax, esi
mov dword [r11 + 0x10], eax
lea eax, [rsi + 2]
mov dword [r11 + 0x1c], r9d
mov r9d, eax
mov dword [r11 + 0x18], 1
mov dword [r11 + 0x14], r13d
cmp eax, 0xf
jl 0x1400455cc
lea r8d, [rsi - 0xd]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, 3
add eax, edx
add eax, esi
lea edi, [rsi + 3]
mov dword [r11 + 0x20], eax
mov dword [r11 + 0x28], 1
mov eax, edi
mov dword [r11 + 0x24], r13d
mov dword [r11 + 0x2c], r9d
cmp edi, 0xf
jl 0x140045608
lea r8d, [rsi - 0xc]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, 4
add eax, edx
add eax, esi
movsxd rbx, dword [rsp + 0x94]
mov r9d, 4
mov dword [r11 + 0x38], 1
mov dword [r11 + 0x34], r13d
mov dword [r11 + 0x3c], edi
mov dword [r11 + 0x30], eax
mov dword [rsp + 0x20], ebx
cmp ebx, r9d
jl 0x140045708
cmp esi, 0xf
jl 0x1400456a8
mov edi, dword [rsp + 0x20]
lea r8d, [rsi - 0xf]
mov eax, 0x80808081
lea r10, [r11 + 0x44]
imul r8d
add edx, r8d
sar edx, 7
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
add ebx, esi
nop
lea r11d, [rbx + 4]
cmp r9d, 0x13
jl 0x140045689
lea r8d, [r9 - 0x13]
mov eax, 0x80808081
imul r8d
inc r11d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add r11d, edx
mov dword [r10 + 4], r9d
inc r9d
mov dword [r10], ecx
mov dword [r10 + 8], esi
mov dword [r10 - 4], r11d
add r10, 0x10
cmp r9d, edi
jle 0x140045660
mov ebx, edi
jmp 0x140045708
mov r10d, r9d
cmp rbx, r9
jl 0x140045708
lea r9, [r11 + 0x44]
add rbx, 0xfffffffffffffffd
nop dword [rax + rax]
mov r11d, edi
cmp r10d, 0x13
jl 0x1400456e8
lea r8d, [r10 - 0x13]
mov eax, 0x80808081
imul r8d
inc r11d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add r11d, edx
mov dword [r9 + 4], r10d
inc r10d
mov dword [r9], ecx
mov dword [r9 + 8], esi
mov dword [r9 - 4], r11d
add r9, 0x10
sub rbx, 1
jne 0x1400456c0
mov ebx, dword [rsp + 0x20]
mov rdi, qword [rsp + 0x98]
mov r14d, 1
movsxd r8, ebx
mov r12d, r14d
mov rdx, r8
mov dword [rsp + 0x48], r14d
add rdx, rdx
mov qword [rsp + 0x90], r14
lea rcx, [r8 + 1]
shl rcx, 4
add rcx, rdi
mov dword [rcx + 8], 1
mov dword [rcx + 4], r13d
mov dword [rcx + 0xc], 1
mov eax, dword [rdi + rdx*8]
inc eax
mov dword [rcx + 0x18], 1
mov dword [rcx], eax
mov dword [rcx + 0x14], r13d
mov dword [rcx + 0x1c], 2
mov eax, dword [rdi + rdx*8]
add eax, 2
mov dword [rcx + 0x28], 1
mov dword [rcx + 0x10], eax
lea rax, [r8 + 3]
mov dword [rcx + 0x24], r13d
add rax, rax
mov dword [rcx + 0x2c], 3
mov ecx, dword [rdi + rdx*8]
add ecx, 3
mov dword [rdi + rax*8], ecx
cmp ebx, r14d
jle 0x1400476a7
nop dword [rax]
movsxd r10, r14d
add r10, qword [rsp + 0x38]
mov qword [rsp + 0x28], r10
cmp r10, qword [rsp + 0x130]
ja 0x1400476a7
mov rcx, r12
shl rcx, 4
add rcx, rdi
cmp dword [rsp + 0x1d0], 0
mov qword [rsp + 0xb8], rcx
mov eax, dword [rcx]
je 0x140046580
cmp dword [rcx + 0x10], eax
jg 0x1400457f6
lea rcx, [r12 + 4]
add eax, 3
add rcx, rcx
cmp dword [rdi + rcx*8], eax
jl 0x14004768b
mov r11, qword [rsp + 0x190]
mov r9d, r10d
mov qword [rsp + 0xd0], 0
mov r12d, r13d
mov qword [rsp + 0x68], r13
mov dword [rsp + 0x1b0], 3
mov edx, dword [r11 + 0x4001c]
mov r14d, dword [r11 + 0x40018]
mov r8d, edx
mov rbx, qword [r11 + 0x40008]
mov edi, r14d
mov rax, qword [r11 + 0x40028]
sub r9d, ebx
mov r15, qword [r11 + 0x40010]
lea ecx, [rdx + 0x10000]
add r9d, r14d
mov qword [rsp + 0x110], rax
cmp ecx, r9d
mov dword [rsp + 0x60], r9d
mov r11d, r10d
mov qword [rsp + 0x88], rbx
mov dword [rsp + 0xc0], r14d
lea eax, [r9 - 0xffff]
mov dword [rsp + 0x64], edx
mov r9d, dword [r10]
cmovbe r8d, eax
mov eax, dword [rsp + 0x1b8]
sub r11d, r10d
sub rdi, rdx
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x190]
sub r10d, ebx
add rdi, r15
mov dword [rsp + 0x44], r8d
xor ebp, ebp
mov qword [rsp + 0x80], r15
add r10d, r14d
mov qword [rsp + 0x100], rdx
mov r8d, dword [rax + 0x40020]
mov rsi, rax
mov qword [rsp + 0x118], r14
mov qword [rsp + 0xa8], rdi
mov dword [rsp + 0x40], r9d
cmp r8d, r10d
jae 0x140045945
mov r9d, r8d
mov edi, 0xffff
sub r9, r14
add r9, rbx
nop word [rax + rax]
imul edx, dword [r9], 0x9e3779b1
lea r9, [r9 + 1]
mov ecx, r8d
movzx eax, r8w
shr rdx, 0x11
sub ecx, dword [rsi + rdx*4]
cmp rcx, rdi
cmova rcx, rdi
mov word [rsi + rax*2 + 0x20000], cx
mov dword [rsi + rdx*4], r8d
inc r8d
cmp r8d, r10d
jb 0x140045900
mov rdi, qword [rsp + 0xa8]
mov edx, dword [rsp + 0x64]
mov r9d, dword [rsp + 0x40]
mov dword [rsi + 0x40020], r10d
mov r10, qword [rsp + 0x28]
movsxd r8, r11d
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x58], r10
imul ecx, dword [r10], 0x9e3779b1
shr rcx, 0x11
mov esi, dword [rsi + rcx*4]
lea rcx, [rcx*4]
mov qword [rsp + 0x108], rcx
cmp esi, dword [rsp + 0x44]
jb 0x140045f9d
mov qword [rsp + 0x58], r10
jmp 0x14004599a
mov r9d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x78]
mov eax, dword [rsp + 0x30]
test eax, eax
jle 0x140045f90
dec eax
xor r11d, r11d
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x1e0], r11d
je 0x1400459c8
mov eax, dword [rsp + 0x60]
sub eax, esi
cmp eax, 8
jb 0x140045dac
cmp esi, r14d
jb 0x140045b54
movsxd rcx, dword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x88]
mov eax, r14d
mov ebx, esi
sub rbx, rax
mov rax, rcx
sub rax, r8
add rbx, rdx
movzx eax, word [rax + rbx - 1]
cmp word [rcx + r10 - 1], ax
jne 0x140045dac
cmp dword [rbx], r9d
jne 0x140045dac
xor r10d, r10d
test r8, r8
je 0x140045a5b
cmp rdx, rbx
mov r11, qword [rsp + 0x28]
jns 0x140045a26
mov eax, r11d
sub eax, r11d
jmp 0x140045a2a
mov eax, edx
sub eax, ebx
movsxd r9, eax
test eax, eax
jns 0x140045a5b
mov rdx, rbx
lea rcx, [r11 - 1]
sub rdx, r11
mov r8d, 1
sub r8, r11
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x140045a5b
dec rcx
dec r10d
lea rax, [r8 + rcx]
cmp rax, r9
jg 0x140045a44
mov r11, qword [rsp + 0x50]
lea rdx, [rbx + 4]
mov r9, qword [rsp + 0x28]
add r11, 0xfffffffffffffffb
add r9, 4
mov rcx, r9
lea r8, [r11 - 7]
cmp r9, r8
jae 0x140045a91
mov rax, qword [rdx]
xor rax, qword [r9]
jne 0x140045b38
lea rcx, [r9 + 8]
add rdx, 8
cmp rcx, r8
jae 0x140045ab9
nop word [rax + rax]
mov rax, qword [rdx]
xor rax, qword [rcx]
jne 0x140045b43
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x140045aa0
lea rax, [r11 - 3]
cmp rcx, rax
jae 0x140045ad0
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x140045ad0
add rcx, 4
add rdx, 4
lea rax, [r11 - 1]
cmp rcx, rax
jae 0x140045ae9
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x140045ae9
add rcx, 2
add rdx, 2
cmp rcx, r11
jae 0x140045af8
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x140045af8
inc rcx
sub ecx, r9d
mov r11d, ecx
mov eax, dword [rsp + 0x1b0]
sub r11d, r10d
add r11d, 4
cmp r11d, eax
jle 0x140045db6
movsxd rax, r10d
mov dword [rsp + 0x1b0], r11d
lea rcx, [rax + rbx]
add rax, qword [rsp + 0x28]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], rcx
jmp 0x140045dbc
tzcnt r11, rax
shr r11d, 3
jmp 0x140045afe
tzcnt r11, rax
shr r11d, 3
sub r11d, r9d
add r11d, ecx
jmp 0x140045afe
mov ebx, esi
lea eax, [r14 - 4]
sub ebx, edx
add rbx, r15
cmp esi, eax
ja 0x140045dac
cmp dword [rbx], r9d
jne 0x140045dac
mov rax, qword [rsp + 0x50]
lea rdx, [rbx + 4]
add rax, 0xfffffffffffffffb
mov ecx, r14d
sub ecx, esi
mov r9, rax
add rcx, r10
cmp rcx, rax
cmovbe r9, rcx
add r10, 4
mov rcx, r10
lea r8, [r9 - 7]
cmp r10, r8
jae 0x140045bb3
mov rax, qword [r10]
xor rax, qword [rdx]
jne 0x140045d02
lea rcx, [r10 + 8]
add rdx, 8
cmp rcx, r8
jae 0x140045bd9
nop dword [rax + rax]
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x140045d0f
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x140045bc0
lea rax, [r9 - 3]
cmp rcx, rax
jae 0x140045bf0
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x140045bf0
add rcx, 4
add rdx, 4
lea rax, [r9 - 1]
cmp rcx, rax
jae 0x140045c09
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x140045c09
add rcx, 2
add rdx, 2
cmp rcx, r9
jae 0x140045c18
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x140045c18
inc rcx
sub ecx, r10d
mov r8, qword [rsp + 0x28]
lea r11d, [rcx + 4]
movsxd r10, r11d
add r10, r8
cmp r10, r9
jne 0x140045cec
mov rax, qword [rsp + 0x50]
add rax, 0xfffffffffffffffb
cmp r9, rax
jae 0x140045cec
mov r9, qword [rsp + 0x88]
lea r8, [rax - 7]
mov rdx, r9
mov rcx, r10
cmp r10, r8
jae 0x140045c70
mov rax, qword [r10]
xor rax, qword [r9]
jne 0x140045d21
lea rcx, [r10 + 8]
lea rdx, [r9 + 8]
cmp rcx, r8
jae 0x140045c99
nop word [rax + rax]
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x140045d2b
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x140045c80
mov r8, qword [rsp + 0x50]
add r8, 0xfffffffffffffffb
lea rax, [r8 - 3]
cmp rcx, rax
jae 0x140045cb9
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x140045cb9
add rcx, 4
add rdx, 4
lea rax, [r8 - 1]
cmp rcx, rax
jae 0x140045cd2
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x140045cd2
add rcx, 2
add rdx, 2
cmp rcx, r8
jae 0x140045ce1
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x140045ce1
inc rcx
sub ecx, r10d
mov r8, qword [rsp + 0x28]
add r11d, ecx
xor edx, edx
cmp qword [rsp + 0x78], rdx
je 0x140045d6e
cmp r15, rbx
jns 0x140045d3a
mov eax, r8d
sub eax, r8d
jmp 0x140045d3f
tzcnt rcx, rax
shr ecx, 3
jmp 0x140045c1b
tzcnt rax, rax
shr eax, 3
sub eax, r10d
add ecx, eax
jmp 0x140045c1b
tzcnt rcx, rax
shr ecx, 3
jmp 0x140045ce4
tzcnt rax, rax
shr eax, 3
sub eax, r10d
add ecx, eax
jmp 0x140045ce4
mov eax, r15d
sub eax, ebx
movsxd r9, eax
test eax, eax
jns 0x140045d6e
lea rcx, [r8 - 1]
sub rbx, r8
mov r8d, 1
sub r8, qword [rsp + 0x28]
movzx eax, byte [rbx + rcx]
cmp byte [rcx], al
jne 0x140045d6e
dec rcx
dec edx
lea rax, [rcx + r8]
cmp rax, r9
jg 0x140045d58
mov eax, dword [rsp + 0x1b0]
sub r11d, edx
cmp r11d, eax
jle 0x140045db6
movsxd rax, edx
mov edx, r14d
mov ecx, esi
sub rcx, rdx
mov dword [rsp + 0x1b0], r11d
add rcx, rax
add rcx, qword [rsp + 0x88]
add rax, qword [rsp + 0x28]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], rcx
jmp 0x140045dbc
mov eax, dword [rsp + 0x1b0]
cmp r11d, eax
jne 0x140045e6b
mov eax, dword [rsp + 0x1b0]
add eax, esi
cmp eax, dword [rsp + 0x60]
ja 0x140045e6b
mov ebx, dword [rsp + 0x1b0]
mov r11d, 1
add ebx, 0xfffffffd
xor r10d, r10d
lea r9d, [r11 + 0xf]
test ebx, ebx
jle 0x140045e6b
mov r15, qword [rsp + 0x190]
mov edi, esi
mov r14d, r9d
nop dword [rax + rax]
mov edx, r9d
lea rax, [rdi + r10]
movzx eax, ax
inc r9d
sar edx, 4
movzx ecx, word [r15 + rax*2 + 0x20000]
mov eax, r10d
cmp ecx, r11d
mov r8d, ecx
cmovbe r8d, r11d
cmovbe eax, r12d
cmova r9d, r14d
mov r12d, eax
add r10d, edx
mov r11d, r8d
cmp r10d, ebx
jl 0x140045e00
mov r14d, dword [rsp + 0xc0]
mov r15, qword [rsp + 0x80]
cmp r8d, 1
jbe 0x140045e63
cmp r8d, esi
ja 0x140045f90
sub esi, r8d
jmp 0x140045f75
mov rdi, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x190]
movzx r10d, si
cmp word [r9 + r10*2 + 0x20000], 1
jne 0x140045f62
test r12d, r12d
jne 0x140045f62
lea ebx, [rsi - 1]
test r13d, r13d
jne 0x140046120
mov r11d, dword [rsp + 0x40]
xor r8d, r8d
mov eax, r11d
mov edx, r11d
shr eax, 0x18
cmp r11b, al
movzx eax, r11w
sete r8b
xor ecx, ecx
shr edx, 0x10
cmp eax, edx
sete cl
test ecx, r8d
je 0x140045f5c
mov r9, qword [rsp + 0x28]
lea r13d, [r12 + 2]
mov eax, r11d
add r9, 4
mov r11, qword [rsp + 0x50]
movabs rdx, 0x100000001
add r11, 0xfffffffffffffffb
mov rcx, r9
imul rax, rdx
lea r8, [r11 - 7]
cmp r9, r8
jae 0x140045f11
nop
mov rdx, rax
xor rdx, qword [rcx]
jne 0x140045f3c
add rcx, 8
cmp rcx, r8
jb 0x140045f00
cmp rcx, r11
jae 0x140045f26
cmp byte [rcx], al
jne 0x140045f26
inc rcx
shr rax, 8
cmp rcx, r11
jb 0x140045f16
sub ecx, r9d
mov r9, qword [rsp + 0x190]
mov ebp, ecx
add rbp, 4
jmp 0x14004612a
tzcnt rax, rdx
shr eax, 3
sub eax, r9d
mov r9, qword [rsp + 0x190]
add ecx, eax
mov ebp, ecx
add rbp, 4
jmp 0x14004612a
mov r13d, 1
add r10w, r12w
movzx eax, r10w
movzx ecx, word [r9 + rax*2 + 0x20000]
sub esi, ecx
mov rdi, qword [rsp + 0xa8]
mov edx, dword [rsp + 0x64]
mov r10, qword [rsp + 0x28]
cmp esi, dword [rsp + 0x44]
jae 0x140045990
mov rcx, qword [rsp + 0x108]
mov r10, qword [rsp + 0x58]
cmp dword [rsp + 0x1d8], 1
jne 0x140046528
mov edx, dword [rsp + 0x30]
test edx, edx
jle 0x140046528
mov r15d, dword [rsp + 0x60]
mov r9d, 0xffff
mov r14d, dword [rsp + 0x44]
mov eax, r15d
sub eax, r14d
cmp eax, r9d
jae 0x140046528
mov r12, qword [rsp + 0x110]
mov eax, r15d
mov rdi, qword [r12 + 0x40008]
mov rsi, qword [r12 + 0x40000]
mov ebp, dword [r12 + 0x40018]
sub rsi, rdi
mov ebx, dword [r12 + rcx]
add rsi, rbp
sub r14d, esi
add r14d, ebx
sub eax, r14d
cmp eax, r9d
ja 0x140046528
nop word [rax + rax]
mov eax, edx
dec edx
mov dword [rsp + 0x30], edx
test eax, eax
je 0x140046528
mov eax, dword [rsp + 0x40]
mov r9, rdi
sub r9, rbp
mov ecx, ebx
add r9, rcx
cmp dword [r9], eax
jne 0x140046502
mov r13, qword [rsp + 0x28]
lea rdx, [r9 + 4]
mov rax, rsi
sub rax, rcx
lea r11, [r13 + 4]
lea rcx, [rax + r13]
mov rax, qword [rsp + 0x50]
add rax, 0xfffffffffffffffb
cmp rcx, rax
mov r10, rax
mov rax, r11
cmovbe r10, rcx
lea r8, [r10 - 7]
cmp r11, r8
jae 0x140046092
mov rcx, qword [r11]
xor rcx, qword [rdx]
jne 0x140046469
lea rax, [r11 + 8]
add rdx, 8
cmp rax, r8
jae 0x1400460b9
nop word [rax + rax]
mov rcx, qword [rax]
xor rcx, qword [rdx]
jne 0x140046476
add rax, 8
add rdx, 8
cmp rax, r8
jb 0x1400460a0
lea rcx, [r10 - 3]
cmp rax, rcx
jae 0x1400460d0
mov ecx, dword [rax]
cmp dword [rdx], ecx
jne 0x1400460d0
add rax, 4
add rdx, 4
lea rcx, [r10 - 1]
cmp rax, rcx
jae 0x1400460e9
movzx ecx, word [rax]
cmp word [rdx], cx
jne 0x1400460e9
add rax, 2
add rdx, 2
cmp rax, r10
jae 0x1400460f8
movzx ecx, byte [rax]
cmp byte [rdx], cl
jne 0x1400460f8
inc rax
sub eax, r11d
xor edx, edx
lea r11d, [rax + 4]
cmp qword [rsp + 0x78], rdx
je 0x1400464bb
cmp rdi, r9
jns 0x140046488
mov eax, r13d
sub eax, r13d
jmp 0x14004648d
cmp r13d, 2
jne 0x140045f62
cmp ebx, dword [rsp + 0x44]
jb 0x140045f62
mov eax, r14d
sub eax, ebx
dec eax
cmp eax, 3
jb 0x140045f62
mov rcx, qword [rsp + 0x88]
mov rax, r15
sub rax, qword [rsp + 0x100]
mov edx, r14d
sub rcx, rdx
mov r11d, ebx
cmp ebx, r14d
cmovb rcx, rax
mov eax, dword [rsp + 0x40]
add r11, rcx
cmp dword [r11], eax
jne 0x140045f62
mov r9, qword [rsp + 0x50]
lea r10, [r11 + 4]
add r9, 0xfffffffffffffffb
mov esi, eax
cmp ebx, r14d
mov eax, esi
movabs rdx, 0x100000001
mov rcx, r10
cmovb r9, rdi
imul rax, rdx
lea r8, [r9 - 7]
cmp r10, r8
jae 0x1400461c1
nop dword [rax]
mov rdx, rax
xor rdx, qword [rcx]
jne 0x14004620a
add rcx, 8
cmp rcx, r8
jb 0x1400461b0
cmp rcx, r9
jae 0x1400461d6
cmp byte [rcx], al
jne 0x1400461d6
inc rcx
shr rax, 8
cmp rcx, r9
jb 0x1400461c6
sub ecx, r10d
mov r10d, ecx
add r10, 4
cmp ebx, r14d
jae 0x140046289
lea rax, [r10 + r11]
cmp rax, r9
jne 0x140046289
mov rcx, r10
and ecx, 3
shl rcx, 3
test rcx, rcx
jne 0x140046219
mov rax, rsi
jmp 0x14004621d
tzcnt rax, rdx
shr eax, 3
sub eax, r10d
add ecx, eax
jmp 0x1400461d9
mov eax, esi
rol eax, cl
mov rdx, qword [rsp + 0x88]
movabs r8, 0x100000001
mov r9, qword [rsp + 0x50]
mov rcx, rdx
add r9, 0xfffffffffffffffb
imul rax, r8
lea r8, [r9 - 7]
cmp rdx, r8
jae 0x14004626d
nop dword [rax + rax]
mov rdx, rax
xor rdx, qword [rcx]
jne 0x1400463b6
add rcx, 8
cmp rcx, r8
jb 0x140046250
mov rdx, qword [rsp + 0x88]
cmp rcx, r9
jae 0x140046282
cmp byte [rcx], al
jne 0x140046282
inc rcx
shr rax, 8
cmp rcx, r9
jb 0x140046272
sub ecx, edx
mov eax, ecx
add r10, rax
mov r8, qword [rsp + 0x88]
cmp ebx, r14d
mov r9, r8
mov dword [rsp + 0xf0], esi
cmovb r9, r15
mov rcx, r11
lea rdx, [r9 + 4]
cmp r11, rdx
jb 0x1400462c1
nop
cmp dword [rcx - 4], esi
lea rax, [rcx - 4]
jne 0x1400462c1
mov rcx, rax
cmp rax, rdx
jae 0x1400462b0
cmp rcx, r9
jbe 0x1400462ee
lea r8, [rsp + 0xf3]
sub r8, rcx
movzx eax, byte [rcx + r8]
lea rdx, [rcx - 1]
cmp byte [rdx], al
jne 0x1400462e6
mov rcx, rdx
cmp rdx, r9
ja 0x1400462d1
mov r8, qword [rsp + 0x88]
mov r9, r11
sub r9, rcx
mov r9d, r9d
cmp ebx, r14d
jb 0x14004637e
sub r11, r9
cmp r11, r8
jne 0x14004637e
cmp dword [rsp + 0x64], r14d
jae 0x14004637e
mov ecx, r9d
mov edx, esi
neg ecx
and ecx, 3
shl rcx, 3
test rcx, rcx
je 0x140046324
rol edx, cl
lea r8, [r15 + 4]
mov dword [rsp + 0xe8], edx
mov rcx, rdi
cmp rdi, r8
jb 0x140046348
cmp dword [rcx - 4], edx
lea rax, [rcx - 4]
jne 0x140046348
mov rcx, rax
cmp rax, r8
jae 0x140046337
cmp rcx, r15
jbe 0x140046375
lea r8, [rsp + 0xeb]
sub r8, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + r8]
lea rdx, [rcx - 1]
cmp byte [rdx], al
jne 0x140046375
mov rcx, rdx
cmp rdx, r15
ja 0x140046360
mov rax, rdi
sub rax, rcx
add r9, rax
mov esi, dword [rsp + 0x44]
mov edx, ebx
mov eax, ebx
sub eax, r9d
cmp eax, esi
cmova esi, eax
sub edx, esi
add rdx, r10
cmp rdx, rbp
jb 0x1400463cc
cmp r10, rbp
ja 0x1400463cc
sub ebx, ebp
mov eax, r14d
lea esi, [rbx + r10]
sub eax, esi
dec eax
cmp eax, 3
cmovb esi, r14d
jmp 0x140045f75
tzcnt rax, rdx
shr eax, 3
sub eax, dword [rsp + 0x88]
add ecx, eax
jmp 0x140046284
mov eax, r14d
sub eax, esi
dec eax
cmp eax, 3
jae 0x1400463e0
mov esi, r14d
jmp 0x140045f75
cmp qword [rsp + 0x78], 0
jne 0x140045f75
movsxd rax, dword [rsp + 0x1b0]
cmp rdx, rbp
mov rcx, rbp
cmovb rcx, rdx
cmp rax, rcx
jae 0x140046449
mov r8, qword [rsp + 0x88]
mov r11d, 0xffff
mov r10, qword [rsp + 0x28]
mov edx, esi
mov eax, r14d
sub rax, rdx
mov r9d, r14d
sub rax, r8
add rax, r10
cmp rax, r11
ja 0x140045f90
mov ebx, edx
mov dword [rsp + 0x1b0], ecx
sub rbx, r9
mov qword [rsp + 0x58], r10
add rbx, r8
mov qword [rsp + 0x68], rbx
mov rcx, qword [rsp + 0x190]
movzx eax, si
movzx ecx, word [rcx + rax*2 + 0x20000]
cmp ecx, esi
ja 0x140045f90
jmp 0x140045f73
tzcnt rax, rcx
shr eax, 3
jmp 0x1400460fb
tzcnt rcx, rcx
shr ecx, 3
sub ecx, r11d
add eax, ecx
jmp 0x1400460fb
mov eax, edi
sub eax, r9d
movsxd r10, eax
test eax, eax
jns 0x1400464bb
sub r9, r13
lea rcx, [r13 - 1]
mov r8d, 1
sub r8, r13
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
jne 0x1400464bb
dec rcx
dec edx
lea rax, [rcx + r8]
cmp rax, r10
jg 0x1400464a4
sub r11d, edx
cmp r11d, dword [rsp + 0x1b0]
jle 0x1400464f9
movsxd rax, edx
mov ecx, r14d
sub rcx, qword [rsp + 0x118]
add rcx, qword [rsp + 0x88]
add rcx, rax
mov dword [rsp + 0x1b0], r11d
lea r10, [rax + r13]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x58], r10
jmp 0x1400464fe
mov r10, qword [rsp + 0x58]
mov edx, dword [rsp + 0x30]
movzx eax, bx
mov r9d, 0xffff
movzx ecx, word [r12 + rax*2 + 0x20000]
mov eax, r15d
sub r14d, ecx
sub ebx, ecx
sub eax, r14d
cmp eax, r9d
jbe 0x140046020
mov edx, dword [rsp + 0x1b0]
cmp edx, 3
jg 0x140046541
mov rcx, qword [rsp + 0xd0]
jmp 0x1400472e3
cmp dword [rsp + 0x1e0], 0
je 0x140046565
xor eax, eax
cmp edx, 0x24
mov ecx, eax
setle cl
cmp edx, 0x12
setg al
test eax, ecx
mov eax, 0x12
cmovne edx, eax
sub r10d, dword [rsp + 0x68]
mov eax, r10d
mov dword [rsp + 0xd0], eax
mov dword [rsp + 0xd4], edx
jmp 0x1400472da
cmp dword [rcx + 0x10], eax
jle 0x14004768b
mov r11, qword [rsp + 0x190]
mov r12d, r13d
mov eax, dword [rsp + 0x20]
sub eax, dword [rsp + 0x48]
mov dword [rsp + 0x88], eax
mov r14d, dword [r11 + 0x40018]
mov edx, dword [r11 + 0x4001c]
mov r9d, r14d
mov rbx, qword [r11 + 0x40008]
mov r8d, edx
mov r15, qword [r11 + 0x40010]
sub r9d, ebx
add r9d, r10d
mov dword [rsp + 0x1b0], eax
mov rax, qword [r11 + 0x40028]
lea ecx, [rdx + 0x10000]
mov qword [rsp + 0x100], rax
cmp ecx, r9d
mov r11d, r10d
mov dword [rsp + 0x64], r9d
lea eax, [r9 - 0xffff]
mov qword [rsp + 0x58], rbx
mov r9d, dword [r10]
cmovbe r8d, eax
mov eax, dword [rsp + 0x1b8]
sub r11d, r10d
sub r10d, ebx
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x190]
mov rdi, r15
sub rdi, rdx
mov dword [rsp + 0x44], r8d
add rdi, r14
mov dword [rsp + 0xc0], r14d
xor ebp, ebp
mov dword [rsp + 0x60], edx
mov r8d, dword [rax + 0x40020]
add r10d, r14d
mov qword [rsp + 0xd8], 0
mov rsi, rax
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x118], r15
mov qword [rsp + 0x110], rdx
mov qword [rsp + 0x120], r14
mov qword [rsp + 0xa8], rdi
mov dword [rsp + 0x30], r9d
cmp r8d, r10d
jae 0x1400466d5
mov r9d, r8d
mov edi, 0xffff
sub r9, r14
add r9, rbx
imul edx, dword [r9], 0x9e3779b1
lea r9, [r9 + 1]
mov ecx, r8d
movzx eax, r8w
shr rdx, 0x11
sub ecx, dword [rsi + rdx*4]
cmp rcx, rdi
cmova rcx, rdi
mov word [rsi + rax*2 + 0x20000], cx
mov dword [rsi + rdx*4], r8d
inc r8d
cmp r8d, r10d
jb 0x140046690
mov rdi, qword [rsp + 0xa8]
mov edx, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x30]
mov dword [rsi + 0x40020], r10d
mov r10, qword [rsp + 0x28]
movsxd r8, r11d
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x68], r10
imul ecx, dword [r10], 0x9e3779b1
shr rcx, 0x11
mov esi, dword [rsi + rcx*4]
lea rcx, [rcx*4]
mov qword [rsp + 0x108], rcx
cmp esi, dword [rsp + 0x44]
jb 0x140046d14
mov qword [rsp + 0x68], r10
jmp 0x140046725
mov r9d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x40]
test eax, eax
jle 0x140046d07
dec eax
xor r11d, r11d
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x1e0], r11d
je 0x140046753
mov eax, dword [rsp + 0x64]
sub eax, esi
cmp eax, 8
jb 0x140046b22
cmp esi, r14d
jb 0x1400468d6
movsxd rcx, dword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x58]
mov eax, r14d
mov ebx, esi
sub rbx, rax
mov rax, rcx
sub rax, r8
add rbx, rdx
movzx eax, word [rax + rbx - 1]
cmp word [rcx + r10 - 1], ax
jne 0x140046b22
cmp dword [rbx], r9d
jne 0x140046b22
xor r10d, r10d
test r8, r8
je 0x1400467e7
cmp rdx, rbx
jns 0x1400467ac
mov rdx, qword [rsp + 0x28]
mov eax, edx
sub eax, edx
jmp 0x1400467b5
mov eax, edx
mov rdx, qword [rsp + 0x28]
sub eax, ebx
movsxd r9, eax
test eax, eax
jns 0x1400467e7
sub rdx, rbx
lea rcx, [rbx - 1]
mov r8d, 1
sub r8, rbx
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + rcx], al
jne 0x1400467e7
dec rcx
dec r10d
lea rax, [r8 + rcx]
cmp rax, r9
jg 0x1400467d0
mov r11, qword [rsp + 0x50]
lea rdx, [rbx + 4]
mov r9, qword [rsp + 0x28]
add r11, 0xfffffffffffffffb
add r9, 4
mov rcx, r9
lea r8, [r11 - 7]
cmp r9, r8
jae 0x14004681d
mov rax, qword [rdx]
xor rax, qword [r9]
jne 0x1400468ba
lea rcx, [r9 + 8]
add rdx, 8
cmp rcx, r8
jae 0x14004683b
mov rax, qword [rdx]
xor rax, qword [rcx]
jne 0x1400468c5
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x140046822
lea rax, [r11 - 3]
cmp rcx, rax
jae 0x140046852
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x140046852
add rcx, 4
add rdx, 4
lea rax, [r11 - 1]
cmp rcx, rax
jae 0x14004686b
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x14004686b
add rcx, 2
add rdx, 2
cmp rcx, r11
jae 0x14004687a
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x14004687a
inc rcx
sub ecx, r9d
mov r11d, ecx
mov eax, dword [rsp + 0x1b0]
sub r11d, r10d
add r11d, 4
cmp r11d, eax
jle 0x140046b2c
movsxd rax, r10d
mov dword [rsp + 0x1b0], r11d
lea rcx, [rax + rbx]
add rax, qword [rsp + 0x28]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rcx
jmp 0x140046b3a
tzcnt r11, rax
shr r11d, 3
jmp 0x140046880
tzcnt r11, rax
shr r11d, 3
sub r11d, r9d
add r11d, ecx
jmp 0x140046880
mov ebx, esi
lea eax, [r14 - 4]
sub ebx, edx
add rbx, r15
cmp esi, eax
ja 0x140046b22
cmp dword [rbx], r9d
jne 0x140046b22
mov rax, qword [rsp + 0x50]
lea rdx, [rbx + 4]
add rax, 0xfffffffffffffffb
mov ecx, r14d
sub ecx, esi
mov r9, rax
add rcx, r10
cmp rcx, rax
cmovbe r9, rcx
add r10, 4
mov rcx, r10
lea r8, [r9 - 7]
cmp r10, r8
jae 0x140046935
mov rax, qword [r10]
xor rax, qword [rdx]
jne 0x140046a77
lea rcx, [r10 + 8]
add rdx, 8
cmp rcx, r8
jae 0x140046959
nop word [rax + rax]
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x140046a84
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x140046940
lea rax, [r9 - 3]
cmp rcx, rax
jae 0x140046970
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x140046970
add rcx, 4
add rdx, 4
lea rax, [r9 - 1]
cmp rcx, rax
jae 0x140046989
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x140046989
add rcx, 2
add rdx, 2
cmp rcx, r9
jae 0x140046998
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x140046998
inc rcx
sub ecx, r10d
mov r8, qword [rsp + 0x28]
lea r11d, [rcx + 4]
movsxd r10, r11d
add r10, r8
cmp r10, r9
jne 0x140046a5e
mov rax, qword [rsp + 0x50]
add rax, 0xfffffffffffffffb
cmp r9, rax
jae 0x140046a5e
mov r9, qword [rsp + 0x58]
lea r8, [rax - 7]
mov rdx, r9
mov rcx, r10
cmp r10, r8
jae 0x1400469ed
mov rax, qword [r10]
xor rax, qword [r9]
jne 0x140046a96
lea rcx, [r10 + 8]
lea rdx, [r9 + 8]
cmp rcx, r8
jae 0x140046a0b
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x140046aa0
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x1400469f2
mov r8, qword [rsp + 0x50]
add r8, 0xfffffffffffffffb
lea rax, [r8 - 3]
cmp rcx, rax
jae 0x140046a2b
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x140046a2b
add rcx, 4
add rdx, 4
lea rax, [r8 - 1]
cmp rcx, rax
jae 0x140046a44
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x140046a44
add rcx, 2
add rdx, 2
cmp rcx, r8
jae 0x140046a53
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x140046a53
inc rcx
sub ecx, r10d
mov r8, qword [rsp + 0x28]
add r11d, ecx
xor edx, edx
cmp qword [rsp + 0x80], rdx
je 0x140046ae7
cmp r15, rbx
jns 0x140046aaf
mov eax, r8d
sub eax, r8d
jmp 0x140046ab4
tzcnt rcx, rax
shr ecx, 3
jmp 0x14004699b
tzcnt rax, rax
shr eax, 3
sub eax, r10d
add ecx, eax
jmp 0x14004699b
tzcnt rcx, rax
shr ecx, 3
jmp 0x140046a56
tzcnt rax, rax
shr eax, 3
sub eax, r10d
add ecx, eax
jmp 0x140046a56
mov eax, r15d
sub eax, ebx
movsxd r10, eax
test eax, eax
jns 0x140046ae7
sub r8, rbx
lea rcx, [rbx - 1]
mov r9d, 1
sub r9, rbx
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [r8 + rcx], al
jne 0x140046ae7
dec rcx
dec edx
lea rax, [r9 + rcx]
cmp rax, r10
jg 0x140046ad0
mov eax, dword [rsp + 0x1b0]
sub r11d, edx
cmp r11d, eax
jle 0x140046b2c
movsxd rax, edx
mov edx, r14d
mov ecx, esi
sub rcx, rdx
mov dword [rsp + 0x1b0], r11d
add rcx, qword [rsp + 0x58]
add rcx, rax
add rax, qword [rsp + 0x28]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rcx
jmp 0x140046b3a
mov eax, dword [rsp + 0x1b0]
cmp r11d, eax
jne 0x140046bda
mov r11d, dword [rsp + 0x1b0]
lea eax, [r11 + rsi]
cmp eax, dword [rsp + 0x64]
ja 0x140046bda
mov edi, 1
add r11d, 0xfffffffd
xor r10d, r10d
lea r9d, [rdi + 0xf]
test r11d, r11d
jle 0x140046bd2
mov r15, qword [rsp + 0x190]
mov ebx, esi
mov r14d, r9d
nop word [rax + rax]
mov edx, r9d
lea rax, [rbx + r10]
movzx eax, ax
inc r9d
sar edx, 4
movzx ecx, word [r15 + rax*2 + 0x20000]
mov eax, r10d
cmp ecx, edi
mov r8d, ecx
cmovbe r8d, edi
cmovbe eax, r12d
cmova r9d, r14d
mov r12d, eax
add r10d, edx
mov edi, r8d
cmp r10d, r11d
jl 0x140046b70
mov r14d, dword [rsp + 0xc0]
mov r15, qword [rsp + 0x118]
cmp r8d, 1
jbe 0x140046bd2
cmp r8d, esi
ja 0x140046d07
sub esi, r8d
jmp 0x140046ce4
mov rdi, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x190]
movzx r10d, si
cmp word [r9 + r10*2 + 0x20000], 1
jne 0x140046cd2
test r12d, r12d
jne 0x140046cd2
lea ebx, [rsi - 1]
test r13d, r13d
jne 0x140046e93
mov r11d, dword [rsp + 0x30]
xor r8d, r8d
mov eax, r11d
mov edx, r11d
shr eax, 0x18
cmp r11b, al
movzx eax, r11w
sete r8b
xor ecx, ecx
shr edx, 0x10
cmp eax, edx
sete cl
test ecx, r8d
je 0x140046ccc
mov r9, qword [rsp + 0x28]
lea r13d, [r12 + 2]
mov eax, r11d
add r9, 4
mov r11, qword [rsp + 0x50]
movabs rdx, 0x100000001
add r11, 0xfffffffffffffffb
mov rcx, r9
imul rax, rdx
lea r8, [r11 - 7]
cmp r9, r8
jae 0x140046c81
nop
mov rdx, rax
xor rdx, qword [rcx]
jne 0x140046cac
add rcx, 8
cmp rcx, r8
jb 0x140046c70
cmp rcx, r11
jae 0x140046c96
cmp byte [rcx], al
jne 0x140046c96
inc rcx
shr rax, 8
cmp rcx, r11
jb 0x140046c86
sub ecx, r9d
mov r9, qword [rsp + 0x190]
mov ebp, ecx
add rbp, 4
jmp 0x140046e9d
tzcnt rax, rdx
shr eax, 3
sub eax, r9d
mov r9, qword [rsp + 0x190]
add ecx, eax
mov ebp, ecx
add rbp, 4
jmp 0x140046e9d
mov r13d, 1
lea eax, [r10 + r12]
movzx eax, ax
movzx ecx, word [r9 + rax*2 + 0x20000]
sub esi, ecx
mov r8, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xa8]
mov edx, dword [rsp + 0x60]
mov r10, qword [rsp + 0x28]
cmp esi, dword [rsp + 0x44]
jae 0x140046720
mov rcx, qword [rsp + 0x108]
mov r10, qword [rsp + 0x68]
cmp dword [rsp + 0x1d8], 1
jne 0x140047286
mov edx, dword [rsp + 0x40]
test edx, edx
jle 0x140047286
mov r15d, dword [rsp + 0x64]
mov r9d, 0xffff
mov r14d, dword [rsp + 0x44]
mov eax, r15d
sub eax, r14d
cmp eax, r9d
jae 0x140047286
mov r12, qword [rsp + 0x100]
mov eax, r15d
mov rdi, qword [r12 + 0x40008]
mov rsi, qword [r12 + 0x40000]
mov ebp, dword [r12 + 0x40018]
sub rsi, rdi
mov ebx, dword [r12 + rcx]
add rsi, rbp
sub r14d, esi
add r14d, ebx
sub eax, r14d
cmp eax, r9d
ja 0x140047286
nop dword [rax]
mov eax, edx
dec edx
mov dword [rsp + 0x40], edx
test eax, eax
je 0x140047286
mov eax, dword [rsp + 0x30]
mov r9d, ebx
sub r9, rbp
mov ecx, ebx
add r9, rdi
cmp dword [r9], eax
jne 0x140047260
mov r13, qword [rsp + 0x28]
lea rdx, [r9 + 4]
mov rax, r13
sub rax, rcx
lea r11, [r13 + 4]
lea rcx, [rax + rsi]
mov rax, qword [rsp + 0x50]
add rax, 0xfffffffffffffffb
cmp rcx, rax
mov r10, rax
cmovbe r10, rcx
mov rcx, r11
lea r8, [r10 - 7]
cmp r11, r8
jae 0x140046e02
mov rax, qword [r11]
xor rax, qword [rdx]
jne 0x1400471ca
lea rcx, [r11 + 8]
add rdx, 8
cmp rcx, r8
jae 0x140046e29
nop word [rax + rax]
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x1400471d7
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x140046e10
lea rax, [r10 - 3]
cmp rcx, rax
jae 0x140046e40
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x140046e40
add rcx, 4
add rdx, 4
lea rax, [r10 - 1]
cmp rcx, rax
jae 0x140046e59
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x140046e59
add rcx, 2
add rdx, 2
cmp rcx, r10
jae 0x140046e68
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x140046e68
inc rcx
sub ecx, r11d
xor edx, edx
lea r11d, [rcx + 4]
cmp qword [rsp + 0x80], rdx
je 0x14004721c
cmp rdi, r9
jns 0x1400471e9
mov eax, r13d
sub eax, r13d
jmp 0x1400471ee
cmp r13d, 2
jne 0x140046cd2
cmp ebx, dword [rsp + 0x44]
jb 0x140046cd2
mov eax, r14d
sub eax, ebx
dec eax
cmp eax, 3
jb 0x140046cd2
mov rcx, qword [rsp + 0x58]
mov rax, r15
sub rax, qword [rsp + 0x110]
mov edx, r14d
sub rcx, rdx
mov r11d, ebx
cmp ebx, r14d
cmovb rcx, rax
mov eax, dword [rsp + 0x30]
add r11, rcx
cmp dword [r11], eax
jne 0x140046cd2
mov r9, qword [rsp + 0x50]
lea r10, [r11 + 4]
add r9, 0xfffffffffffffffb
mov esi, eax
cmp ebx, r14d
mov eax, esi
movabs rdx, 0x100000001
mov rcx, r10
cmovb r9, rdi
imul rax, rdx
lea r8, [r9 - 7]
cmp r10, r8
jae 0x140046f31
nop dword [rax]
mov rdx, rax
xor rdx, qword [rcx]
jne 0x140046f7a
add rcx, 8
cmp rcx, r8
jb 0x140046f20
cmp rcx, r9
jae 0x140046f46
cmp byte [rcx], al
jne 0x140046f46
inc rcx
shr rax, 8
cmp rcx, r9
jb 0x140046f36
sub ecx, r10d
mov r10d, ecx
add r10, 4
cmp ebx, r14d
jae 0x140046ff7
lea rax, [r10 + r11]
cmp rax, r9
jne 0x140046ff7
mov rcx, r10
and ecx, 3
shl rcx, 3
test rcx, rcx
jne 0x140046f89
mov rax, rsi
jmp 0x140046f8d
tzcnt rax, rdx
shr eax, 3
sub eax, r10d
add ecx, eax
jmp 0x140046f49
mov eax, esi
rol eax, cl
mov rdx, qword [rsp + 0x58]
movabs r8, 0x100000001
mov r9, qword [rsp + 0x50]
mov rcx, rdx
add r9, 0xfffffffffffffffb
imul rax, r8
lea r8, [r9 - 7]
cmp rdx, r8
jae 0x140046fda
nop word [rax + rax]
mov rdx, rax
xor rdx, qword [rcx]
jne 0x140047118
add rcx, 8
cmp rcx, r8
jb 0x140046fc0
mov rdx, qword [rsp + 0x58]
cmp rcx, r9
jae 0x140046ff0
nop
cmp byte [rcx], al
jne 0x140046ff0
inc rcx
shr rax, 8
cmp rcx, r9
jb 0x140046fe0
sub ecx, edx
mov eax, ecx
add r10, rax
mov r8, qword [rsp + 0x58]
cmp ebx, r14d
mov r9, r8
mov dword [rsp + 0xe0], esi
cmovb r9, r15
mov rcx, r11
lea rdx, [r9 + 4]
cmp r11, rdx
jb 0x140047031
nop dword [rax]
cmp dword [rcx - 4], esi
lea rax, [rcx - 4]
jne 0x140047031
mov rcx, rax
cmp rax, rdx
jae 0x140047020
cmp rcx, r9
jbe 0x14004705b
lea r8, [rsp + 0xe3]
sub r8, rcx
movzx eax, byte [r8 + rcx]
lea rdx, [rcx - 1]
cmp byte [rdx], al
jne 0x140047056
mov rcx, rdx
cmp rdx, r9
ja 0x140047041
mov r8, qword [rsp + 0x58]
mov r9, r11
sub r9, rcx
mov r9d, r9d
cmp ebx, r14d
jb 0x1400470df
sub r11, r9
cmp r11, r8
jne 0x1400470df
cmp dword [rsp + 0x60], r14d
jae 0x1400470df
mov ecx, r9d
mov edx, esi
neg ecx
and ecx, 3
shl rcx, 3
test rcx, rcx
je 0x14004708d
rol edx, cl
lea r8, [r15 + 4]
mov dword [rsp + 0xf8], edx
mov rcx, rdi
cmp rdi, r8
jb 0x1400470b1
cmp dword [rcx - 4], edx
lea rax, [rcx - 4]
jne 0x1400470b1
mov rcx, rax
cmp rax, r8
jae 0x1400470a0
cmp rcx, r15
jbe 0x1400470d6
lea r8, [rsp + 0xfb]
sub r8, rcx
movzx eax, byte [r8 + rcx]
lea rdx, [rcx - 1]
cmp byte [rdx], al
jne 0x1400470d6
mov rcx, rdx
cmp rdx, r15
ja 0x1400470c1
mov rax, rdi
sub rax, rcx
add r9, rax
mov esi, dword [rsp + 0x44]
mov edx, ebx
mov eax, ebx
sub eax, r9d
cmp eax, esi
cmova esi, eax
sub edx, esi
add rdx, r10
cmp rdx, rbp
jb 0x14004712b
cmp r10, rbp
ja 0x14004712b
sub r10d, ebp
mov eax, r14d
lea esi, [r10 + rbx]
sub eax, esi
dec eax
cmp eax, 3
cmovb esi, r14d
jmp 0x140046ce4
tzcnt rax, rdx
shr eax, 3
sub eax, dword [rsp + 0x58]
add ecx, eax
jmp 0x140046ff2
mov r8, qword [rsp + 0x80]
mov eax, r14d
sub eax, esi
dec eax
cmp eax, 3
jae 0x140047147
mov esi, r14d
jmp 0x140046cec
test r8, r8
jne 0x140046cec
movsxd rax, dword [rsp + 0x1b0]
cmp rdx, rbp
mov rcx, rbp
cmovb rcx, rdx
cmp rax, rcx
jae 0x1400471a8
mov rbx, qword [rsp + 0x58]
mov r11d, 0xffff
mov r10, qword [rsp + 0x28]
mov eax, r14d
sub rax, rbx
mov edx, esi
sub rax, rdx
mov r9d, r14d
add rax, r10
cmp rax, r11
ja 0x140046d07
sub rbx, r9
mov dword [rsp + 0x1b0], ecx
add rbx, rdx
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x78], rbx
mov rcx, qword [rsp + 0x190]
movzx eax, si
movzx ecx, word [rcx + rax*2 + 0x20000]
cmp ecx, esi
ja 0x140046d07
sub esi, ecx
jmp 0x140046cec
tzcnt rcx, rax
shr ecx, 3
jmp 0x140046e6b
tzcnt rax, rax
shr eax, 3
sub eax, r11d
add ecx, eax
jmp 0x140046e6b
mov eax, edi
sub eax, r9d
movsxd r10, eax
test eax, eax
jns 0x14004721c
sub r9, r13
lea rcx, [r13 - 1]
mov r8d, 1
sub r8, r13
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
jne 0x14004721c
dec rcx
dec edx
lea rax, [rcx + r8]
cmp rax, r10
jg 0x140047205
sub r11d, edx
cmp r11d, dword [rsp + 0x1b0]
jle 0x140047257
movsxd rax, edx
mov ecx, r14d
sub rcx, qword [rsp + 0x120]
add rcx, qword [rsp + 0x58]
add rcx, rax
mov dword [rsp + 0x1b0], r11d
lea r10, [rax + r13]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x68], r10
jmp 0x14004725c
mov r10, qword [rsp + 0x68]
mov edx, dword [rsp + 0x40]
movzx eax, bx
mov r9d, 0xffff
movzx ecx, word [r12 + rax*2 + 0x20000]
mov eax, r15d
sub r14d, ecx
sub ebx, ecx
sub eax, r14d
cmp eax, r9d
jbe 0x140046d90
mov edx, dword [rsp + 0x1b0]
cmp edx, dword [rsp + 0x88]
jg 0x1400472a0
mov rcx, qword [rsp + 0xd8]
jmp 0x1400472e3
cmp dword [rsp + 0x1e0], 0
je 0x1400472c4
xor eax, eax
cmp edx, 0x24
mov ecx, eax
setle cl
cmp edx, 0x12
setg al
test eax, ecx
mov eax, 0x12
cmovne edx, eax
sub r10d, dword [rsp + 0x78]
mov eax, r10d
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0xdc], edx
mov ecx, edx
shl rcx, 0x20
or rcx, rax
mov r14d, dword [rsp + 0x48]
mov rdx, rcx
shr rdx, 0x20
mov r10, rcx
mov qword [rsp + 0xa8], rcx
test edx, edx
je 0x140047674
movsxd rax, edx
cmp rax, qword [rsp + 0x128]
ja 0x140047746
lea eax, [rdx + r14]
cmp eax, 0x1000
jge 0x140047746
mov rsi, qword [rsp + 0xb8]
mov r9d, dword [rsi + 0xc]
mov edi, r9d
lea r11d, [r9 - 0xf]
cmp r9d, 0xf
jl 0x140047355
mov eax, 0x80808081
imul r11d
add edx, r11d
sar edx, 7
mov edi, edx
shr edi, 0x1f
inc edi
add edi, edx
add edi, r9d
lea eax, [r9 + 1]
mov ebx, eax
cmp eax, 0xf
jl 0x14004737f
lea r8d, [rax - 0xf]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, 2
add eax, edx
add eax, r9d
mov r10d, dword [rsi]
xor r13d, r13d
mov r12, qword [rsp + 0x90]
mov edx, r10d
mov r15, qword [rsp + 0x98]
sub edx, edi
add edx, eax
lea rax, [r12 + 1]
add rax, rax
cmp edx, dword [r15 + rax*8]
jge 0x1400473c4
mov dword [r15 + rax*8 + 8], 1
mov dword [r15 + rax*8 + 4], r13d
mov dword [r15 + rax*8 + 0xc], ebx
mov dword [r15 + rax*8], edx
mov r10d, dword [rsi]
mov esi, r9d
cmp r9d, 0xf
jl 0x1400473e7
mov eax, 0x80808081
imul r11d
add edx, r11d
sar edx, 7
mov esi, edx
shr esi, 0x1f
inc esi
add esi, edx
add esi, r9d
lea edi, [rbx + 1]
mov eax, edi
cmp edi, 0xf
jl 0x140047410
lea r8d, [rbx - 0xe]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, 3
add eax, edx
add eax, r9d
mov edx, r10d
sub edx, esi
mov rsi, qword [rsp + 0xb8]
add edx, eax
lea rax, [r12 + 2]
add rax, rax
cmp edx, dword [r15 + rax*8]
jge 0x140047447
mov dword [r15 + rax*8 + 8], 1
mov dword [r15 + rax*8 + 4], r13d
mov dword [r15 + rax*8 + 0xc], edi
mov dword [r15 + rax*8], edx
mov r10d, dword [rsi]
mov edi, r9d
cmp r9d, 0xf
jl 0x14004746a
mov eax, 0x80808081
imul r11d
add edx, r11d
sar edx, 7
mov edi, edx
shr edi, 0x1f
inc edi
add edi, edx
add edi, r9d
lea r11d, [rbx + 2]
mov eax, r11d
cmp r11d, 0xf
jl 0x140047496
lea r8d, [rbx - 0xd]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, 4
add eax, edx
add eax, r9d
sub r10d, edi
mov rdi, r15
add r10d, eax
lea rax, [r12 + 3]
add rax, rax
cmp r10d, dword [r15 + rax*8]
jge 0x1400474c4
mov dword [r15 + rax*8 + 8], 1
mov dword [r15 + rax*8 + 4], r13d
mov dword [r15 + rax*8 + 0xc], r11d
mov dword [r15 + rax*8], r10d
movsxd r15, dword [rsp + 0xac]
mov ebp, 4
mov ebx, dword [rsp + 0x20]
cmp rbp, r15
jg 0x140047608
mov r12d, 0xffffffed
lea r9d, [r14 + 4]
sub r12d, r14d
lea r11, [rsi + 0x44]
neg r14d
cmp dword [rsi + 8], 1
jne 0x140047577
mov r10d, dword [rsi + 0xc]
mov eax, dword [rsp + 0x48]
cmp eax, r10d
jle 0x140047513
sub eax, r10d
movsxd rdx, eax
add rdx, rdx
mov esi, dword [rdi + rdx*8]
jmp 0x140047516
mov esi, r13d
mov ebx, r10d
cmp r10d, 0xf
jl 0x14004753d
lea r8d, [r10 - 0xf]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ebx, edx
shr ebx, 0x1f
inc ebx
add ebx, edx
add ebx, r10d
add ebx, 3
lea edi, [r9 + r14]
cmp edi, 0x13
jl 0x140047566
lea r8d, [r9 + r12]
mov eax, 0x80808081
imul r8d
inc ebx
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add ebx, edx
lea edx, [rsi + rbx]
mov rsi, qword [rsp + 0xb8]
mov ebx, dword [rsp + 0x20]
jmp 0x1400475aa
lea eax, [r9 + r14]
mov r10d, r13d
mov edx, 3
cmp eax, 0x13
jl 0x1400475a4
lea r8d, [r9 + r12]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
add edx, 4
shr eax, 0x1f
add edx, eax
add edx, dword [rsi]
lea edi, [r9 + r14]
lea eax, [rbx + 3]
cmp r9d, eax
jg 0x1400475c1
mov eax, dword [r11 - 4]
sub eax, dword [rsp + 0x1e0]
cmp edx, eax
jg 0x1400475e0
cmp rbp, r15
jne 0x1400475d1
cmp ebx, r9d
cmovl ebx, r9d
mov dword [rsp + 0x20], ebx
mov dword [r11 + 4], edi
mov dword [r11], ecx
mov dword [r11 + 8], r10d
mov dword [r11 - 4], edx
mov rdi, qword [rsp + 0x98]
inc r9d
inc rbp
add r11, 0x10
cmp rbp, r15
jle 0x1400474f2
mov r14d, dword [rsp + 0x48]
mov r12, qword [rsp + 0x90]
movsxd r8, ebx
mov rdx, r8
add rdx, rdx
lea rcx, [r8 + 1]
shl rcx, 4
add rcx, rdi
mov dword [rcx + 8], 1
mov dword [rcx + 4], r13d
mov dword [rcx + 0xc], 1
mov eax, dword [rdi + rdx*8]
inc eax
mov dword [rcx + 0x18], 1
mov dword [rcx], eax
mov dword [rcx + 0x14], r13d
mov dword [rcx + 0x1c], 2
mov eax, dword [rdi + rdx*8]
add eax, 2
mov dword [rcx + 0x28], 1
mov dword [rcx + 0x10], eax
lea rax, [r8 + 3]
mov dword [rcx + 0x24], r13d
mov dword [rcx + 0x2c], 3
mov ecx, dword [rdi + rdx*8]
add ecx, 3
add rax, rax
mov dword [rdi + rax*8], ecx
jmp 0x14004768b
mov ebx, dword [rsp + 0x20]
xor r13d, r13d
mov r12, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x98]
inc r14d
inc r12
mov dword [rsp + 0x48], r14d
mov qword [rsp + 0x90], r12
cmp r14d, ebx
jl 0x1400457a0
movsxd rax, ebx
mov r14d, ebx
add rax, rax
mov edx, dword [rdi + rax*8 + 8]
sub r14d, edx
mov r10d, dword [rdi + rax*8 + 4]
movsxd rax, r14d
add rax, rax
mov r8d, dword [rdi + rax*8 + 8]
mov r9d, dword [rdi + rax*8 + 4]
mov dword [rdi + rax*8 + 8], edx
mov edx, r8d
mov dword [rdi + rax*8 + 4], r10d
cmp r8d, r14d
jg 0x140047706
nop dword [rax]
sub r14d, r8d
movsxd rcx, r14d
shl rcx, 4
add rcx, rdi
mov r8d, dword [rcx + 8]
mov eax, dword [rcx + 4]
mov dword [rcx + 8], edx
mov edx, r8d
mov dword [rcx + 4], r9d
mov r9d, eax
cmp r8d, r14d
jle 0x1400476e0
xor r13d, r13d
mov r12d, r13d
test ebx, ebx
jle 0x140047935
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x70]
mov esi, dword [rsp + 0x1c8]
movsxd rax, r12d
add rax, rax
movsxd r15, dword [rdi + rax*8 + 8]
cmp r15d, 1
jne 0x14004775b
mov r9, qword [rsp + 0xa0]
inc r11
jmp 0x14004791f
mov rdi, qword [rsp + 0x98]
lea ebx, [r14 + 1]
mov dword [rsp + 0x20], ebx
jmp 0x1400476bc
movsxd r13, dword [rdi + rax*8 + 4]
mov rbp, r11
mov rcx, qword [rsp + 0xa0]
mov rdi, r11
mov qword [rsp + 0x90], r10
mov r14, r10
mov r9, r10
sub rdi, rcx
inc r10
sub rbp, r13
mov qword [rsp + 0x70], r10
movabs r8, 0x8080808080808081
test esi, esi
je 0x1400477ba
mov rax, r8
mul rdi
lea rax, [rdi + 8]
shr rdx, 7
add rax, rdx
add rax, r10
cmp rax, qword [rsp + 0xb0]
ja 0x140047953
cmp rdi, 0xf
jb 0x140047820
lea rsi, [rdi - 0xf]
mov byte [r14], 0xf0
cmp rsi, 0xff
jb 0x140047811
mov rax, r8
mov rcx, r10
mul rsi
mov rbx, rdx
mov dl, 0xff
shr rbx, 7
mov r8, rbx
call fcn.1402d1c50
mov r10, qword [rsp + 0x70]
mov r9, r14
mov r11, qword [rsp + 0x38]
add r10, rbx
mov rcx, qword [rsp + 0xa0]
imul rax, rbx, 0xffffffffffffff01
mov ebx, dword [rsp + 0x20]
add rsi, rax
mov byte [r10], sil
inc r10
mov esi, dword [rsp + 0x1c8]
jmp 0x14004782a
movzx eax, dil
shl al, 4
mov byte [r14], al
lea rdx, [rdi + r10]
sub rcx, r10
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx + r10]
mov qword [r10], rax
add r10, 8
cmp r10, rdx
jb 0x140047840
movzx eax, r11w
lea r10, [rdx + 2]
sub ax, bp
mov qword [rsp + 0x70], r10
mov word [rdx], ax
lea rcx, [r15 - 4]
movabs rdi, 0x8080808080808081
test esi, esi
je 0x140047894
mov rax, rdi
mul rcx
shr rdx, 7
lea rax, [rdx + 6]
add rax, r10
cmp rax, qword [rsp + 0xb0]
ja 0x140047953
movzx eax, byte [r9]
cmp rcx, 0xf
jb 0x140047904
add al, 0xf
sub rcx, 0xf
mov byte [r14], al
cmp rcx, 0x1fe
jb 0x1400478e0
mov rax, rdi
mul rcx
shr rdx, 8
imul rax, rdx, 0xfffffffffffffe02
add rcx, rax
nop dword [rax]
nop dword [rax + rax]
mov word [r10], 0xffff
add r10, 2
sub rdx, 1
jne 0x1400478d0
cmp rcx, 0xff
jb 0x1400478f7
sub rcx, 0xff
mov byte [r10], 0xff
inc r10
mov byte [r10], cl
inc r10
mov qword [rsp + 0x70], r10
jmp 0x140047909
add cl, al
mov byte [r14], cl
mov rdi, qword [rsp + 0x98]
add r11, r15
mov r9, r11
mov qword [rsp + 0xa0], r11
add r12d, r15d
mov qword [rsp + 0x38], r11
cmp r12d, ebx
jl 0x140047714
jmp 0x140045304
mov r10, qword [rsp + 0x70]
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0xa0]
mov esi, dword [rsp + 0x1c8]
jmp 0x140045307
mov r14, r11
mov ebp, r15d
sub r14, r13
cmp esi, 2
jne 0x140047c68
mov r9, qword [rsp + 0xa0]
mov rsi, r11
mov r12, qword [rsp + 0xb0]
sub rsi, r9
movabs rbx, 0x8080808080808081
mov rax, rbx
lea rcx, [rsi + 0xf0]
mul rcx
lea rcx, [r12 - 3]
shr rdx, 7
lea r8, [rdx + 1]
mov rdx, qword [rsp + 0x90]
add r8, rsi
mov r10, rdx
lea rax, [r8 + rdx]
cmp rax, rcx
ja 0x140047b58
sub rcx, r8
movsxd rax, ebp
sub rcx, rdx
imul rcx, rcx, 0xff
add rcx, 0x12
cmp rax, rcx
mov rax, r12
cmovbe ecx, ebp
sub rax, r8
sub rax, rdx
movsxd r15, ecx
add rax, 2
add rax, r15
cmp rax, 0xc
jl 0x140047b58
lea rdi, [rdx + 1]
cmp rsi, 0xf
jb 0x140047a59
lea rbp, [rsi - 0xf]
mov byte [rdx], 0xf0
cmp rbp, 0xff
jb 0x140047a51
mov rax, rbx
mov rcx, rdi
mul rbp
mov rbx, rdx
mov dl, 0xff
shr rbx, 7
mov r8, rbx
call fcn.1402d1c50
mov rdx, qword [rsp + 0x90]
add rdi, rbx
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0xa0]
imul rax, rbx, 0xffffffffffffff01
movabs rbx, 0x8080808080808081
add rbp, rax
mov byte [rdi], bpl
inc rdi
jmp 0x140047a62
movzx eax, sil
shl al, 4
mov byte [rdx], al
lea r10, [rsi + rdi]
sub r9, rdi
nop dword [rax]
mov rax, qword [r9 + rdi]
mov qword [rdi], rax
add rdi, 8
cmp rdi, r10
jb 0x140047a70
movzx eax, r11w
lea rcx, [r15 - 4]
sub ax, r14w
mov word [r10], ax
add r10, 2
movzx eax, byte [rdx]
cmp rcx, 0xf
jb 0x140047aff
add al, 0xf
sub rcx, 0xf
mov byte [rdx], al
cmp rcx, 0x1fe
jb 0x140047ae0
mov rax, rbx
mul rcx
shr rdx, 8
imul rax, rdx, 0xfffffffffffffe02
add rcx, rax
nop dword [rax]
nop word [rax + rax]
mov word [r10], 0xffff
add r10, 2
sub rdx, 1
jne 0x140047ad0
cmp rcx, 0xff
jb 0x140047af7
sub rcx, 0xff
mov byte [r10], 0xff
inc r10
mov byte [r10], cl
inc r10
jmp 0x140047b03
add cl, al
mov byte [rdx], cl
mov r14, qword [rsp + 0x98]
lea r9, [r15 + r11]
mov r15, qword [rsp + 0x50]
mov rax, rbx
mov esi, dword [rsp + 0x1c8]
sub r15, r9
mov qword [rsp + 0xa0], r9
mov r8, r10
lea rcx, [r15 + 0xf0]
mul rcx
lea rcx, [r12 + 5]
shr rdx, 7
add rdx, r15
jmp 0x140047b96
mov r12, qword [rsp + 0xb0]
movabs rbx, 0x8080808080808081
jmp 0x140047b5f
mov esi, dword [rsp + 0x1c8]
mov r14, qword [rsp + 0x98]
mov r15, qword [rsp + 0x50]
sub r15, r9
mov rax, rbx
mov r8, r10
lea rcx, [r15 + 0xf0]
mul rcx
lea rcx, [r12 + 5]
shr rdx, 7
add rdx, r15
cmp esi, 2
cmovne rcx, r12
test esi, esi
je 0x140047bc2
lea rax, [r10 + 1]
add rax, rdx
cmp rax, rcx
jbe 0x140047bc2
cmp esi, 1
je 0x140047c70
mov r15, rcx
sub r15, r10
dec r15
lea rax, [r15 + 0xf1]
shr rax, 8
sub r15, rax
lea rsi, [r15 + r9]
cmp r15, 0xf
jb 0x140047c25
mov byte [r10], 0xf0
lea rdi, [r15 - 0xf]
inc r10
mov qword [rsp + 0x70], r10
cmp rdi, 0xff
jb 0x140047c19
mov rax, rbx
mov rcx, r10
mul rdi
mov rbx, rdx
mov dl, 0xff
shr rbx, 7
mov r8, rbx
call fcn.1402d1c50
mov r10, qword [rsp + 0x70]
mov r9, qword [rsp + 0xa0]
add r10, rbx
imul rax, rbx, 0xffffffffffffff01
add rdi, rax
mov r8, r10
mov byte [r10], dil
lea rbx, [r10 + 1]
jmp 0x140047c3a
movzx eax, r15b
shl al, 4
mov byte [r10], al
inc r10
mov qword [rsp + 0x70], r10
mov rbx, r10
lea rcx, [r8 + 1]
mov rdx, r9
mov r8, r15
call fcn.1402d15b0
sub esi, dword [rsp + 0x198]
sub r15d, dword [rsp + 0x1a0]
mov rax, qword [rsp + 0x1a8]
lea r13d, [rbx + r15]
mov dword [rax], esi
jmp 0x140047c73
mov r14, qword [rsp + 0x98]
xor r13d, r13d
mov rcx, r14
call qword [fcn.1402d83b4]
mov eax, r13d
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret