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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov r14d, edx
mov r12, rcx
mov eax, dword [0x14000bf08]
mov ecx, dword [0x14000bf0c]
cmp ecx, 0xa
setl dl
cmp ecx, 9
setg cl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or cl, al
mov ebx, edx
xor bl, cl
xor dl, al
or dl, bl
xor cl, al
xor cl, dl
cmp bl, cl
jne 0x140004b29
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x10], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x40], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x50], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x58], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
movsxd rax, dword [r12 + 0x3c]
mov eax, dword [r12 + rax + 0x88]
add rax, r12
mov rcx, qword [rbp + 0x18]
mov qword [rcx], rax
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov eax, dword [rax + 0x20]
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
cmp dword [rax], 0
mov rax, qword [rbp - 0x58]
setne byte [rax]
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
mov dword [rax], 0x4f532856
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
mov eax, dword [0x14000bf10]
mov ecx, dword [0x14000bf14]
cmp ecx, 9
setg dl
cmp ecx, 0xa
setl cl
lea ebx, [rax + 1]
imul ebx, eax
and bl, 1
or bl, cl
cmp dl, bl
jne 0x140004cc1
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x10], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x40], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x50], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x58], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
movsxd rax, dword [r12 + 0x3c]
mov eax, dword [r12 + rax + 0x88]
add rax, r12
mov rcx, qword [rbp + 0x18]
mov qword [rcx], rax
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov eax, dword [rax + 0x20]
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
cmp dword [rax], 0
mov rax, qword [rbp - 0x58]
setne byte [rax]
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
mov dword [rax], 0x4f532856
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
mov eax, 0x10
call fcn.14000ae40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
jmp 0x14000496b
mov r13d, 0xfe08b92f
mov r15d, 0x7d31574
mov edx, dword [0x14000bf18]
mov ecx, dword [0x14000bf1c]
cmp ecx, 0xa
setl r10b
cmp ecx, 9
setg cl
lea ebx, [rdx + 1]
imul ebx, edx
test bl, 1
sete r8b
or cl, r8b
mov r9d, r10d
xor r9b, cl
mov ebx, r9d
xor bl, 1
xor r10b, r8b
mov edx, r10d
not dl
and dl, bl
mov eax, r10d
xor al, bl
xor al, dl
or bl, r10b
xor bl, al
xor cl, r8b
xor cl, bl
and cl, 1
or r10b, r9b
cmp r10b, cl
je 0x140004d5e
mov rax, qword [rbp + 0x30]
mov eax, dword [rax]
mov dword [rbp - 0x6c], eax
cmp dword [0x14000bf20], 0xa
jl 0x140004d69
mov eax, dword [0x14000bf24]
lea ecx, [rax - 0x1aced15e]
not ecx
lea edx, [rax + rax]
add edx, 0xe5312ea2
add ecx, edx
add ecx, 0xfffffffe
imul ecx, eax
and ecx, 1
je 0x140004d69
mov rax, qword [rbp + 0x30]
mov eax, dword [rax]
mov dword [rbp - 0x6c], eax
jmp 0x140004d28
mov eax, dword [rbp - 0x6c]
cmp eax, 0x38b5e48d
jge 0x140004dbb
cmp eax, 0x13974b9d
jge 0x140004e03
cmp eax, 0x6fac67a
jge 0x140004ee0
cmp eax, 0xaa7011b5
jne 0x1400051a8
cmp dword [0x14000bf28], 0xa
jl 0x14000585f
mov eax, dword [0x14000bf2c]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x1400058db
jmp 0x14000585f
cmp eax, 0x5745131e
jge 0x140004e86
cmp eax, 0x4f532856
jge 0x140004f3f
cmp eax, 0x38b5e48d
jne 0x1400051a8
cmp dword [0x14000bf30], 0xa
jl 0x140005b42
mov eax, dword [0x14000bf34]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x140005b89
jmp 0x140005b42
cmp eax, 0x1a346570
jge 0x140004fb9
cmp eax, 0x17d1df29
jge 0x140005033
cmp eax, 0x13974b9d
jne 0x1400051a8
cmp dword [0x14000bf38], 0xa
jl 0x1400057e3
mov eax, dword [0x14000bf3c]
mov ecx, eax
xor ecx, 0xee377a57
mov edx, eax
or edx, 0x11c885a8
add ecx, eax
sub ecx, edx
add ecx, 0x23910b52
mov edx, ecx
and edx, 1
xor ecx, 0xfffffffe
sub ecx, edx
xor edx, 1
lea ebx, [rcx + rdx]
add ebx, 2
add ecx, edx
mov edx, ebx
not edx
add edx, ecx
lea ecx, [rdx + rbx]
add ecx, 0xee377a5a
imul ecx, eax
and ecx, 1
jne 0x14000583e
jmp 0x1400057e3
cmp eax, 0x7232aa88
jge 0x140004ff6
cmp eax, 0x6990159c
jge 0x140005064
cmp eax, 0x5745131e
jne 0x1400051a8
mov eax, dword [0x14000bf40]
mov ecx, dword [0x14000bf44]
cmp ecx, 9
setg dl
cmp ecx, 0xa
setl cl
lea ebx, [rax + 1]
imul ebx, eax
and ebx, 1
sete al
and cl, bl
or al, dl
xor al, cl
and dl, bl
cmp dl, al
jne 0x140005955
jmp 0x1400059db
cmp eax, 0x7d31574
jge 0x1400050a7
cmp eax, 0x6fac67a
jne 0x1400051a8
cmp dword [0x14000bf48], 0xa
jl 0x140005a9d
mov eax, dword [0x14000bf4c]
mov ecx, eax
and ecx, 0x17794bd7
mov edx, eax
or edx, 0xe886b428
mov ebx, eax
not ebx
add edx, eax
add edx, ecx
add edx, ebx
neg edx
lea ecx, [rax + rdx]
add ecx, 0xd10d6852
imul ecx, eax
and ecx, 1
jne 0x140005b1e
jmp 0x140005a9d
cmp eax, 0x4f846a22
jge 0x1400050d4
cmp eax, 0x4f532856
jne 0x1400051a8
mov ecx, dword [0x14000bf50]
mov eax, dword [0x14000bf54]
cmp eax, 9
setg r8b
cmp eax, 0xa
setl al
mov edi, ecx
not edi
mov ebx, edi
add ebx, ecx
add ebx, edi
dec ebx
imul ebx, ecx
and ebx, 1
sete cl
or bl, al
and r8b, cl
xor al, cl
xor cl, bl
mov edx, ecx
xor dl, 1
xor al, r8b
xor al, bl
mov ebx, eax
not bl
mov r8d, eax
and r8b, dl
or bl, dl
and cl, al
xor cl, r8b
xor cl, bl
and cl, 1
cmp al, cl
jne 0x1400054a6
jmp 0x1400054e2
cmp eax, 0x25b19fe8
jge 0x140005156
cmp eax, 0x1a346570
jne 0x1400051a8
cmp dword [0x14000bf58], 0xa
jl 0x1400054fe
mov eax, dword [0x14000bf5c]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x14000560b
jmp 0x1400054fe
cmp eax, 0x73de13f1
jge 0x1400051a2
cmp eax, 0x7232aa88
jne 0x1400051a8
cmp dword [0x14000bf60], 0xa
jl 0x14000573a
mov eax, dword [0x14000bf64]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x1400057aa
jmp 0x14000573a
jne 0x1400051a8
cmp dword [0x14000bf68], 0xa
jl 0x140005408
mov eax, dword [0x14000bf6c]
mov ecx, 1
sub ecx, eax
imul ecx, eax
and ecx, 1
jne 0x140005442
jmp 0x140005408
jne 0x1400051a8
cmp dword [0x14000bf70], 0xa
jl 0x14000522b
mov eax, dword [0x14000bf74]
lea ecx, [rax + 0x2f95e08b]
not ecx
lea edx, [rax + rax]
add edx, 0x2f95e08b
add ecx, edx
add ecx, 0xd06a1f78
imul ecx, eax
and ecx, 1
jne 0x14000527a
jmp 0x14000522b
jne 0x1400051a8
cmp dword [0x14000bf78], 0xa
jl 0x140005458
mov eax, dword [0x14000bf7c]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x14000548f
jmp 0x140005458
jne 0x1400051a8
mov eax, dword [0x14000bf80]
cmp dword [0x14000bf84], 0xa
setl r8b
mov ecx, eax
mov edx, 0x3c1f71e3
and ecx, edx
mov ebx, eax
xor ebx, 0xc3e08e1c
mov edi, eax
xor edi, edx
lea esi, [rax + rcx]
add esi, ebx
add esi, edi
mov edx, ecx
sub edx, esi
neg esi
add ecx, esi
add ecx, 0xc3e08e1d
add edx, ecx
not ecx
add ecx, edx
dec ecx
imul ecx, eax
and ecx, 1
sete bl
or cl, r8b
mov edx, r8d
xor dl, bl
xor bl, cl
mov eax, ebx
not al
mov r9d, edx
and r9b, bl
or al, dl
xor al, r9b
xor cl, r8b
xor cl, al
and cl, 1
or bl, dl
cmp bl, cl
jne 0x1400052a9
jmp 0x14000531b
jne 0x1400051a8
cmp dword [0x14000bf88], 9
mov ebx, dword [0x14000bf8c]
setg cl
mov edx, ebx
or edx, 0x6599d446
mov eax, ebx
and eax, 0x9a662bb9
add edx, ebx
sub edx, eax
lea eax, [rdx + 1]
not eax
add eax, edx
inc eax
add eax, edx
inc eax
dec eax
imul eax, ebx
and eax, 1
sete dl
or dl, cl
cmp al, dl
jne 0x140005357
jmp 0x1400053bc
je 0x140005bac
cmp dword [0x14000bf90], 0xa
mov eax, dword [0x14000bf94]
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
test al, al
je 0x1400051ca
mov ecx, dword [0x14000bf98]
mov edx, dword [0x14000bf9c]
cmp edx, 9
setg al
cmp edx, 0xa
setl bl
mov edx, ecx
and edx, r13d
lea esi, [rdx + rcx]
xor edx, r13d
lea edi, [rsi + rdx]
not edi
add edx, esi
add edx, 0x3ee8da2
mov esi, edx
xor esi, 0xfffffffe
or edx, 0xfffffffe
and edi, 1
add edi, esi
sub edi, edx
mov edx, edi
not edx
add edi, edi
add edx, edi
add edx, 0xfffffffe
imul edx, ecx
and dl, 1
or dl, bl
xor dl, al
test dl, dl
je 0x140005222
jmp 0x140004ccd
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax]
cmp eax, 2
mov ecx, 0x38b5e48d
mov edx, 0x17d1df29
cmove ecx, edx
mov rdx, qword [rbp + 0x30]
mov dword [rdx], ecx
mov rcx, qword [rbp - 0x30]
mov dword [rcx], eax
cmp dword [0x14000bfa0], 0xa
jl 0x1400051ce
mov eax, dword [0x14000bfa4]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x1400051ce
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax]
cmp eax, 2
mov ecx, 0x38b5e48d
mov edx, 0x17d1df29
cmove ecx, edx
mov rdx, qword [rbp + 0x30]
mov dword [rdx], ecx
mov rcx, qword [rbp - 0x30]
mov dword [rcx], eax
jmp 0x14000522b
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
test eax, eax
mov ecx, 0x6990159c
mov edx, 0x25b19fe8
cmove ecx, edx
mov rdx, qword [rbp + 0x30]
mov dword [rdx], ecx
mov rcx, qword [rbp - 0x20]
mov dword [rcx], eax
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x68]
mov qword [rax], rcx
cmp dword [0x14000bfa8], 0xa
jl 0x1400051ce
mov eax, dword [0x14000bfac]
mov ecx, eax
xor ecx, 0xf021ec48
add ecx, 0xfbc2770
not ecx
lea edx, [rax + rax]
add edx, ecx
mov ecx, 0xf043d88e
sub ecx, edx
imul ecx, eax
and ecx, 1
je 0x1400051ce
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
test eax, eax
mov ecx, 0x6990159c
mov edx, 0x25b19fe8
cmove ecx, edx
mov rdx, qword [rbp + 0x30]
mov dword [rdx], ecx
mov rcx, qword [rbp - 0x20]
mov dword [rcx], eax
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x68]
mov qword [rax], rcx
jmp 0x1400052a9
mov eax, dword [rbp + 0x2c]
inc eax
mov rcx, qword [rbp + 0x30]
mov dword [rcx], 0x7232aa88
mov rcx, qword [rbp]
mov dword [rcx], eax
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x68]
mov qword [rax], rcx
mov edx, dword [0x14000bfb0]
mov ecx, dword [0x14000bfb4]
cmp ecx, 0xa
setl r8b
cmp ecx, 9
setg cl
lea ebx, [rdx + 1]
imul ebx, edx
test bl, 1
sete dl
mov eax, r8d
xor al, dl
jne 0x1400051ce
mov eax, edx
and al, cl
or r8b, dl
xor r8b, al
or dl, cl
xor dl, r8b
je 0x1400051ce
mov eax, dword [rbp + 0x2c]
lea ecx, [rax + rax]
sub ecx, eax
lea eax, [rcx - 0x56d10545]
mov edx, 0x56d10544
sub edx, ecx
or edx, 0x56d10546
lea ecx, [rdx + rax*2]
not eax
or eax, 0xa92efab9
add eax, ecx
add eax, 0x56d10548
mov rcx, qword [rbp + 0x30]
mov dword [rcx], 0x7232aa88
mov rcx, qword [rbp]
mov dword [rcx], eax
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x68]
mov qword [rax], rcx
jmp 0x140005357
mov rax, qword [rbp + 0x30]
mov dword [rax], 0x38b5e48d
mov rax, qword [rbp - 0x30]
mov dword [rax], 0
cmp dword [0x14000bfb8], 0xa
jl 0x1400051ce
mov eax, dword [0x14000bfbc]
mov ecx, 0xebb4314d
sub ecx, eax
imul ecx, eax
and ecx, 1
je 0x1400051ce
mov rax, qword [rbp + 0x30]
mov dword [rax], 0x38b5e48d
mov rax, qword [rbp - 0x30]
mov dword [rax], 0
jmp 0x140005408
mov rax, qword [rbp + 0x30]
mov dword [rax], 0x73de13f1
mov rax, qword [rbp - 0x38]
mov qword [rax], 0
cmp dword [0x14000bfc0], 0xa
jl 0x1400051ce
mov eax, dword [0x14000bfc4]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400051ce
mov rax, qword [rbp + 0x30]
mov dword [rax], 0x73de13f1
mov rax, qword [rbp - 0x38]
mov qword [rax], 0
jmp 0x140005458
mov rax, qword [rbp - 0x58]
cmp byte [rax], 0
mov eax, 0x7d31574
mov ecx, 0x1a346570
cmovne eax, ecx
mov rcx, qword [rbp + 0x30]
mov dword [rcx], eax
cmp dword [0x14000bfc8], 0xa
jl 0x1400051ce
mov eax, dword [0x14000bfcc]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x1400051ce
mov rax, qword [rbp - 0x58]
cmp byte [rax], 0
mov eax, 0x7d31574
mov ecx, 0x1a346570
cmovne eax, ecx
mov rcx, qword [rbp + 0x30]
mov dword [rcx], eax
jmp 0x1400054a6
mov rax, qword [rbp + 0x20]
mov qword [rax], r12
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov eax, dword [rax + 0x24]
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx]
mov rdx, rax
lea rbx, [rax - 1]
add rax, rcx
neg rcx
neg rdx
mov rdi, rcx
and rdi, rdx
or rdx, rcx
xor rbx, rcx
add rax, rdx
sub rax, rdi
add rax, rbx
inc rax
mov rcx, qword [rbp - 0x50]
mov qword [rcx], rax
mov rax, qword [rbp + 8]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x20]
mov rdi, qword [rcx]
lea rdx, [rax - 1]
lea rbx, [rax + rdi]
dec rbx
neg rax
mov rcx, rdi
neg rcx
xor rdx, rcx
or rcx, rax
lea rsi, [rdi - 1]
or rsi, rax
add rdx, rdi
sub rbx, rcx
sub rbx, rdx
lea rax, [rbx + rsi]
inc rax
mov rcx, qword [rbp - 0x48]
mov qword [rcx], rax
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov eax, dword [rax + 0x1c]
mov rcx, qword [rbp + 0x20]
mov rsi, qword [rcx]
mov rdx, rax
neg rdx
mov rcx, rsi
or rcx, rdx
not rcx
mov rbx, rsi
xor rbx, rdx
mov rdi, rsi
not rdi
or rdi, rdx
add rcx, rax
add rcx, rbx
add rcx, rdi
lea rax, [rcx + rsi*2]
add rax, 2
mov rcx, qword [rbp - 0x40]
mov qword [rcx], rax
mov rax, qword [rbp + 0x30]
mov dword [rax], 0x7232aa88
mov rax, qword [rbp]
mov dword [rax], 0
mov rax, qword [rbp - 8]
cmp dword [0x14000bfd0], 0xa
jl 0x1400051ce
mov eax, dword [0x14000bfd4]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400051ce
mov rax, qword [rbp + 0x20]
mov qword [rax], r12
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov eax, dword [rax + 0x24]
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx]
movabs rbx, 0xffffffff7a949e7f
lea rdx, [rbx - 0x2c850cc]
and rdx, rcx
add rdx, rbx
and ecx, 0x8833b24c
lea rbx, [rcx + rdx]
inc rbx
add rcx, rdx
add rcx, 0xfffffffffd37af36
sub rax, rcx
lea rcx, [rax + rbx*2]
add rcx, 0xfffffffffa6f5e6a
lea rax, [rax + rbx*2]
add rax, 0xfffffffffa6f5e68
mov edx, 0x856b6180
sub rdx, rax
lea rax, [rdx + rcx*2]
add rax, 0x2c850c9
mov rcx, qword [rbp - 0x50]
mov qword [rcx], rax
mov rax, qword [rbp + 8]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx]
mov rdx, rax
neg rdx
mov rbx, rcx
and rbx, rdx
add rbx, rax
not rcx
or rcx, rdx
not rcx
add rcx, rbx
mov rax, qword [rbp - 0x48]
mov qword [rax], rcx
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov eax, dword [rax + 0x1c]
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx]
mov rdx, rcx
mov rdi, 0xfffffffff271817c
or rdx, rdi
or rcx, 0xd8e7e83
lea rbx, [rdx + rcx]
add rcx, rdx
add rcx, 0xfffffffff271817e
mov rdx, rax
not rdx
and rdx, rcx
or rcx, rax
not rcx
lea rax, [rbx + rax*2]
add rax, 0xfffffffff271817f
add rax, rdx
add rax, rcx
mov rcx, rax
xor rcx, rdi
and rax, rdi
lea rax, [rcx + rax*2]
add rax, 0x1b1cfd07
mov rcx, qword [rbp - 0x40]
mov qword [rcx], rax
mov rax, qword [rbp + 0x30]
mov dword [rax], 0x7232aa88
mov rax, qword [rbp]
mov dword [rax], 0
mov rax, qword [rbp - 8]
jmp 0x1400054fe
mov rax, qword [rbp - 8]
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp]
mov eax, dword [rax]
mov dword [rbp + 0x2c], eax
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov ecx, dword [rbp + 0x2c]
cmp ecx, dword [rax + 0x18]
mov eax, 0x13974b9d
mov ecx, 0xaa7011b5
cmovb eax, ecx
mov rcx, qword [rbp + 0x30]
mov dword [rcx], eax
mov ebx, dword [0x14000bfd8]
mov ecx, dword [0x14000bfdc]
cmp ecx, 9
setg al
cmp ecx, 0xa
setl dl
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete bl
test dl, bl
jne 0x1400051ce
and cl, dl
xor cl, dl
xor cl, bl
or al, bl
xor al, cl
je 0x1400051ce
mov rax, qword [rbp - 8]
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp]
mov eax, dword [rax]
mov dword [rbp + 0x2c], eax
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov ecx, dword [rbp + 0x2c]
cmp ecx, dword [rax + 0x18]
mov eax, 0x13974b9d
mov ecx, 0xaa7011b5
cmovb eax, ecx
mov rcx, qword [rbp + 0x30]
mov dword [rcx], eax
jmp 0x14000573a
mov rax, qword [rbp + 0x30]
mov dword [rax], 0x6990159c
mov rax, qword [rbp - 0x20]
mov dword [rax], 2
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x60]
mov qword [rax], rcx
mov ebx, dword [0x14000bfe0]
mov ecx, dword [0x14000bfe4]
cmp ecx, 0xa
setl al
cmp ecx, 9
setg dl
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete bl
test al, bl
jne 0x1400051ce
and dl, bl
xor bl, al
xor bl, dl
or cl, al
xor cl, bl
je 0x1400051ce
mov rax, qword [rbp + 0x30]
mov dword [rax], 0x6990159c
mov rax, qword [rbp - 0x20]
mov dword [rax], 2
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x60]
mov qword [rax], rcx
jmp 0x1400057e3
mov eax, dword [rbp + 0x2c]
mov rcx, qword [rbp + 0x10]
mov qword [rcx], rax
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x10]
mov rcx, qword [rcx]
mov ecx, dword [rax + rcx*4]
mov rax, qword [rbp + 0x20]
add rcx, qword [rax]
sub rsp, 0x20
call fcn.140001a0e
add rsp, 0x20
mov ebx, eax
sub rsp, 0x20
mov ecx, r14d
call fcn.14000190c
add rsp, 0x20
cmp ebx, eax
mov eax, 0x6fac67a
mov ecx, 0x5745131e
cmove eax, ecx
mov rcx, qword [rbp + 0x30]
mov dword [rcx], eax
cmp dword [0x14000bfe8], 0xa
jl 0x1400051ce
mov eax, dword [0x14000bfec]
mov ecx, 1
sub ecx, eax
imul ecx, eax
and ecx, 1
je 0x1400051ce
mov eax, dword [rbp + 0x2c]
mov rcx, qword [rbp + 0x10]
mov qword [rcx], rax
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x10]
mov rcx, qword [rcx]
mov eax, dword [rax + rcx*4]
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx]
mov rdx, rax
neg rdx
lea rbx, [rax - 1]
and rbx, rcx
add rax, rcx
not rcx
or rcx, rdx
add rax, rbx
add rcx, rax
inc rcx
sub rsp, 0x20
call fcn.140001a0e
add rsp, 0x20
mov ebx, eax
sub rsp, 0x20
mov ecx, r14d
call fcn.14000190c
add rsp, 0x20
cmp ebx, eax
mov eax, 0x6fac67a
mov ecx, 0x5745131e
cmove eax, ecx
mov rcx, qword [rbp + 0x30]
mov dword [rcx], eax
jmp 0x14000585f
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x10]
mov rcx, qword [rcx]
movzx eax, word [rax + rcx*2]
mov rcx, qword [rbp - 0x40]
mov rcx, qword [rcx]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx]
mov rdx, rax
neg rdx
mov rbx, rcx
xor rbx, rdx
mov rdi, rcx
or rdi, rdx
and rdx, rcx
add rax, rcx
add rax, rdx
add rax, rbx
sub rax, rdi
mov rcx, qword [rbp + 0x30]
mov dword [rcx], 0x4f846a22
mov rcx, qword [rbp - 0x10]
mov edx, 1
mov dword [rcx], edx
mov rcx, qword [rbp - 0x18]
mov qword [rcx], rax
cmp dword [0x14000bff0], 0xa
jl 0x1400051ce
mov eax, dword [0x14000bff4]
mov ecx, 1
sub ecx, eax
imul ecx, eax
and ecx, 1
je 0x1400051ce
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x10]
mov rcx, qword [rcx]
movzx eax, word [rax + rcx*2]
mov rcx, qword [rbp - 0x40]
mov rcx, qword [rcx]
mov r8d, dword [rcx + rax*4]
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx]
mov rdx, rcx
movabs r9, 0xffffffff7a949e7f
and rdx, r9
mov rbx, rcx
xor rbx, r9
mov rdi, rcx
mov r10d, 0x856b6180
xor rdi, r10
lea rsi, [r10 + rcx]
not rcx
or rcx, r10
add rsi, rdx
add rsi, rbx
add rsi, rdi
lea rdx, [rsi + rcx]
add rcx, rsi
add rcx, 2
mov rax, r8
not rax
mov rbx, rcx
and rbx, rax
mov rdi, rcx
xor rdi, r8
or rax, rcx
not rcx
or rcx, r8
add rdx, r8
add rdx, 2
sub rdx, rdi
sub rdx, rax
add rdx, rcx
lea rax, [rdx + rbx*2]
mov rcx, rax
or rcx, r9
not rax
or rax, r10
sub rcx, rax
mov rax, qword [rbp + 0x30]
mov dword [rax], 0x4f846a22
mov rax, qword [rbp - 0x10]
mov dword [rax], 1
mov rax, qword [rbp - 0x18]
mov qword [rax], rcx
jmp 0x140005955
mov rax, qword [rbp + 0x30]
mov dword [rax], 0x4f846a22
mov rax, qword [rbp - 0x10]
mov dword [rax], 0
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x60]
mov qword [rax], rcx
mov ecx, dword [0x14000bff8]
cmp dword [0x14000bffc], 0xa
setl al
lea edx, [rcx + rcx]
add edx, 0x31093799
add edx, ecx
add edx, 0x31093798
imul edx, ecx
and edx, 1
sete r8b
mov ebx, eax
and bl, dl
mov ecx, eax
or cl, r8b
or dl, al
xor dl, bl
xor dl, cl
xor al, r8b
mov ecx, eax
mov ebx, eax
xor al, dl
xor dl, 1
xor cl, 1
mov r8d, ecx
and r8b, dl
or bl, dl
xor bl, r8b
xor al, bl
and al, 1
or cl, dl
cmp cl, al
jne 0x1400051ce
mov rax, qword [rbp + 0x30]
mov dword [rax], 0x4f846a22
mov rax, qword [rbp - 0x10]
mov dword [rax], 0
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x60]
mov qword [rax], rcx
jmp 0x140005a9d
mov rax, qword [rbp - 0x30]
cmp dword [rax], 0
mov eax, 0x73de13f1
cmove eax, r15d
mov rcx, qword [rbp + 0x30]
mov dword [rcx], eax
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x78]
mov qword [rax], rcx
cmp dword [0x14000c000], 0xa
jl 0x1400051ce
mov eax, dword [0x14000c004]
mov ecx, 1
sub ecx, eax
imul ecx, eax
and ecx, 1
je 0x1400051ce
mov rax, qword [rbp - 0x30]
cmp dword [rax], 0
mov eax, 0x73de13f1
cmove eax, r15d
mov rcx, qword [rbp + 0x30]
mov dword [rcx], eax
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x78]
mov qword [rax], rcx
jmp 0x140005b42
mov eax, dword [0x14000c008]
cmp dword [0x14000c00c], 0xa
setl cl
lea edx, [rax + 1]
imul edx, eax
and edx, 1
sete al
or dl, cl
xor dl, al
mov ebx, edx
xor bl, 1
xor cl, al
mov r8d, ecx
or r8b, bl
xor cl, 1
mov eax, edx
and al, cl
xor al, r8b
or cl, bl
xor cl, al
and cl, 1
cmp dl, cl
jne 0x140005c1f
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
mov eax, dword [0x14000c010]
cmp dword [0x14000c014], 9
setg cl
mov edx, 1
sub edx, eax
imul edx, eax
and edx, 1
sete al
or al, cl
cmp dl, al
jne 0x140005c2c
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
jmp 0x140005bee
mov rax, qword [rbp - 0x80]
lea rsp, [rbp + 0x38]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret