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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], r9
mov dword [r11 + 0x18], r8d
movsd qword [rsp + 8], xmm0
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov qword [r11 - 0x50], 0xfffffffffffffffe
movaps xmmword [r11 - 0x48], xmm6
mov r13d, r8d
mov ebx, edx
movaps xmm6, xmm0
xor esi, esi
mov r14d, esi
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x78], esi
movsd qword [rsp + 0x20], xmm0
movzx ecx, byte [rsp + 0x25]
shl ecx, 8
movzx eax, byte [rsp + 0x26]
shl eax, 0x10
add ecx, eax
movzx eax, byte [rsp + 0x27]
shl eax, 0x18
add ecx, eax
movzx eax, byte [rsp + 0x24]
add ecx, eax
lea edi, [rsi + 1]
mov rax, qword [rsp + 0x120]
jns 0x140093521
mov dword [rax], edi
movsd qword [rsp + 0x20], xmm0
movzx ecx, byte [rsp + 0x25]
shl ecx, 8
movzx eax, byte [rsp + 0x26]
shl eax, 0x10
add ecx, eax
movzx eax, byte [rsp + 0x27]
shl eax, 0x18
add ecx, eax
movzx eax, byte [rsp + 0x24]
add ecx, eax
btr ecx, 0x1f
mov eax, ecx
shr eax, 0x18
mov byte [r11 + 0xf], al
mov eax, ecx
shr eax, 0x10
mov byte [r11 + 0xe], al
mov eax, ecx
shr eax, 8
mov byte [r11 + 0xd], al
mov byte [r11 + 0xc], cl
movsd xmm6, qword [r11 + 8]
jmp 0x140093523
mov dword [rax], esi
movsd qword [rsp + 0x20], xmm6
movzx ecx, byte [rsp + 0x25]
shl ecx, 8
movzx eax, byte [rsp + 0x26]
shl eax, 0x10
add ecx, eax
movzx eax, byte [rsp + 0x27]
shl eax, 0x18
add ecx, eax
movzx eax, byte [rsp + 0x24]
add ecx, eax
and ecx, 0x7ff00000
cmp ecx, 0x7ff00000
jne 0x1400935fc
mov dword [r9], 0x270f
movsd qword [rsp + 0x20], xmm6
movzx ecx, byte [rsp + 0x23]
shl ecx, 0x18
movzx eax, byte [rsp + 0x21]
shl eax, 8
add ecx, eax
movzx eax, byte [rsp + 0x22]
shl eax, 0x10
add ecx, eax
movzx eax, byte [rsp + 0x20]
add ecx, eax
jne 0x1400935c8
movsd qword [rsp + 0x20], xmm6
movzx ecx, byte [rsp + 0x25]
shl ecx, 8
movzx eax, byte [rsp + 0x26]
shl eax, 0x10
add ecx, eax
movzx eax, byte [rsp + 0x27]
shl eax, 0x18
add ecx, eax
movzx eax, byte [rsp + 0x24]
add ecx, eax
test ecx, 0xfffff
lea rax, [0x1401b3638]
je 0x1400935cf
lea rax, [0x1401b3644]
mov r8, qword [rsp + 0x128]
test r8, r8
je 0x140094582
mov ecx, 8
mov edx, 3
cmp byte [rax + 3], sil
cmove ecx, edx
add rcx, rax
mov qword [r8], rcx
jmp 0x140094582
ucomisd xmm6, qword [0x14194e258]
jp 0x14009362e
jne 0x14009362e
mov dword [r9], edi
mov rax, qword [rsp + 0x128]
test rax, rax
je 0x140093622
lea rcx, [0x140169289]
mov qword [rax], rcx
lea rax, [0x140169288]
jmp 0x140094582
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x48]
movaps xmm0, xmm6
call fcn.1400947f0
mov r15, rax
mov qword [rsp + 0x68], rax
movsd qword [rsp + 0x20], xmm6
movzx edx, byte [rsp + 0x25]
shl edx, 8
movzx ecx, byte [rsp + 0x26]
shl ecx, 0x10
add edx, ecx
movzx ecx, byte [rsp + 0x27]
shl ecx, 0x18
add edx, ecx
movzx ecx, byte [rsp + 0x24]
add edx, ecx
shr edx, 0x14
and edx, 0x7ff
movsd qword [rsp + 0x20], xmm6
je 0x140093738
movsd qword [rsp + 0x38], xmm6
movzx ecx, byte [rsp + 0x3d]
shl ecx, 8
movzx eax, byte [rsp + 0x3e]
shl eax, 0x10
add ecx, eax
movzx eax, byte [rsp + 0x3f]
shl eax, 0x18
add ecx, eax
movzx eax, byte [rsp + 0x3c]
add ecx, eax
and ecx, 0xfffff
mov eax, ecx
shr eax, 0x18
mov byte [rsp + 0x27], al
mov eax, ecx
shr eax, 0x10
mov byte [rsp + 0x26], al
mov eax, ecx
shr eax, 8
mov byte [rsp + 0x25], al
mov byte [rsp + 0x24], cl
movsd xmm0, qword [rsp + 0x20]
movsd qword [rsp + 0x38], xmm0
movzx ecx, byte [rsp + 0x3d]
shl ecx, 8
movzx eax, byte [rsp + 0x3e]
shl eax, 0x10
add ecx, eax
movzx eax, byte [rsp + 0x3f]
shl eax, 0x18
add ecx, eax
movzx eax, byte [rsp + 0x3c]
add ecx, eax
or ecx, 0x3ff00000
mov eax, ecx
shr eax, 0x18
mov byte [rsp + 0x27], al
mov eax, ecx
shr eax, 0x10
mov byte [rsp + 0x26], al
mov eax, ecx
shr eax, 8
lea r9d, [rdx - 0x3ff]
mov dword [rsp + 0x80], esi
mov r10d, dword [rsp + 0x70]
jmp 0x14009384d
mov r10d, dword [rsp + 0x70]
lea r9d, [r10 + 0x432]
add r9d, dword [rsp + 0x48]
cmp r9d, 0x20
jle 0x1400937b6
movzx r8d, byte [rsp + 0x25]
shl r8d, 8
movzx eax, byte [rsp + 0x26]
shl eax, 0x10
add r8d, eax
movzx eax, byte [rsp + 0x27]
shl eax, 0x18
add r8d, eax
movzx eax, byte [rsp + 0x24]
add r8d, eax
movsd qword [rsp + 0x20], xmm6
movzx edx, byte [rsp + 0x21]
shl edx, 8
movzx eax, byte [rsp + 0x22]
shl eax, 0x10
add edx, eax
movzx eax, byte [rsp + 0x23]
shl eax, 0x18
add edx, eax
movzx eax, byte [rsp + 0x20]
add edx, eax
mov ecx, 0x40
sub ecx, r9d
shl r8d, cl
lea ecx, [r9 - 0x20]
shr edx, cl
or r8d, edx
jmp 0x1400937e9
movzx r8d, byte [rsp + 0x21]
shl r8d, 8
movzx eax, byte [rsp + 0x22]
shl eax, 0x10
add r8d, eax
movzx eax, byte [rsp + 0x23]
shl eax, 0x18
add r8d, eax
movzx eax, byte [rsp + 0x20]
add r8d, eax
mov ecx, 0x20
sub ecx, r9d
shl r8d, cl
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
movsd qword [rsp + 0x20], xmm0
movsd qword [rsp + 0x38], xmm0
movzx ecx, byte [rsp + 0x3d]
shl ecx, 8
movzx eax, byte [rsp + 0x3e]
shl eax, 0x10
add ecx, eax
movzx eax, byte [rsp + 0x3f]
shl eax, 0x18
add ecx, eax
movzx eax, byte [rsp + 0x3c]
add eax, 0xfe100000
add ecx, eax
mov eax, ecx
shr eax, 0x18
mov byte [rsp + 0x27], al
mov eax, ecx
shr eax, 0x10
mov byte [rsp + 0x26], al
mov eax, ecx
shr eax, 8
sub r9d, 0x433
mov dword [rsp + 0x80], edi
mov byte [rsp + 0x24], cl
mov byte [rsp + 0x25], al
movsd xmm1, qword [rsp + 0x20]
subsd xmm1, qword [0x1401b3678]
mulsd xmm1, qword [0x1401b3658]
addsd xmm1, qword [0x1401b3648]
movd xmm0, r9d
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x1401b3660]
addsd xmm1, xmm0
cvttsd2si r12d, xmm1
xorps xmm0, xmm0
comisd xmm0, xmm1
jbe 0x1400938aa
movd xmm0, r12d
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x1400938a7
je 0x1400938aa
dec r12d
mov dword [rsp + 0x74], edi
lea rdx, [0x140000000]
cmp r12d, 0x16
ja 0x1400938d4
movsxd rax, r12d
movsd xmm0, qword [rdx + rax*8 + 0x1b34d0]
comisd xmm0, xmm6
jbe 0x1400938d0
dec r12d
mov dword [rsp + 0x74], esi
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x94], r12d
mov dword [rsp + 0xa4], r12d
mov dword [rsp + 0x98], r12d
mov dword [rsp + 0x90], r12d
mov eax, r10d
sub eax, r9d
sub eax, 1
mov dword [rsp + 0x100], eax
js 0x14009390f
mov ecx, esi
jmp 0x14009391c
mov ecx, eax
neg ecx
mov eax, esi
mov dword [rsp + 0x100], eax
mov dword [rsp + 0x30], ecx
test r12d, r12d
js 0x14009393a
mov dword [rsp + 0x4c], esi
mov dword [rsp + 0x50], r12d
add eax, r12d
mov dword [rsp + 0x100], eax
jmp 0x14009394e
sub ecx, r12d
mov dword [rsp + 0x30], ecx
mov ecx, r12d
neg ecx
mov dword [rsp + 0x4c], ecx
mov dword [rsp + 0x50], esi
cmp ebx, 9
cmova ebx, esi
mov dword [rsp + 0x108], ebx
mov esi, edi
cmp ebx, 5
jle 0x140093974
sub ebx, 4
mov dword [rsp + 0x108], ebx
xor r8d, r8d
mov esi, r8d
jmp 0x140093977
xor r8d, r8d
mov dword [rsp + 0x34], edi
cmp ebx, 5
ja case.default.0x14009398d
movsxd rax, ebx
mov ecx, dword [rdx + rax*4 + 0x945a0]
add rcx, rdx
jmp rcx
or eax, 0xffffffff
mov r14d, eax
lea r9d, [rax + 0x13]
mov dword [rsp + 0x110], r8d
jmp 0x1400939d7
mov dword [rsp + 0x34], r8d
mov eax, edi
test r13d, r13d
cmovg eax, r13d
mov dword [rsp + 0x110], eax
mov r9d, eax
mov r14d, eax
jmp 0x1400939d7
mov dword [rsp + 0x34], r8d
lea eax, [r12 + r13]
lea r14d, [rax + 1]
mov r9d, r14d
test r14d, r14d
cmovle r9d, edi
mov dword [rsp + 0x54], eax
mov r13d, r14d
mov dword [rsp + 0x7c], r14d
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x88], r14d
lea eax, [r9 + 1]
movsxd rcx, eax
call fcn.14010a154
mov rbx, qword [rsp + 0x130]
mov qword [rbx], rax
test rax, rax
jne 0x140093a12
call fcn.1400423f0
nop
mov r8, qword [rbx]
mov qword [rsp + 0x68], r8
cmp r14d, 0xe
ja 0x140093cbc
test esi, esi
je 0x140093cbc
movaps xmm4, xmm6
mov edx, 2
mov ecx, r12d
lea r9, [0x140000000]
test r12d, r12d
jle 0x140093a8f
mov eax, r12d
and eax, 0xf
movsd xmm0, qword [r9 + rax*8 + 0x1b34d0]
sar ecx, 4
test cl, 0x10
je 0x140093a6b
and ecx, 0xf
divsd xmm6, qword [0x1401b3698]
mov edx, 3
test ecx, ecx
je 0x140093a89
lea rax, [0x1401b3588]
test cl, 1
je 0x140093a81
inc edx
mulsd xmm0, qword [rax]
add rax, 8
sar ecx, 1
jne 0x140093a76
divsd xmm6, xmm0
jmp 0x140093ac3
neg ecx
je 0x140093ac3
mov eax, ecx
and eax, 0xf
mulsd xmm6, qword [r9 + rax*8 + 0x1b34d0]
sar ecx, 4
test ecx, ecx
je 0x140093ac3
lea rax, [0x1401b3588]
test cl, 1
je 0x140093abb
inc edx
mulsd xmm6, qword [rax]
add rax, 8
sar ecx, 1
jne 0x140093ab0
movsd xmm2, qword [0x14016a9d8]
cmp dword [rsp + 0x74], 0
je 0x140093aff
comisd xmm2, xmm6
jbe 0x140093aff
test r14d, r14d
jle 0x140093aff
mov eax, dword [rsp + 0x54]
movsd xmm3, qword [0x14016a9e0]
test eax, eax
jle 0x140093cb7
mov r14d, eax
dec r12d
mulsd xmm6, xmm3
inc edx
jmp 0x140093b07
movsd xmm3, qword [0x14016a9e0]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm6
addsd xmm0, qword [0x1401b3690]
movsd qword [rsp + 0x20], xmm0
movsd qword [rsp + 0x38], xmm0
movzx ecx, byte [rsp + 0x3d]
shl ecx, 8
movzx eax, byte [rsp + 0x3e]
shl eax, 0x10
add ecx, eax
movzx eax, byte [rsp + 0x3f]
shl eax, 0x18
add ecx, eax
movzx eax, byte [rsp + 0x3c]
add eax, 0xfcc00000
add ecx, eax
mov eax, ecx
shr eax, 0x18
mov byte [rsp + 0x27], al
mov eax, ecx
shr eax, 0x10
mov byte [rsp + 0x26], al
mov eax, ecx
shr eax, 8
mov byte [rsp + 0x25], al
mov byte [rsp + 0x24], cl
test r14d, r14d
jne 0x140093bac
xor r14d, r14d
xor r13d, r13d
addsd xmm6, qword [0x1401b36a8]
movsd xmm0, qword [rsp + 0x20]
comisd xmm6, xmm0
ja 0x140094133
xorps xmm0, xmmword [0x1401395a0]
comisd xmm0, xmm6
ja 0x14009414a
mov r13d, dword [rsp + 0x7c]
jmp 0x140093cb7
lea eax, [r14 - 1]
lea rbx, [r8 + 1]
movsxd rcx, eax
cvttsd2si eax, xmm6
movd xmm0, eax
cvtdq2pd xmm0, xmm0
add al, 0x30
subsd xmm6, xmm0
mov byte [r8], al
cmp dword [rsp + 0x34], 0
je 0x140093c46
movsd xmm1, qword [0x14016a9d0]
divsd xmm1, qword [r9 + rcx*8 + 0x1b34d0]
subsd xmm1, qword [rsp + 0x20]
xor ecx, ecx
comisd xmm1, xmm6
ja 0x140094545
nop word [rax + rax]
movaps xmm0, xmm2
subsd xmm0, xmm6
comisd xmm1, xmm0
ja 0x140093dd5
inc ecx
cmp ecx, r14d
jge 0x140093cb7
mulsd xmm1, xmm3
mulsd xmm6, xmm3
cvttsd2si eax, xmm6
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm6, xmm0
add al, 0x30
mov byte [rbx], al
inc rbx
comisd xmm1, xmm6
jbe 0x140093c00
jmp 0x140094545
movsd xmm2, qword [rsp + 0x20]
mulsd xmm2, qword [r9 + rcx*8 + 0x1b34d0]
cmp r14d, 1
je 0x140093c81
lea ecx, [r14 - 1]
mulsd xmm6, xmm3
cvttsd2si eax, xmm6
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm6, xmm0
add al, 0x30
mov byte [rbx], al
inc rbx
sub rcx, 1
jne 0x140093c60
movaps xmm0, xmm2
movsd xmm1, qword [0x14016a9d0]
addsd xmm0, xmm1
comisd xmm6, xmm0
ja 0x140093dd5
subsd xmm1, xmm2
comisd xmm1, xmm6
jbe 0x140093cb7
mov rax, rbx
dec rbx
cmp byte [rbx], 0x30
je 0x140093ca4
mov rbx, rax
jmp 0x140094545
movaps xmm6, xmm4
jmp 0x140093ccb
movsd xmm3, qword [0x14016a9e0]
lea r9, [0x140000000]
mov eax, dword [rsp + 0x48]
test eax, eax
js 0x140093dff
movsxd rcx, dword [rsp + 0x5c]
cmp ecx, 0xe
jg 0x140093dff
movsd xmm2, qword [r9 + rcx*8 + 0x1b34d0]
mov eax, dword [rsp + 0x110]
test eax, eax
jns 0x140093d2f
test r13d, r13d
jg 0x140093d2f
xor r14d, r14d
xor r13d, r13d
cmp dword [rsp + 0x7c], r13d
jl 0x140094151
mov r12d, dword [rsp + 0x90]
mulsd xmm2, qword [0x1401b3688]
comisd xmm2, xmm6
jb 0x140094133
jmp 0x140094151
movaps xmm0, xmm6
divsd xmm0, xmm2
cvttsd2si ecx, xmm0
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
subsd xmm6, xmm1
lea eax, [rcx + 0x30]
mov byte [r8], al
lea rbx, [r8 + 1]
cmp r13d, 1
je 0x140093daa
mov r12d, dword [rsp + 0x94]
movsd xmm4, qword [0x14194e258]
nop word [rax + rax]
mulsd xmm6, xmm3
ucomisd xmm6, xmm4
jp 0x140093d80
je 0x140094545
inc edi
movaps xmm0, xmm6
divsd xmm0, xmm2
cvttsd2si ecx, xmm0
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
subsd xmm6, xmm1
lea eax, [rcx + 0x30]
mov byte [rbx], al
inc rbx
cmp edi, r13d
jne 0x140093d70
addsd xmm6, xmm6
mov r12d, dword [rsp + 0x98]
comisd xmm6, xmm2
ja 0x140093dd5
ucomisd xmm6, xmm2
jp 0x140094545
jne 0x140094545
test cl, 1
je 0x140094545
dec rbx
cmp byte [rbx], 0x39
jne 0x140093df5
nop dword [rax]
cmp rbx, r8
je 0x140093def
dec rbx
cmp byte [rbx], 0x39
je 0x140093de0
jmp 0x140093df5
inc r12d
mov byte [rbx], 0x30
inc byte [rbx]
inc rbx
jmp 0x140094545
mov edx, dword [rsp + 0x30]
mov ebx, edx
mov dword [rsp + 0x48], edx
mov r8d, dword [rsp + 0x4c]
mov r12d, r8d
xor esi, esi
xor r14d, r14d
mov r9d, dword [rsp + 0x34]
test r9d, r9d
je 0x140093e9d
cmp dword [rsp + 0x108], 2
jge 0x140093e49
cmp dword [rsp + 0x80], esi
je 0x140093e3c
lea r13d, [rax + 0x433]
jmp 0x140093e76
mov r13d, 0x36
sub r13d, dword [rsp + 0x70]
jmp 0x140093e76
lea ecx, [r13 - 1]
cmp r8d, ecx
jl 0x140093e57
sub r12d, ecx
jmp 0x140093e67
mov eax, ecx
sub eax, r8d
add dword [rsp + 0x50], eax
mov dword [rsp + 0x4c], ecx
xor r12d, r12d
test r13d, r13d
jns 0x140093e76
sub ebx, r13d
mov dword [rsp + 0x48], ebx
xor r13d, r13d
add edx, r13d
mov dword [rsp + 0x30], edx
add dword [rsp + 0x100], r13d
mov ecx, edi
call fcn.140095050
mov r14, rax
mov edx, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x4c]
mov r9d, dword [rsp + 0x34]
test ebx, ebx
jle 0x140093ec8
mov eax, dword [rsp + 0x100]
test eax, eax
jle 0x140093ec8
mov ecx, eax
cmp ebx, eax
cmovl ecx, ebx
sub edx, ecx
mov dword [rsp + 0x30], edx
sub ebx, ecx
mov dword [rsp + 0x48], ebx
sub eax, ecx
mov dword [rsp + 0x100], eax
test r8d, r8d
jle 0x140093f1a
test r9d, r9d
je 0x140093f0c
test r12d, r12d
jle 0x140093f07
mov edx, r12d
mov rcx, r14
call fcn.1400954f0
mov r14, rax
mov rdx, r15
mov rcx, rax
call fcn.1400951d0
mov rbx, rax
mov rcx, r15
call fcn.140108da8
mov r15, rbx
mov ebx, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x4c]
sub r8d, r12d
je 0x140093f1a
mov edx, r8d
mov rcx, r15
call fcn.1400954f0
mov r15, rax
mov ecx, 0x24
call fcn.14010a154
mov r13, rax
test rax, rax
jne 0x140093f31
call fcn.1400423f0
mov dword [r13 + 8], edi
mov qword [r13 + 0xc], 2
mov dword [r13 + 0x18], edi
mov dword [r13 + 0x14], edi
mov r8d, dword [rsp + 0x50]
test r8d, r8d
jle 0x140093f62
mov edx, r8d
mov rcx, r13
call fcn.1400954f0
mov r13, rax
mov r8d, dword [rsp + 0x50]
cmp dword [rsp + 0x108], 2
jge 0x140094018
movsd qword [rsp + 0x20], xmm6
movzx edx, byte [rsp + 0x21]
shl edx, 8
movzx ecx, byte [rsp + 0x22]
shl ecx, 0x10
add edx, ecx
movzx ecx, byte [rsp + 0x23]
shl ecx, 0x18
add edx, ecx
movzx eax, byte [rsp + 0x20]
add edx, eax
jne 0x140094014
movsd qword [rsp + 0x20], xmm6
movzx ecx, byte [rsp + 0x25]
shl ecx, 8
movzx eax, byte [rsp + 0x26]
shl eax, 0x10
add ecx, eax
movzx eax, byte [rsp + 0x27]
shl eax, 0x18
add ecx, eax
movzx eax, byte [rsp + 0x24]
add ecx, eax
test ecx, 0xfffff
jne 0x140094014
movsd qword [rsp + 0x20], xmm6
movzx ecx, byte [rsp + 0x25]
shl ecx, 8
movzx eax, byte [rsp + 0x26]
shl eax, 0x10
add ecx, eax
movzx eax, byte [rsp + 0x27]
shl eax, 0x18
add ecx, eax
movzx eax, byte [rsp + 0x24]
add ecx, eax
test ecx, 0x7ff00000
je 0x140094014
mov edx, dword [rsp + 0x30]
inc edx
mov r12d, dword [rsp + 0x100]
inc r12d
mov dword [rsp + 0x78], edi
jmp 0x140094024
mov dword [rsp + 0x78], esi
mov edx, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x100]
test r8d, r8d
je 0x140094044
mov eax, dword [r13 + 0x14]
dec eax
cdqe
mov ecx, dword [r13 + rax*4 + 0x18]
call fcn.140095000
mov ecx, 0x20
sub ecx, eax
jmp 0x140094046
mov ecx, edi
lea eax, [rcx + r12]
and eax, 0x1f
mov ecx, 0x20
sub ecx, eax
test eax, eax
cmove ecx, eax
cmp ecx, 4
jle 0x140094063
lea eax, [rcx - 4]
jmp 0x140094068
jge 0x14009406f
lea eax, [rcx + 0x1c]
add edx, eax
add ebx, eax
add r12d, eax
test edx, edx
jle 0x14009407e
mov rcx, r15
call fcn.1400950a0
mov r15, rax
test r12d, r12d
jle 0x140094091
mov edx, r12d
mov rcx, r13
call fcn.1400950a0
mov r13, rax
mov r12d, dword [rsp + 0xa4]
cmp dword [rsp + 0x74], esi
je 0x1400940f4
mov r10d, dword [rsp + 0x88]
mov dword [rsp + 0x58], r10d
mov rdx, r13
mov rcx, r15
call fcn.140094790
test eax, eax
jns 0x1400940f9
dec r12d
xor r8d, r8d
lea edx, [r8 + 0xa]
mov rcx, r15
call fcn.140095430
mov r15, rax
cmp dword [rsp + 0x34], esi
je 0x1400940e8
xor r8d, r8d
lea edx, [r8 + 0xa]
mov rcx, r14
call fcn.140095430
mov r14, rax
mov r10d, dword [rsp + 0x54]
mov dword [rsp + 0x58], r10d
jmp 0x1400940f9
mov r10d, dword [rsp + 0x58]
test r10d, r10d
jg 0x140094161
cmp dword [rsp + 0x108], 2
jle 0x140094161
test r10d, r10d
js 0x140094145
xor r8d, r8d
lea edx, [r8 + 5]
mov rcx, r13
call fcn.140095430
mov r13, rax
mov rdx, rax
mov rcx, r15
call fcn.140094790
mov r8, qword [rsp + 0x68]
test eax, eax
jle 0x14009414a
mov byte [r8], 0x31
lea rbx, [r8 + 1]
inc r12d
xor esi, esi
jmp 0x14009451e
mov r8, qword [rsp + 0x68]
mov eax, dword [rsp + 0x110]
mov r12d, eax
not r12d
xor esi, esi
mov rbx, r8
jmp 0x14009451e
cmp dword [rsp + 0x34], esi
je 0x140094410
test ebx, ebx
jle 0x14009417c
mov edx, ebx
mov rcx, r14
call fcn.1400950a0
mov r14, rax
mov rsi, r14
mov qword [rsp + 0x60], r14
cmp dword [rsp + 0x78], 0
je 0x1400941bd
mov ecx, dword [r14 + 8]
call fcn.1400933f0
mov rbx, rax
movsxd r8, dword [r14 + 0x14]
lea r8, [r8*4 + 8]
lea rdx, [r14 + 0x10]
lea rcx, [rax + 0x10]
call fcn.1401049f0
mov edx, edi
mov rcx, rbx
call fcn.1400950a0
mov r14, rax
mov dword [rsp + 0x100], edi
movsxd rax, dword [rsp + 0x108]
mov qword [rsp + 0x88], rax
mov rbx, qword [rsp + 0x68]
nop dword [rax]
mov rdx, r13
mov rcx, r15
call fcn.140096e70
lea edi, [rax + 0x30]
mov rdx, rsi
mov rcx, r15
call fcn.140094790
mov dword [rsp + 0x5c], eax
mov rdx, r14
mov rcx, r13
call fcn.140094c50
mov r9, rax
cmp dword [rax + 0x10], 0
je 0x140094218
mov esi, 1
jmp 0x14009426a
movsxd rax, dword [rax + 0x14]
mov esi, dword [r15 + 0x14]
sub esi, eax
jne 0x14009426a
lea r8, [r15 + 0x18]
lea rcx, [rax - 1]
lea rcx, [r8 + rcx*4]
lea rdx, [rax + 5]
lea rdx, [r9 + rdx*4]
mov eax, dword [rdx]
cmp dword [rcx], eax
jne 0x140094259
nop
cmp rcx, r8
jbe 0x140094255
sub rcx, 4
sub rdx, 4
mov eax, dword [rdx]
cmp dword [rcx], eax
je 0x140094240
jmp 0x140094259
xor esi, esi
jmp 0x14009426a
mov esi, 1
mov eax, dword [rdx]
cmp dword [rcx], eax
mov eax, 0xffffffff
cmovb esi, eax
mov rcx, r9
call fcn.140108da8
mov rcx, qword [rsp + 0x88]
test esi, esi
jne 0x1400942c9
test rcx, rcx
jne 0x1400942c9
movsd qword [rsp + 0x38], xmm6
mov rcx, qword [rsp + 0x38]
mov rax, rcx
shr rax, 0x18
movzx edx, al
shl edx, 0x18
shr rcx, 8
movzx eax, cl
shl eax, 8
add edx, eax
movzx eax, byte [rsp + 0x3a]
shl eax, 0x10
add edx, eax
movzx eax, byte [rsp + 0x38]
add edx, eax
test dl, 1
je 0x14009439c
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x5c]
test eax, eax
js 0x1400943cc
jne 0x14009431a
test rcx, rcx
jne 0x14009431a
movsd qword [rsp + 0x20], xmm6
mov rcx, qword [rsp + 0x20]
mov rax, rcx
shr rax, 0x18
movzx edx, al
shl edx, 0x18
shr rcx, 8
movzx eax, cl
shl eax, 8
add edx, eax
movzx eax, byte [rsp + 0x22]
shl eax, 0x10
add edx, eax
movzx eax, byte [rsp + 0x20]
add edx, eax
test dl, 1
je 0x1400943cc
test esi, esi
jg 0x1400943b7
mov byte [rbx], dil
inc rbx
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x100], eax
je 0x140094473
xor r8d, r8d
lea edx, [r8 + 0xa]
mov rcx, r15
call fcn.140095430
mov r15, rax
mov rsi, qword [rsp + 0x60]
xor r8d, r8d
lea edx, [r8 + 0xa]
cmp rsi, r14
jne 0x14009436e
mov rcx, r14
call fcn.140095430
mov rsi, rax
mov qword [rsp + 0x60], rax
jmp 0x14009438d
mov rcx, rsi
call fcn.140095430
mov rsi, rax
mov qword [rsp + 0x60], rax
xor r8d, r8d
lea edx, [r8 + 0xa]
mov rcx, r14
call fcn.140095430
mov r14, rax
inc dword [rsp + 0x100]
jmp 0x1400941e0
cmp edi, 0x39
je 0x140094400
cmp dword [rsp + 0x5c], 0
jle 0x1400943aa
inc edi
mov byte [rbx], dil
mov rsi, qword [rsp + 0x60]
jmp 0x14009451b
cmp edi, 0x39
je 0x140094400
inc dil
mov byte [rbx], dil
mov rsi, qword [rsp + 0x60]
jmp 0x14009451b
test esi, esi
jle 0x1400943aa
mov edx, 1
mov rcx, r15
call fcn.1400950a0
mov r15, rax
mov rdx, r13
mov rcx, rax
call fcn.140094790
test eax, eax
jg 0x1400943f7
jne 0x1400943aa
test dil, 1
je 0x1400943aa
mov eax, edi
inc edi
cmp eax, 0x39
jne 0x1400943aa
mov byte [rbx], 0x39
inc rbx
mov rsi, qword [rsp + 0x60]
jmp 0x1400944f5
mov rdx, r13
mov rcx, r15
call fcn.140096e70
lea edi, [rax + 0x30]
mov rax, qword [rsp + 0x68]
mov byte [rax], dil
lea rbx, [rax + 1]
mov eax, dword [rsp + 0x58]
cmp eax, 1
jle 0x140094478
lea ecx, [rax - 1]
mov qword [rsp + 0x100], rcx
nop
xor r8d, r8d
lea edx, [r8 + 0xa]
mov rcx, r15
call fcn.140095430
mov r15, rax
mov rdx, r13
mov rcx, rax
call fcn.140096e70
lea edi, [rax + 0x30]
mov byte [rbx], dil
inc rbx
sub qword [rsp + 0x100], 1
jne 0x140094440
jmp 0x140094478
mov rsi, qword [rsp + 0x60]
mov edx, 1
mov rcx, r15
call fcn.1400950a0
mov r15, rax
movsxd rax, dword [r13 + 0x14]
mov r8d, dword [r15 + 0x14]
sub r8d, eax
jne 0x1400944d8
lea r8, [r15 + 0x18]
lea rcx, [rax - 1]
lea rcx, [r8 + rcx*4]
lea rdx, [rax*4 + 0x14]
add rdx, r13
mov eax, dword [rdx]
cmp dword [rcx], eax
jne 0x1400944c5
cmp rcx, r8
jbe 0x1400944df
sub rcx, 4
sub rdx, 4
mov eax, dword [rdx]
cmp dword [rcx], eax
je 0x1400944b2
mov r8d, 1
mov eax, dword [rdx]
cmp dword [rcx], eax
mov eax, 0xffffffff
cmovb r8d, eax
test r8d, r8d
jg 0x1400944f5
jne 0x1400944e5
test dil, 1
jne 0x1400944f5
mov rax, rbx
dec rbx
cmp byte [rbx], 0x30
je 0x1400944e5
mov rbx, rax
jmp 0x14009451e
dec rbx
cmp byte [rbx], 0x39
jne 0x140094519
mov rax, qword [rsp + 0x68]
cmp rbx, rax
je 0x140094511
dec rbx
cmp byte [rbx], 0x39
je 0x140094502
jmp 0x140094519
inc r12d
mov byte [rbx], 0x31
jmp 0x14009451b
inc byte [rbx]
inc rbx
mov rcx, r13
call fcn.140108da8
test r14, r14
je 0x140094545
test rsi, rsi
je 0x14009453d
cmp rsi, r14
je 0x14009453d
mov rcx, rsi
call fcn.140108da8
mov rcx, r14
call fcn.140108da8
mov rcx, r15
call fcn.140108da8
mov rax, qword [rsp + 0x68]
cmp rbx, rax
jne 0x140094560
mov byte [rbx], 0x30
inc rbx
xor r12d, r12d
mov byte [rbx], 0
lea ecx, [r12 + 1]
mov rdx, qword [rsp + 0x118]
mov dword [rdx], ecx
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140094582
mov qword [rcx], rbx
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret