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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
movaps xmmword [rsp + 0xa0], xmm6
mov eax, dword [rsp + 0x120]
mov r14d, dword [r9]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x128]
mov r13, rcx
mov dword [rsp + 0x7c], edx
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x68], rax
mov eax, r14d
and eax, 0xffffffcf
mov dword [r9], eax
mov eax, r14d
and eax, 7
cmp eax, 3
je 0x1400e3d23
mov r12d, r14d
and r12d, 4
jne 0x1400e3d12
test eax, eax
je 0x1400e3e54
mov ebp, dword [rcx]
mov eax, 0x20
xor ecx, ecx
jmp 0x1400e3d7f
cmp eax, 4
je 0x1400e3d42
xor edi, edi
mov qword [rsp + 0x28], rdi
jmp 0x1400e4bba
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
mov r8d, 8
lea rcx, str.Infinity
mov dword [rax], 0xffff8000
jmp 0x1400e3d5f
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
mov r8d, 3
lea rcx, [0x1401e16b9]
mov dword [rax], 0xffff8000
movaps xmm6, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400e3aec
cmp ebp, eax
jle 0x1400e3d89
add eax, eax
inc ecx
jmp 0x1400e3d7f
call fcn.1400e4e03
mov rsi, qword [rsp + 0x58]
xor edx, edx
mov rbx, rax
lea eax, [rbp - 1]
sar eax, 5
cdqe
lea rcx, [rsi + rax*4]
mov rsi, qword [rsp + 0x58]
mov r8d, dword [rsi + rdx]
mov dword [rbx + rdx + 0x18], r8d
add rdx, 4
lea r8, [rsi + rdx]
cmp rcx, r8
jae 0x1400e3da4
lea rdx, [rsi + 1]
inc rcx
lea rax, [rax*4 + 4]
cmp rcx, rdx
mov edx, 4
cmovb rax, rdx
sar rax, 2
cmp dword [rbx + rax*4 + 0x14], 0
jne 0x1400e3df7
dec rax
mov dword [rsp + 0x60], eax
test eax, eax
jne 0x1400e3dde
xor esi, esi
mov dword [rbx + 0x14], esi
jmp 0x1400e3e11
lea edx, [rax - 1]
mov dword [rbx + 0x14], eax
shl eax, 5
movsxd rdx, edx
bsr edx, dword [rbx + rdx*4 + 0x18]
xor edx, 0x1f
sub eax, edx
mov dword [rsp + 0x60], eax
mov rcx, rbx
call fcn.1400e4ccb
mov r9d, dword [rsp + 0x7c]
mov dword [rsp + 0x9c], eax
mov edx, eax
test eax, eax
je 0x1400e3e46
mov rcx, rbx
call fcn.1400e4be0
mov eax, dword [rsp + 0x9c]
sub dword [rsp + 0x60], eax
mov edi, dword [rsp + 0x7c]
lea r9d, [rax + rdi]
cmp dword [rbx + 0x14], 0
jne 0x1400e3e80
mov rcx, rbx
call fcn.1400e4eb7
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
mov r8d, 1
lea rcx, [0x1401e16bd]
mov dword [rax], 1
call fcn.1400e3aec
mov qword [rsp + 0x28], rax
jmp 0x1400e4bba
lea rdx, [rsp + 0x9c]
mov rcx, rbx
mov dword [rsp + 0x20], r9d
call fcn.1400e5471
mov eax, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x20]
movq r10, xmm0
mov rcx, r10
add eax, r9d
mov r10d, r10d
shr rcx, 0x20
lea edx, [rax - 1]
and ecx, 0xfffff
cvtsi2sd xmm1, edx
mulsd xmm1, qword [0x1401e16d8]
or ecx, 0x3ff00000
mov r8, rcx
shl r8, 0x20
or r10, r8
mov r8d, edx
movq xmm0, r10
subsd xmm0, qword [0x1401e16c0]
mulsd xmm0, qword [0x1401e16c8]
addsd xmm0, qword [0x1401e16d0]
addsd xmm0, xmm1
test edx, edx
jns 0x1400e3f06
mov r8d, 1
sub r8d, eax
sub r8d, 0x435
test r8d, r8d
jle 0x1400e3f23
cvtsi2sd xmm1, r8d
mulsd xmm1, qword [0x1401e16e0]
addsd xmm0, xmm1
xorps xmm1, xmm1
cvttsd2si esi, xmm0
comisd xmm1, xmm0
jbe 0x1400e3f3e
cvtsi2sd xmm1, esi
ucomisd xmm1, xmm0
jp 0x1400e3f3c
je 0x1400e3f3e
dec esi
mov r8d, edx
mov r10d, r10d
mov dword [rsp + 0x78], 1
shl r8d, 0x14
add ecx, r8d
mov ecx, ecx
shl rcx, 0x20
or r10, rcx
movq xmm6, r10
cmp esi, 0x16
ja 0x1400e3f86
mov r8, qword [0x1401e1ad0]
movsxd rcx, esi
movsd xmm0, qword [r8 + rcx*8]
comisd xmm0, xmm6
jbe 0x1400e3f7e
dec esi
xor r11d, r11d
mov dword [rsp + 0x78], r11d
mov ecx, dword [rsp + 0x60]
xor r8d, r8d
mov dword [rsp + 0x44], r8d
sub ecx, edx
mov edi, ecx
dec edi
mov dword [rsp + 0x48], edi
jns 0x1400e3faf
mov edx, 1
sub edx, ecx
xor ecx, ecx
mov dword [rsp + 0x44], edx
mov dword [rsp + 0x48], ecx
test esi, esi
js 0x1400e3fc0
add dword [rsp + 0x48], esi
xor r15d, r15d
mov dword [rsp + 0x64], esi
jmp 0x1400e3fd0
xor edx, edx
sub dword [rsp + 0x44], esi
mov r15d, esi
mov dword [rsp + 0x64], edx
neg r15d
cmp dword [rsp + 0x34], 9
ja 0x1400e3fe8
cmp dword [rsp + 0x34], 5
jle 0x1400e3fee
sub dword [rsp + 0x34], 4
xor r8d, r8d
jmp 0x1400e3fff
xor edi, edi
mov dword [rsp + 0x34], edi
add eax, 0x3fd
xor r8d, r8d
cmp eax, 0x7f7
setbe r8b
cmp dword [rsp + 0x34], 4
je 0x1400e405a
cmp dword [rsp + 0x34], 5
je 0x1400e4082
cmp dword [rsp + 0x34], 2
mov dword [rsp + 0x40], 0
je 0x1400e4062
cmp dword [rsp + 0x34], 3
je 0x1400e408a
cvtsi2sd xmm0, ebp
xor r11d, r11d
mov dword [rsp + 0x40], 1
or edi, 0xffffffff
mulsd xmm0, qword [0x1401e16e8]
mov dword [rsp + 0x54], r11d
mov dword [rsp + 0x50], 0xffffffff
cvttsd2si eax, xmm0
add eax, 3
mov dword [rsp + 0x9c], eax
jmp 0x1400e40a8
mov dword [rsp + 0x40], 1
cmp dword [rsp + 0x54], 0
mov edi, 1
cmovg edi, dword [rsp + 0x54]
mov dword [rsp + 0x9c], edi
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x54], edi
jmp 0x1400e40a8
mov dword [rsp + 0x40], 1
mov eax, dword [rsp + 0x54]
add eax, esi
lea edi, [rax + 1]
mov dword [rsp + 0x50], eax
mov eax, 1
test edi, edi
cmovg eax, edi
mov dword [rsp + 0x9c], eax
mov ecx, dword [rsp + 0x9c]
mov qword [rsp + 0x88], r10
mov dword [rsp + 0x3c], r8d
mov dword [rsp + 0x20], r9d
call fcn.1400e3ac0
mov r9d, dword [rsp + 0x20]
mov r8d, dword [rsp + 0x3c]
mov qword [rsp + 0x28], rax
mov eax, dword [r13 + 0xc]
mov r10, qword [rsp + 0x88]
dec eax
mov dword [rsp + 0x38], eax
je 0x1400e410c
mov eax, 2
cmovns eax, dword [rsp + 0x38]
and r14d, 8
mov dword [rsp + 0x38], eax
je 0x1400e410c
mov ecx, dword [rsp + 0x38]
mov eax, 3
sub eax, ecx
mov dword [rsp + 0x38], eax
cmp edi, 0xe
setbe dl
and dl, r8b
je 0x1400e434e
mov eax, dword [rsp + 0x38]
or eax, esi
mov dword [rsp + 0x3c], eax
jne 0x1400e434e
xor r8d, r8d
cmp dword [rsp + 0x78], 0
movaps xmm0, xmm6
mov dword [rsp + 0x9c], r8d
je 0x1400e417d
movsd xmm1, qword [0x1401e16f0]
comisd xmm1, xmm6
jbe 0x1400e417d
test edi, edi
je 0x1400e4181
cmp dword [rsp + 0x50], 0
jle 0x1400e434e
mulsd xmm0, qword [0x1401e16f8]
mov eax, dword [rsp + 0x50]
mov ecx, 3
mov dword [rsp + 0x3c], 0xffffffff
movq r10, xmm0
jmp 0x1400e4188
mov eax, edi
jmp 0x1400e4183
xor eax, eax
mov ecx, 2
cvtsi2sd xmm1, ecx
movq xmm0, r10
mulsd xmm1, xmm0
addsd xmm1, qword [0x1401e1700]
movq rcx, xmm1
mov r8, rcx
mov ecx, ecx
shr r8, 0x20
sub r8d, 0x3400000
shl r8, 0x20
or rcx, r8
test eax, eax
jne 0x1400e41ea
subsd xmm0, qword [0x1401e1708]
movq xmm1, rcx
comisd xmm0, xmm1
ja 0x1400e475b
xorps xmm1, xmmword [0x1401e1710]
comisd xmm1, xmm0
ja 0x1400e438f
jmp 0x1400e434e
mov r8, qword [0x1401e1ad0]
movq xmm1, rcx
lea ecx, [rax - 1]
cmp dword [rsp + 0x40], 0
movsxd rcx, ecx
movsd xmm3, qword [r8 + rcx*8]
je 0x1400e42a1
movsd xmm2, qword [0x1401e1720]
mov r14, qword [rsp + 0x28]
divsd xmm2, xmm3
movsd xmm3, qword [0x1401e16f0]
subsd xmm2, xmm1
movsd xmm1, qword [0x1401e16f8]
cvttsd2si edx, xmm0
inc r14
cvtsi2sd xmm4, edx
add edx, 0x30
mov byte [r14 - 1], dl
subsd xmm0, xmm4
comisd xmm2, xmm0
jbe 0x1400e426d
xorps xmm1, xmm1
xor eax, eax
mov edx, 1
ucomisd xmm0, xmm1
setp al
cmovne eax, edx
shl eax, 4
mov r12d, eax
jmp 0x1400e4b86
movaps xmm4, xmm3
subsd xmm4, xmm0
comisd xmm2, xmm4
ja 0x1400e4423
mov ecx, dword [rsp + 0x9c]
lea edx, [rcx + 1]
mov dword [rsp + 0x9c], edx
cmp edx, eax
jge 0x1400e434e
mulsd xmm2, xmm1
mulsd xmm0, xmm1
jmp 0x1400e4232
mulsd xmm1, xmm3
mov r14, qword [rsp + 0x28]
mov ecx, 1
xor r8d, r8d
movsd xmm2, qword [0x1401e16f8]
mov dword [rsp + 0x9c], ecx
cvttsd2si ecx, xmm0
test ecx, ecx
je 0x1400e42d4
cvtsi2sd xmm3, ecx
mov r8d, edx
subsd xmm0, xmm3
add ecx, 0x30
inc r14
mov byte [r14 - 1], cl
mov ecx, dword [rsp + 0x9c]
cmp ecx, eax
jne 0x1400e4340
movsd xmm2, qword [0x1401e1720]
movq rax, xmm0
test r8b, r8b
movaps xmm3, xmm1
cmovne r10, rax
addsd xmm3, xmm2
movq xmm0, r10
comisd xmm0, xmm3
ja 0x1400e4423
subsd xmm2, xmm1
comisd xmm2, xmm0
jbe 0x1400e434e
xorps xmm1, xmm1
xor eax, eax
mov edx, 1
mov esi, dword [rsp + 0x3c]
ucomisd xmm0, xmm1
setp al
cmovne eax, edx
shl eax, 4
mov r12d, eax
jmp 0x1400e4459
mulsd xmm0, xmm2
inc ecx
mov r8d, edx
jmp 0x1400e42ba
test r9d, r9d
js 0x1400e447e
cmp dword [r13 + 0x14], esi
jl 0x1400e447e
mov rdx, qword [0x1401e1ad0]
movsxd rax, esi
cmp dword [rsp + 0x54], 0
movsd xmm0, qword [rdx + rax*8]
jns 0x1400e439d
test edi, edi
jg 0x1400e439d
jne 0x1400e438f
mulsd xmm0, qword [0x1401e1708]
comisd xmm0, xmm6
jb 0x1400e4757
xor ecx, ecx
xor ebp, ebp
mov qword [rsp + 0x20], rcx
jmp 0x1400e473b
mov r14, qword [rsp + 0x28]
movsd xmm2, qword [0x1401e16f8]
xorps xmm3, xmm3
mov dword [rsp + 0x9c], 1
movaps xmm1, xmm6
inc r14
divsd xmm1, xmm0
cvttsd2si edx, xmm1
cvtsi2sd xmm1, edx
lea eax, [rdx + 0x30]
mov byte [r14 - 1], al
mulsd xmm1, xmm0
subsd xmm6, xmm1
ucomisd xmm6, xmm3
jp 0x1400e43e5
je 0x1400e4b8a
mov eax, dword [rsp + 0x9c]
cmp eax, edi
jne 0x1400e446c
cmp dword [rsp + 0x38], 0
je 0x1400e440a
cmp dword [rsp + 0x38], 1
mov r12d, 0x10
jne 0x1400e4b8a
jmp 0x1400e4427
addsd xmm6, xmm6
comisd xmm6, xmm0
ja 0x1400e4427
ucomisd xmm6, xmm0
jp 0x1400e4453
jne 0x1400e4453
and dl, 1
je 0x1400e4453
jmp 0x1400e4427
mov esi, dword [rsp + 0x3c]
mov rax, r14
mov r14, rax
dec rax
cmp byte [rax], 0x39
jne 0x1400e4446
cmp qword [rsp + 0x28], rax
jne 0x1400e442a
mov rdi, qword [rsp + 0x28]
inc esi
mov byte [rdi], 0x30
inc byte [rax]
mov r12d, 0x20
jmp 0x1400e4b8a
mov r12d, 0x10
mov rax, r14
mov r14, rax
dec rax
cmp byte [rax], 0x30
je 0x1400e445c
jmp 0x1400e4b8a
mulsd xmm6, xmm2
inc eax
mov dword [rsp + 0x9c], eax
jmp 0x1400e43b8
cmp dword [rsp + 0x40], 0
je 0x1400e4549
mov ecx, dword [rsp + 0x60]
mov eax, ebp
sub eax, ecx
mov ecx, r9d
lea edx, [rax + 1]
sub ecx, eax
mov dword [rsp + 0x9c], edx
mov edx, dword [r13 + 4]
cmp ecx, edx
jge 0x1400e44db
mov eax, dword [rsp + 0x34]
sub eax, 3
and eax, 0xfffffffd
jne 0x1400e44be
lea eax, [rdi - 1]
cmp r15d, eax
jge 0x1400e44e7
jmp 0x1400e44f3
sub r9d, edx
inc r9d
cmp r9d, edi
mov dword [rsp + 0x9c], r9d
setg dl
test edi, edi
setg al
test dl, al
je 0x1400e44e2
cmp dword [rsp + 0x34], 1
jg 0x1400e44b4
mov r8d, r15d
jmp 0x1400e4509
mov r8d, r15d
sub r8d, eax
test edi, edi
js 0x1400e4510
jmp 0x1400e4502
mov edx, eax
xor r8d, r8d
sub edx, r15d
add dword [rsp + 0x64], edx
mov r15d, eax
mov dword [rsp + 0x9c], edi
mov r14d, dword [rsp + 0x44]
jmp 0x1400e4521
xor edx, edx
mov r14d, dword [rsp + 0x44]
mov dword [rsp + 0x9c], edx
sub r14d, edi
mov ecx, 1
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x20], r8d
add dword [rsp + 0x44], eax
add dword [rsp + 0x48], eax
call fcn.1400e4fa3
mov r8d, dword [rsp + 0x20]
mov rbp, rax
jmp 0x1400e4553
mov r14d, dword [rsp + 0x44]
mov r8d, r15d
xor ebp, ebp
test r14d, r14d
jle 0x1400e457c
cmp dword [rsp + 0x48], 0
jle 0x1400e457c
mov eax, dword [rsp + 0x48]
cmp r14d, eax
cmovle eax, r14d
sub dword [rsp + 0x44], eax
sub dword [rsp + 0x48], eax
mov dword [rsp + 0x9c], eax
sub r14d, eax
test r15d, r15d
je 0x1400e45da
cmp dword [rsp + 0x40], 0
je 0x1400e45cc
test r8d, r8d
je 0x1400e45c2
mov edx, r8d
mov rcx, rbp
mov dword [rsp + 0x3c], r8d
call fcn.1400e50e9
mov rdx, rbx
mov rcx, rax
mov rbp, rax
call fcn.1400e4fc9
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400e4eb7
mov rbx, qword [rsp + 0x20]
mov r8d, dword [rsp + 0x3c]
mov edx, r15d
sub edx, r8d
je 0x1400e45da
jmp 0x1400e45cf
mov edx, r15d
mov rcx, rbx
call fcn.1400e50e9
mov rbx, rax
mov ecx, 1
call fcn.1400e4fa3
cmp dword [rsp + 0x64], 0
mov qword [rsp + 0x20], rax
je 0x1400e4601
mov edx, dword [rsp + 0x64]
mov rcx, rax
call fcn.1400e50e9
mov qword [rsp + 0x20], rax
cmp dword [rsp + 0x60], 1
jne 0x1400e4630
cmp dword [rsp + 0x34], 1
jg 0x1400e4630
mov eax, dword [r13 + 4]
mov ecx, dword [rsp + 0x7c]
xor r15d, r15d
inc eax
cmp eax, ecx
jge 0x1400e4633
inc dword [rsp + 0x44]
mov r15d, 1
inc dword [rsp + 0x48]
jmp 0x1400e4633
xor r15d, r15d
cmp dword [rsp + 0x64], 0
mov r13d, 0x1f
je 0x1400e465f
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x20]
mov eax, dword [rax + 0x14]
mov dword [rsp + 0x3c], eax
dec eax
cdqe
bsr r13d, dword [rdx + rax*4 + 0x18]
xor r13d, 0x1f
mov eax, dword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
sub r13d, eax
sub r13d, 4
and r13d, 0x1f
add edx, r13d
mov dword [rsp + 0x9c], r13d
test edx, edx
jle 0x1400e468c
mov rcx, rbx
call fcn.1400e51f7
mov rbx, rax
mov edx, dword [rsp + 0x48]
add edx, dword [rsp + 0x9c]
test edx, edx
jle 0x1400e46aa
mov rcx, qword [rsp + 0x20]
call fcn.1400e51f7
mov qword [rsp + 0x20], rax
cmp dword [rsp + 0x78], 0
je 0x1400e46c2
mov rdx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.1400e52f4
test eax, eax
js 0x1400e46cc
mov dword [rsp + 0x3c], esi
mov dword [rsp + 0x50], edi
jmp 0x1400e4700
lea eax, [rsi - 1]
xor r8d, r8d
mov rcx, rbx
mov edx, 0xa
mov dword [rsp + 0x3c], eax
call fcn.1400e4f03
cmp dword [rsp + 0x40], 0
mov rbx, rax
je 0x1400e4700
mov rcx, rbp
xor r8d, r8d
mov edx, 0xa
call fcn.1400e4f03
mov rbp, rax
cmp dword [rsp + 0x50], 0
jg 0x1400e477b
cmp dword [rsp + 0x34], 2
jle 0x1400e477b
cmp dword [rsp + 0x50], 0
jne 0x1400e473b
mov rcx, qword [rsp + 0x20]
xor r8d, r8d
mov edx, 5
call fcn.1400e4f03
mov rcx, rbx
mov rdx, rax
mov qword [rsp + 0x20], rax
call fcn.1400e52f4
test eax, eax
jg 0x1400e4764
mov eax, dword [rsp + 0x54]
mov r14, qword [rsp + 0x28]
xor esi, esi
mov r12d, 0x10
not eax
mov dword [rsp + 0x3c], eax
jmp 0x1400e4b5d
mov dword [rsp + 0x3c], esi
xor eax, eax
xor ebp, ebp
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x28]
inc dword [rsp + 0x3c]
xor esi, esi
mov byte [rax], 0x31
lea r14, [rax + 1]
jmp 0x1400e49f0
cmp dword [rsp + 0x40], 0
je 0x1400e4a6d
lea edx, [r13 + r14]
test edx, edx
jle 0x1400e479a
mov rcx, rbp
call fcn.1400e51f7
mov rbp, rax
mov rax, rbp
test r15d, r15d
je 0x1400e47d0
mov ecx, dword [rbp + 8]
lea rsi, [rbp + 0x10]
call fcn.1400e4e03
movsxd rcx, dword [rbp + 0x14]
lea rdx, [rax + 0x10]
mov rdi, rdx
lea rcx, [rcx*4 + 8]
mov edx, 1
rep movsb byte [rdi], byte [rsi]
mov rcx, rax
call fcn.1400e51f7
mov edx, dword [rsp + 0x40]
mov r13, qword [rsp + 0x28]
mov rsi, rbp
mov rbp, rax
mov dword [rsp + 0x9c], edx
mov rdx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.1400e3b43
mov rdx, rsi
mov rcx, rbx
mov dword [rsp + 0x44], eax
lea r15d, [rax + 0x30]
call fcn.1400e52f4
mov rcx, qword [rsp + 0x20]
mov rdx, rbp
mov edi, eax
call fcn.1400e533a
mov r14d, dword [rsp + 0x40]
cmp dword [rax + 0x10], 0
mov rdx, rax
jne 0x1400e4838
mov rcx, rbx
mov qword [rsp + 0x48], rax
call fcn.1400e52f4
mov rdx, qword [rsp + 0x48]
mov r14d, eax
mov rcx, rdx
call fcn.1400e4eb7
mov eax, dword [rsp + 0x34]
or eax, r14d
jne 0x1400e489d
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
mov dword [rsp + 0x48], eax
and eax, 1
or eax, dword [rsp + 0x38]
jne 0x1400e489d
cmp r15d, 0x39
je 0x1400e49d8
test edi, edi
jg 0x1400e488f
cmp dword [rbx + 0x14], 1
mov r12d, 0x10
jg 0x1400e49b5
xor eax, eax
cmp dword [rbx + 0x18], 0
setne al
shl eax, 4
mov r12d, eax
jmp 0x1400e49b5
mov r15d, dword [rsp + 0x44]
add r15d, 0x31
jmp 0x1400e494c
test edi, edi
js 0x1400e48b9
or edi, dword [rsp + 0x34]
jne 0x1400e49c2
mov rax, qword [rsp + 0x58]
test byte [rax], 1
jne 0x1400e49c2
cmp dword [rsp + 0x38], 0
je 0x1400e4954
cmp dword [rbx + 0x14], 1
jg 0x1400e48d4
cmp dword [rbx + 0x18], 0
je 0x1400e4954
cmp dword [rsp + 0x38], 2
je 0x1400e49af
mov rcx, qword [rsp + 0x20]
mov rdx, rbp
lea r12, [r13 + 1]
call fcn.1400e52f4
test eax, eax
jle 0x1400e493f
mov byte [r12 - 1], r15b
xor r8d, r8d
mov rcx, rbp
mov edx, 0xa
mov r13, r12
call fcn.1400e4f03
cmp rsi, rbp
mov rcx, rbx
mov edx, 0xa
cmove rsi, rax
xor r8d, r8d
mov rdi, rax
call fcn.1400e4f03
mov rdx, qword [rsp + 0x20]
mov rbp, rdi
mov rcx, rax
mov rbx, rax
call fcn.1400e3b43
lea r15d, [rax + 0x30]
jmp 0x1400e48df
cmp r15d, 0x39
je 0x1400e49d8
inc r15d
mov r12d, 0x20
jmp 0x1400e49b5
test r14d, r14d
jle 0x1400e499a
mov rcx, rbx
mov edx, 1
call fcn.1400e51f7
mov rdx, qword [rsp + 0x20]
mov rcx, rax
mov rbx, rax
call fcn.1400e52f4
test eax, eax
jg 0x1400e4985
jne 0x1400e4994
test r15d, 1
je 0x1400e4994
cmp r15d, 0x39
je 0x1400e49d8
mov r15d, dword [rsp + 0x44]
add r15d, 0x31
mov r12d, 0x20
cmp dword [rbx + 0x14], 1
jg 0x1400e49af
cmp dword [rbx + 0x18], 0
mov eax, 0x10
cmovne r12d, eax
jmp 0x1400e49b5
mov r12d, 0x10
mov byte [r13], r15b
lea r14, [r13 + 1]
jmp 0x1400e4b5d
lea rdi, [r13 + 1]
test r14d, r14d
jle 0x1400e49fb
cmp dword [rsp + 0x38], 2
je 0x1400e49fb
cmp r15d, 0x39
jne 0x1400e49e6
mov byte [r13], 0x39
lea rdi, [r13 + 1]
jmp 0x1400e4b07
inc r15d
mov r14, rdi
mov byte [r13], r15b
mov r12d, 0x20
jmp 0x1400e4b5d
mov byte [rdi - 1], r15b
mov eax, dword [rsp + 0x50]
cmp dword [rsp + 0x9c], eax
je 0x1400e4ac3
mov rcx, rbx
xor r8d, r8d
mov edx, 0xa
call fcn.1400e4f03
xor r8d, r8d
mov edx, 0xa
mov rcx, rsi
mov rbx, rax
cmp rsi, rbp
jne 0x1400e4a40
call fcn.1400e4f03
mov rsi, rax
mov rbp, rax
jmp 0x1400e4a5b
call fcn.1400e4f03
mov rcx, rbp
xor r8d, r8d
mov edx, 0xa
mov rsi, rax
call fcn.1400e4f03
mov rbp, rax
mov eax, dword [rsp + 0x9c]
mov r13, rdi
lea edx, [rax + 1]
jmp 0x1400e47df
mov rdi, qword [rsp + 0x28]
mov eax, 1
mov rdx, qword [rsp + 0x20]
mov rcx, rbx
mov dword [rsp + 0x9c], eax
inc rdi
call fcn.1400e3b43
lea r15d, [rax + 0x30]
mov eax, dword [rsp + 0x50]
mov byte [rdi - 1], r15b
cmp dword [rsp + 0x9c], eax
jge 0x1400e4ac1
mov rcx, rbx
xor r8d, r8d
mov edx, 0xa
call fcn.1400e4f03
mov rbx, rax
mov eax, dword [rsp + 0x9c]
inc eax
jmp 0x1400e4a77
xor esi, esi
cmp dword [rsp + 0x38], 0
je 0x1400e4ade
cmp dword [rsp + 0x38], 2
mov eax, dword [rbx + 0x14]
je 0x1400e4b37
dec eax
jg 0x1400e4b07
cmp dword [rbx + 0x18], 0
jmp 0x1400e4b05
mov rcx, rbx
mov edx, 1
call fcn.1400e51f7
mov rdx, qword [rsp + 0x20]
mov rcx, rax
mov rbx, rax
call fcn.1400e52f4
test eax, eax
jg 0x1400e4b07
jne 0x1400e4b37
and r15d, 1
je 0x1400e4b37
mov r14, rdi
lea rdi, [rdi - 1]
mov al, byte [r14 - 1]
cmp al, 0x39
jne 0x1400e4b2e
cmp qword [rsp + 0x28], rdi
jne 0x1400e4b07
mov rax, qword [rsp + 0x28]
inc dword [rsp + 0x3c]
mov byte [rax], 0x31
jmp 0x1400e49f0
inc eax
mov byte [rdi], al
jmp 0x1400e49f0
cmp dword [rbx + 0x14], 1
mov r12d, 0x10
jg 0x1400e4b52
xor eax, eax
cmp dword [rbx + 0x18], 0
setne al
shl eax, 4
mov r12d, eax
mov r14, rdi
dec rdi
cmp byte [rdi], 0x30
je 0x1400e4b52
mov rcx, qword [rsp + 0x20]
call fcn.1400e4eb7
test rbp, rbp
je 0x1400e4b86
test rsi, rsi
je 0x1400e4b7e
cmp rsi, rbp
je 0x1400e4b7e
mov rcx, rsi
call fcn.1400e4eb7
mov rcx, rbp
call fcn.1400e4eb7
mov esi, dword [rsp + 0x3c]
mov rcx, rbx
inc esi
call fcn.1400e4eb7
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x68], 0
mov byte [r14], 0
mov dword [rax], esi
je 0x1400e4baf
mov rax, qword [rsp + 0x68]
mov qword [rax], r14
mov rax, qword [rsp + 0x80]
or dword [rax], r12d
mov rax, qword [rsp + 0x28]
movaps xmm6, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret