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

Disassembly:
mov r11, rsp
push rbx
push rbp
push rdi
sub rsp, 0x90
mov rax, qword [0x14006b010]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov qword [r11 + 0x20], rsi
mov ebp, 1
mov qword [r11 - 0x20], r12
mov rbx, rdx
mov qword [r11 - 0x28], r13
lea rdx, [0x140000000]
mov qword [r11 - 0x30], r14
mov rdi, rcx
mov qword [r11 - 0x38], r15
vmovaps xmmword [rsp + 0x60], xmm6
vmovaps xmmword [rsp + 0x50], xmm7
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x24], r8d
cmp r8d, 0x600000
jg 0x1400460f4
je 0x140046520
lea eax, [r8 - 0x200000]
cmp eax, 0xf
ja case.0x140046110.6291466
cdqe
mov ecx, dword [rdx + rax*4 + 0x471a8]
add rcx, rdx
jmp rcx
lea eax, [r8 - 0x600001]
cmp eax, 0xe
ja case.0x140046110.6291466
cdqe
mov ecx, dword [rdx + rax*4 + 0x471e8]
add rcx, rdx
jmp rcx
mov eax, r8d
btr eax, 0x16
cmp eax, 0x20000f
je 0x14004657c
cmp byte [rbx + 0x17], 0
je 0x140046585
and r8d, 0x400000
or r8d, 0x200001
jmp 0x1400460c2
mov eax, r8d
btr eax, 0x16
cmp eax, 0x20000e
je 0x140046963
cmp byte [rbx + 0x17], 0
je 0x14004696a
and r8d, 0x400000
bts r8d, 0x15
jmp 0x1400460c2
mov rdx, rbx
mov rcx, rdi
call fcn.140047490
jmp 0x14004715e
lea rsi, [rbx + 0x20]
movsx rax, word [rsi + 0xe00]
cmp eax, 0x63
je 0x14004715e
movsx r10, word [rsi + 0xdfe]
add rax, rax
shl r10, 4
add r10, rsi
vmovups xmm6, xmmword [rsi + rax*8]
vmovq r14, xmm6
vpextrd r11d, xmm6, 2
mov rax, r14
mov dword [r10 + 4], r11d
shr rax, 0x20
mov dword [r10 + 8], eax
mov dword [r10], r14d
mov dword [r10 + 0xc], 0xffffffff
test r11d, r11d
je 0x140046238
mov ecx, dword [rsi + 0xe04]
lea eax, [r11 + rcx]
cmp eax, dword [rsi + 0xe08]
jle 0x1400461eb
xor eax, eax
mov qword [r10 + 4], rax
jmp 0x14004622a
mov dword [r10 + 0xc], ecx
xor ebp, ebp
add dword [rsi + 0xe04], r11d
cmp dword [r10 + 4], ebp
jle 0x14004622a
nop
mov ecx, dword [r10]
mov r8, qword [rdi + 0x20]
add ecx, ebp
movsxd r9, ecx
mov ecx, dword [r10 + 0xc]
add ecx, ebp
inc ebp
movsxd rdx, ecx
movzx eax, word [r8 + r9*2]
mov word [rsi + rdx*2 + 0x630], ax
cmp ebp, dword [r10 + 4]
jl 0x140046200
mov r8d, r11d
mov edx, r14d
mov rcx, rdi
call fcn.140045880
vpextrd ebp, xmm6, 1
test ebp, ebp
je 0x14004626a
vpextrd eax, xmm6, 3
movsxd rcx, eax
mov r9d, ebp
add rcx, 0x318
mov edx, r14d
lea r8, [rsi + rcx*2]
mov rcx, rdi
call fcn.140045950
add dword [rsi + 0xe08], ebp
lea eax, [r14 + rbp]
mov dword [rbx], eax
inc word [rsi + 0xdfe]
inc word [rsi + 0xe00]
jmp 0x14004715e
mov ecx, dword [rbx + 8]
mov eax, dword [rbx + 4]
cmp eax, ecx
jne 0x140046301
mov eax, dword [rbx]
test eax, eax
jle 0x14004715e
dec eax
mov dword [rbx], eax
jmp 0x14004715e
mov ecx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
cmp r8d, ecx
je 0x1400462e1
jle 0x1400462ba
mov dword [rbx + 8], r8d
mov eax, r8d
mov dword [rbx + 4], ecx
jmp 0x1400462bf
mov eax, ecx
mov ecx, r8d
mov edx, dword [rdi + 0xc]
cmp ecx, edx
cmovg ecx, edx
cmp eax, edx
jle 0x1400462d0
mov dword [rbx + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x1400462d6
mov dword [rbx], ecx
mov dword [rbx], eax
mov dword [rbx + 4], eax
mov byte [rbx + 0x16], 0
jmp 0x1400462e5
inc dword [rbx]
mov eax, dword [rbx]
mov ecx, dword [rdi + 0xc]
cmp eax, ecx
jle 0x14004715e
mov dword [rbx], ecx
jmp 0x14004715e
mov ecx, dword [rbx + 8]
mov eax, dword [rbx + 4]
cmp eax, ecx
je 0x140046312
jle 0x140046308
mov eax, ecx
mov dword [rbx + 4], ecx
mov dword [rbx], eax
mov dword [rbx + 8], eax
jmp 0x14004715e
mov esi, dword [rbx]
sub esi, ebp
js 0x140046332
nop dword [rax + rax]
mov edx, esi
mov rcx, rdi
call fcn.140045620
test eax, eax
jne 0x140046332
sub esi, ebp
jns 0x140046320
xor eax, eax
test esi, esi
cmovs esi, eax
mov dword [rbx], esi
mov eax, dword [rdi + 0xc]
cmp esi, eax
jle 0x140047162
mov dword [rbx], eax
jmp 0x140047162
mov eax, dword [rbx + 8]
mov r8d, dword [rbx + 4]
cmp r8d, eax
je 0x14004638d
jle 0x140046367
mov dword [rbx + 8], r8d
mov ecx, r8d
mov dword [rbx + 4], eax
jmp 0x14004636c
mov ecx, eax
mov eax, r8d
mov edx, dword [rdi + 0xc]
cmp eax, edx
cmovg eax, edx
cmp ecx, edx
jle 0x14004637d
mov dword [rbx + 8], edx
mov ecx, edx
cmp eax, ecx
jne 0x140046383
mov dword [rbx], eax
mov dword [rbx], ecx
mov dword [rbx + 4], ecx
jmp 0x14004715e
mov rax, qword [rdi]
mov esi, dword [rbx]
cmp byte [rax + 0x79], 0
je 0x1400463a6
mov edx, esi
mov rcx, rdi
call fcn.140045720
mov esi, eax
jmp 0x1400463c9
mov ebp, dword [rdi + 0xc]
inc esi
cmp esi, ebp
jge 0x1400463c6
nop
mov edx, esi
mov rcx, rdi
call fcn.140045620
test eax, eax
jne 0x1400463c4
inc esi
cmp esi, ebp
jl 0x1400463b0
cmp esi, ebp
cmovg esi, ebp
mov dword [rbx], esi
mov eax, dword [rdi + 0xc]
cmp esi, eax
jle 0x140047162
mov dword [rbx], eax
jmp 0x140047162
xor eax, eax
mov qword [rbx + 4], rax
mov dword [rbx], eax
mov byte [rbx + 0x16], al
jmp 0x140047162
mov eax, dword [rdi + 0xc]
mov dword [rbx], eax
xor eax, eax
mov qword [rbx + 4], rax
mov byte [rbx + 0x16], al
jmp 0x140047162
mov ecx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
mov eax, dword [rdi + 0xc]
cmp r8d, ecx
je 0x140046436
mov edx, r8d
cmp r8d, eax
jle 0x14004641c
mov dword [rbx + 4], eax
mov edx, eax
mov r9d, ecx
cmp ecx, eax
jle 0x140046429
mov dword [rbx + 8], eax
mov r9d, eax
mov ecx, r9d
mov r8d, edx
cmp edx, r9d
jne 0x140046436
mov dword [rbx], edx
mov edx, dword [rbx]
cmp edx, eax
jle 0x140046440
mov dword [rbx], eax
mov edx, eax
cmp r8d, ecx
je 0x140046458
mov edx, r8d
jle 0x14004644f
mov dword [rbx + 4], ecx
mov edx, ecx
mov dword [rbx], edx
mov dword [rbx + 8], edx
mov byte [rbx + 0x16], 0
cmp byte [rbx + 0x17], 0
je 0x140046467
xor eax, eax
mov dword [rbx], eax
jmp 0x14004715e
test edx, edx
jle 0x14004715e
nop
mov rax, qword [rdi + 0x20]
mov ecx, edx
cmp word [rax + rcx*2 - 2], 0xa
je 0x14004715e
dec edx
mov dword [rbx], edx
test edx, edx
jg 0x140046470
jmp 0x14004715e
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov r8d, dword [rdi + 0xc]
cmp ecx, eax
je 0x1400464c6
mov edx, ecx
cmp ecx, r8d
jle 0x1400464ab
mov dword [rbx + 4], r8d
mov edx, r8d
mov r9d, eax
cmp eax, r8d
jle 0x1400464ba
mov dword [rbx + 8], r8d
mov r9d, r8d
mov eax, r9d
mov ecx, edx
cmp edx, r9d
jne 0x1400464c6
mov dword [rbx], edx
mov edx, dword [rbx]
cmp edx, r8d
jle 0x1400464d3
mov dword [rbx], r8d
mov edx, r8d
cmp ecx, eax
je 0x1400464e9
mov edx, ecx
jle 0x1400464e0
mov dword [rbx + 4], eax
mov edx, eax
mov dword [rbx], edx
mov dword [rbx + 8], edx
mov byte [rbx + 0x16], 0
cmp byte [rbx + 0x17], 0
je 0x1400464f7
mov dword [rbx], r8d
jmp 0x14004715e
cmp edx, r8d
jge 0x14004715e
mov rax, qword [rdi + 0x20]
movsxd rcx, edx
cmp word [rax + rcx*2], 0xa
je 0x14004715e
inc edx
mov dword [rbx], edx
cmp edx, r8d
jl 0x140046500
jmp 0x14004715e
mov edx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
mov ecx, dword [rdi + 0xc]
cmp r8d, edx
je 0x140046556
mov eax, r8d
cmp r8d, ecx
jle 0x14004653c
mov dword [rbx + 4], ecx
mov eax, ecx
mov r9d, edx
cmp edx, ecx
jle 0x140046549
mov dword [rbx + 8], ecx
mov r9d, ecx
mov edx, r9d
mov r8d, eax
cmp eax, r9d
jne 0x140046556
mov dword [rbx], eax
mov eax, dword [rbx]
cmp eax, ecx
cmovg eax, ecx
cmp r8d, edx
jne 0x14004656a
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
jmp 0x14004656c
mov eax, edx
test eax, eax
jle 0x140046575
dec eax
mov dword [rbx + 8], eax
mov dword [rbx], eax
jmp 0x14004715e
mov esi, dword [rbx + 0x10]
mov dword [rsp + 0x20], esi
jmp 0x140046587
mov esi, ebp
mov ecx, dword [rbx + 8]
mov edx, dword [rbx + 4]
bt r8d, 0x16
jae 0x140046625
cmp edx, ecx
jne 0x140046621
mov ecx, dword [rbx]
mov edx, ecx
mov dword [rbx + 8], ecx
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 0xc]
lea r14, [rdi + 0xc]
cmp edx, ecx
je 0x1400465cd
cmp edx, eax
jle 0x1400465be
mov dword [rbx + 4], eax
mov edx, eax
cmp ecx, eax
jle 0x1400465c7
mov dword [rbx + 8], eax
mov ecx, eax
cmp edx, ecx
jne 0x1400465cd
mov dword [rbx], edx
mov r8d, dword [rbx]
cmp r8d, eax
jle 0x1400465da
mov dword [rbx], eax
mov r8d, eax
movzx r9d, byte [rbx + 0x17]
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.140045d10
xor ecx, ecx
mov dword [rsp + 0x40], ecx
mov ebp, ecx
test esi, esi
jle 0x140047162
vmovss xmm7, dword [rsp + 0x28]
vmovss xmm6, dword [0x14005f118]
mov r11d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x34]
cmp byte [rbx + 0x16], 0
je 0x140046663
vmovss xmm5, dword [rbx + 0x1c]
jmp 0x140046667
mov dword [rbx], ecx
jmp 0x1400465aa
cmp edx, ecx
je 0x1400465aa
jle 0x140046637
mov eax, ecx
mov dword [rbx + 4], ecx
mov ecx, edx
mov dword [rbx + 8], edx
mov edx, eax
mov eax, dword [rdi + 0xc]
cmp edx, eax
cmovg edx, eax
cmp ecx, eax
jle 0x140046648
mov dword [rbx + 8], eax
mov ecx, eax
cmp edx, ecx
jne 0x14004664e
mov dword [rbx], edx
lea r14, [rdi + 0xc]
mov dword [rbx], ecx
mov dword [rbx + 4], ecx
mov byte [rbx + 0x16], 0
mov eax, dword [r14]
jmp 0x1400465cd
vmovaps xmm5, xmm7
add r13d, r11d
test r11d, r11d
je 0x140047162
mov rax, qword [rdi + 0x20]
movsxd r15, r13d
cmp word [rax + r15*2 - 2], 0xa
jne 0x140047162
mov dword [rbx], r13d
lea r8, [r15 + r15]
mov r10, qword [rdi + 0x20]
movsxd rax, dword [r14]
lea r11, [r8 + r10]
lea r9, [r10 + rax*2]
cmp r11, r9
jae 0x1400466d1
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r11]
mov ecx, esi
add r11, 2
cmp ax, 0xa
je 0x1400466cf
mov dword [rsp + 0x20], ecx
cmp r11, r9
jae 0x1400466cf
mov dword [rsp + 0x20], ecx
jmp 0x1400466b0
xor ecx, ecx
sub r11, r8
mov esi, ecx
sub r11, r10
sar r11, 1
vxorps xmm3, xmm3, xmm3
cmp r11d, 4
jl 0x140046894
mov rbp, rcx
nop dword [rax]
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax]
cmp ecx, 0xa
je 0x1400468fe
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x14004671b
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140046720
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x1400468fe
vaddss xmm4, xmm3, xmm2
vcomiss xmm4, xmm5
ja 0x1400468fe
mov r10d, dword [rbx]
inc r10d
mov dword [rbx], r10d
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax + 2]
cmp ecx, 0xa
je 0x1400468fe
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x14004677f
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140046784
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x1400468fe
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x1400468fe
inc r10d
mov dword [rbx], r10d
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax + 4]
cmp ecx, 0xa
je 0x1400468fe
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x1400467e0
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x1400467e5
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x1400468fe
vaddss xmm4, xmm3, xmm2
vcomiss xmm4, xmm5
ja 0x1400468fe
inc r10d
mov dword [rbx], r10d
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax + 6]
cmp ecx, 0xa
je 0x1400468fe
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x140046841
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140046846
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x1400468fe
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x1400468fe
lea eax, [r10 + 1]
add rbp, 4
mov dword [rbx], eax
add r8, 8
lea eax, [r11 - 3]
add esi, 4
cmp esi, eax
jl 0x1400466f0
cmp esi, r11d
jl 0x14004689c
jmp 0x1400468fe
test r11d, r11d
jle 0x140046902
mov rbp, rcx
lea r8, [r15 + rbp]
add r8, r8
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax]
cmp ecx, 0xa
je 0x1400468fe
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x1400468ca
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x1400468cf
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x1400468fe
vaddss xmm3, xmm3, xmm2
vcomiss xmm3, xmm5
ja 0x1400468fe
inc dword [rbx]
add r8, 2
inc esi
cmp esi, r11d
jl 0x1400468a3
mov ebp, dword [rsp + 0x40]
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov eax, dword [r14]
cmp ecx, edx
je 0x140046927
cmp ecx, eax
jle 0x140046918
mov dword [rbx + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x140046921
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140046927
mov dword [rbx], ecx
mov ecx, dword [rbx]
cmp ecx, eax
jle 0x140046931
mov dword [rbx], eax
mov ecx, eax
test dword [rsp + 0x24], 0x400000
vmovss dword [rbx + 0x1c], xmm5
mov byte [rbx + 0x16], 1
je 0x140046947
mov dword [rbx + 8], ecx
mov esi, dword [rsp + 0x20]
inc ebp
mov dword [rsp + 0x40], ebp
mov ecx, 0
cmp ebp, esi
jl 0x140046614
jmp 0x140047162
mov ebp, dword [rbx + 0x10]
mov dword [rsp + 0x20], ebp
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
bt r8d, 0x16
jae 0x140046a01
cmp ecx, eax
jne 0x1400469fd
mov eax, dword [rbx]
mov ecx, eax
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
mov edx, dword [rdi + 0xc]
lea r14, [rdi + 0xc]
cmp ecx, eax
je 0x1400469ac
cmp ecx, edx
jle 0x14004699d
mov dword [rbx + 4], edx
mov ecx, edx
cmp eax, edx
jle 0x1400469a6
mov dword [rbx + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x1400469ac
mov dword [rbx], ecx
mov r8d, dword [rbx]
cmp r8d, edx
jle 0x1400469b9
mov dword [rbx], edx
mov r8d, edx
movzx r9d, byte [rbx + 0x17]
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.140045d10
xor r11d, r11d
mov r13d, r11d
test ebp, ebp
jle 0x140047162
vmovss xmm7, dword [rsp + 0x28]
vmovss xmm6, dword [0x14005f118]
mov r15d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x34]
cmp byte [rbx + 0x16], 0
je 0x140046a1e
vmovss xmm5, dword [rbx + 0x1c]
jmp 0x140046a22
mov dword [rbx], eax
jmp 0x140046989
cmp ecx, eax
je 0x140046989
jle 0x140046a0c
mov ecx, eax
mov dword [rbx + 4], eax
lea r14, [rdi + 0xc]
mov dword [rbx], ecx
mov dword [rbx + 8], ecx
mov byte [rbx + 0x16], 0
mov edx, dword [r14]
jmp 0x1400469ac
vmovaps xmm5, xmm7
cmp r15d, eax
je 0x140047162
mov dword [rbx], r15d
mov r9, qword [rdi + 0x20]
movsxd rax, dword [r14]
lea r8, [r9 + rax*2]
movsxd rax, r15d
lea r10, [rax + rax]
lea rsi, [r10 + r9]
cmp rsi, r8
jae 0x140046a6e
nop dword [rax]
movzx eax, word [rsi]
mov ecx, ebp
add rsi, 2
cmp ax, 0xa
je 0x140046a6e
mov dword [rsp + 0x20], ecx
cmp rsi, r8
jae 0x140046a6e
mov dword [rsp + 0x20], ecx
jmp 0x140046a50
sub rsi, r10
sub rsi, r9
sar rsi, 1
vxorps xmm2, xmm2, xmm2
cmp esi, 4
jl 0x140046c2c
mov ebp, r15d
nop word [rax + rax]
mov rax, qword [rdi + 0x20]
movsxd r10, ebp
movzx ecx, word [rax + r10*2]
cmp ecx, 0xa
je 0x140046c93
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x140046abe
mov rax, qword [rdx + 8]
vmovss xmm3, dword [rax + rcx*4]
jmp 0x140046ac3
vmovss xmm3, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm3, xmm1, xmm3
vucomiss xmm3, xmm6
je 0x140046c93
vaddss xmm4, xmm2, xmm3
vcomiss xmm4, xmm5
ja 0x140046c93
mov r9d, dword [rbx]
inc r9d
mov dword [rbx], r9d
mov rax, qword [rdi + 0x20]
movzx ecx, word [rax + r10*2 + 2]
cmp ecx, 0xa
je 0x140046c93
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x140046b22
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140046b27
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140046c93
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x140046c93
inc r9d
mov dword [rbx], r9d
mov rax, qword [rdi + 0x20]
movzx ecx, word [rax + r10*2 + 4]
cmp ecx, 0xa
je 0x140046c93
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x140046b83
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140046b88
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140046c93
vaddss xmm3, xmm3, xmm2
vcomiss xmm3, xmm5
ja 0x140046c93
inc r9d
mov dword [rbx], r9d
mov rax, qword [rdi + 0x20]
movzx ecx, word [rax + r10*2 + 6]
cmp ecx, 0xa
je 0x140046c93
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x140046be4
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140046be9
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140046c93
vaddss xmm2, xmm3, xmm2
vcomiss xmm2, xmm5
ja 0x140046c93
lea eax, [r9 + 1]
add r11d, 4
mov dword [rbx], eax
add ebp, 4
lea eax, [rsi - 3]
cmp r11d, eax
jl 0x140046a90
cmp r11d, esi
jge 0x140046c93
lea eax, [r11 + r15]
movsxd rcx, eax
mov rax, qword [rdi + 0x20]
movzx r8d, word [rax + rcx*2]
cmp r8d, 0xa
je 0x140046c93
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp r8d, dword [rdx]
jge 0x140046c62
mov rax, qword [rdx + 8]
vmovss xmm3, dword [rax + r8*4]
jmp 0x140046c67
vmovss xmm3, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm3, xmm1, xmm3
vucomiss xmm3, xmm6
je 0x140046c93
vaddss xmm2, xmm2, xmm3
vcomiss xmm2, xmm5
ja 0x140046c93
inc dword [rbx]
inc r11d
cmp r11d, esi
jl 0x140046c31
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov eax, dword [r14]
cmp ecx, edx
je 0x140046cb8
cmp ecx, eax
jle 0x140046ca9
mov dword [rbx + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x140046cb2
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140046cb8
mov dword [rbx], ecx
mov ecx, dword [rbx]
cmp ecx, eax
jle 0x140046cc2
mov dword [rbx], eax
mov ecx, eax
test dword [rsp + 0x24], 0x400000
vmovss dword [rbx + 0x1c], xmm5
mov byte [rbx + 0x16], 1
je 0x140046cd8
mov dword [rbx + 8], ecx
test r15d, r15d
jle 0x140046d28
lea r8d, [r15 - 1]
test r8d, r8d
jle 0x140046d0a
mov rdx, qword [rdi + 0x20]
add rdx, 0xfffffffffffffffe
movsxd rcx, r8d
lea rdx, [rdx + rcx*2]
cmp word [rdx], 0xa
je 0x140046d0a
dec r8d
dec rcx
sub rdx, 2
test rcx, rcx
jg 0x140046cf5
xor r11d, r11d
mov ebp, dword [rsp + 0x20]
inc r13d
mov eax, r15d
mov r15d, r8d
cmp r13d, ebp
jl 0x1400469f0
jmp 0x140047162
xor r11d, r11d
mov r8d, r11d
jmp 0x140046d0d
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x140046d40
mov eax, dword [rbx]
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
mov esi, dword [rbx]
sub esi, ebp
js 0x140046d58
mov edx, esi
mov rcx, rdi
call fcn.140045620
test eax, eax
jne 0x140046d58
sub esi, ebp
jns 0x140046d46
mov ecx, dword [rbx + 4]
xor eax, eax
test esi, esi
cmovs esi, eax
mov dword [rbx], esi
mov dword [rbx + 8], esi
mov eax, dword [rdi + 0xc]
cmp ecx, esi
je 0x140046d8a
cmp ecx, eax
jle 0x140046d77
mov dword [rbx + 4], eax
mov ecx, eax
mov edx, esi
cmp esi, eax
jle 0x140046d82
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140046d8a
mov dword [rbx], ecx
mov esi, ecx
cmp esi, eax
jle 0x140047162
mov dword [rbx], eax
jmp 0x140047162
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x140046da9
mov eax, dword [rbx]
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
mov rax, qword [rdi]
mov esi, dword [rbx]
cmp byte [rax + 0x79], 0
je 0x140046dc2
mov edx, esi
mov rcx, rdi
call fcn.140045720
mov esi, eax
jmp 0x140046de9
mov ebp, dword [rdi + 0xc]
inc esi
cmp esi, ebp
jge 0x140046de6
nop dword [rax + rax]
mov edx, esi
mov rcx, rdi
call fcn.140045620
test eax, eax
jne 0x140046de4
inc esi
cmp esi, ebp
jl 0x140046dd0
cmp esi, ebp
cmovg esi, ebp
mov ecx, dword [rbx + 4]
mov dword [rbx], esi
mov dword [rbx + 8], esi
mov eax, dword [rdi + 0xc]
cmp ecx, esi
je 0x140046e14
cmp ecx, eax
jle 0x140046e01
mov dword [rbx + 4], eax
mov ecx, eax
mov edx, esi
cmp esi, eax
jle 0x140046e0c
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140046e14
mov dword [rbx], ecx
mov esi, ecx
cmp esi, eax
jle 0x140047162
mov dword [rbx], eax
jmp 0x140047162
mov eax, dword [rbx + 8]
mov edx, dword [rbx + 4]
cmp edx, eax
jne 0x140046e36
mov eax, dword [rbx]
mov edx, eax
mov dword [rbx + 4], eax
jmp 0x140046e38
mov dword [rbx], eax
inc eax
mov dword [rbx + 8], eax
mov ecx, dword [rdi + 0xc]
cmp edx, eax
je 0x140046e64
cmp edx, ecx
jle 0x140046e4d
mov dword [rbx + 4], ecx
mov edx, ecx
mov r8d, eax
cmp eax, ecx
jle 0x140046e5a
mov dword [rbx + 8], ecx
mov r8d, ecx
cmp edx, r8d
mov eax, r8d
cmove eax, r8d
mov dword [rbx], eax
jmp 0x14004715e
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x140046ebc
movsxd rsi, dword [rbx]
cmp esi, dword [rdi + 0xc]
jge 0x14004715e
lea rcx, [rbx + 0x20]
xor r9d, r9d
mov r8d, ebp
mov edx, esi
call fcn.1400472e0
test rax, rax
je 0x140046ea2
mov rcx, qword [rdi + 0x20]
movzx r9d, word [rcx + rsi*2]
mov word [rax], r9w
mov r8d, ebp
mov edx, esi
mov rcx, rdi
call fcn.140045880
jmp 0x14004715e
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
je 0x140046ecc
mov rdx, rbx
mov rcx, rdi
call fcn.140045f30
jmp 0x14004715e
mov eax, dword [rdi + 0xc]
mov esi, dword [rbx]
cmp esi, eax
jle 0x140046ed9
mov dword [rbx], eax
mov esi, eax
test esi, esi
jle 0x14004715e
lea rcx, [rbx + 0x20]
xor r9d, r9d
mov r8d, ebp
lea edx, [rsi - 1]
call fcn.1400472e0
test rax, rax
je 0x140046f09
mov rcx, qword [rdi + 0x20]
movsxd r8, esi
movzx r8d, word [rcx + r8*2 - 2]
mov word [rax], r8w
mov r8d, ebp
lea edx, [rsi - 1]
mov rcx, rdi
call fcn.140045880
dec dword [rbx]
jmp 0x14004715e
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x140046f2b
mov eax, dword [rbx]
mov dword [rbx + 4], eax
xor eax, eax
mov dword [rbx + 8], eax
mov dword [rbx], eax
mov byte [rbx + 0x16], al
jmp 0x140047162
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x140046f57
mov eax, dword [rbx]
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
mov eax, dword [rdi + 0xc]
mov dword [rbx + 8], eax
mov dword [rbx], eax
jmp 0x14004715e
mov dword [rbx], eax
mov eax, dword [rdi + 0xc]
mov dword [rbx + 8], eax
mov dword [rbx], eax
jmp 0x14004715e
mov r8d, dword [rbx + 8]
mov r9d, dword [rbx + 4]
mov ecx, dword [rdi + 0xc]
cmp r9d, r8d
je 0x140046f9c
mov eax, r9d
cmp r9d, ecx
jle 0x140046f83
mov dword [rbx + 4], ecx
mov eax, ecx
mov edx, r8d
cmp r8d, ecx
jle 0x140046f90
mov dword [rbx + 8], ecx
mov edx, ecx
mov r8d, edx
mov r9d, eax
cmp eax, edx
jne 0x140046f9c
mov dword [rbx], eax
mov edx, dword [rbx]
mov eax, edx
cmp edx, ecx
jle 0x140046faa
mov dword [rbx], ecx
mov edx, ecx
mov eax, ecx
cmp r9d, r8d
jne 0x140046fb7
mov dword [rbx + 8], edx
mov dword [rbx + 4], edx
jmp 0x140046fc0
mov dword [rbx], r8d
mov edx, r8d
mov eax, r8d
cmp byte [rbx + 0x17], 0
je 0x140046fd5
xor r8d, r8d
mov dword [rbx], r8d
mov dword [rbx + 8], r8d
jmp 0x14004715e
mov r8d, eax
test edx, edx
jle 0x140046ffe
nop dword [rax]
mov r8d, eax
mov ecx, edx
mov rax, qword [rdi + 0x20]
cmp word [rax + rcx*2 - 2], 0xa
je 0x140046ffe
dec edx
mov dword [rbx], edx
mov eax, edx
mov r8d, edx
test edx, edx
jg 0x140046fe0
mov dword [rbx + 8], r8d
jmp 0x14004715e
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov r9d, dword [rdi + 0xc]
cmp ecx, eax
je 0x14004703e
mov edx, ecx
cmp ecx, r9d
jle 0x140047023
mov dword [rbx + 4], r9d
mov edx, r9d
mov r8d, eax
cmp eax, r9d
jle 0x140047032
mov dword [rbx + 8], r9d
mov r8d, r9d
mov eax, r8d
mov ecx, edx
cmp edx, r8d
jne 0x14004703e
mov dword [rbx], edx
mov r8d, dword [rbx]
mov edx, r8d
cmp r8d, r9d
jle 0x140047052
mov dword [rbx], r9d
mov r8d, r9d
mov edx, r9d
cmp ecx, eax
jne 0x140047060
mov dword [rbx + 8], r8d
mov dword [rbx + 4], r8d
jmp 0x140047067
mov dword [rbx], eax
mov r8d, eax
mov edx, eax
cmp byte [rbx + 0x17], 0
je 0x14004707b
mov edx, r9d
mov dword [rbx], r9d
mov dword [rbx + 8], edx
jmp 0x14004715e
cmp r8d, r9d
jge 0x14004709c
mov rax, qword [rdi + 0x20]
movsxd rcx, r8d
cmp word [rax + rcx*2], 0xa
je 0x14004709c
lea edx, [r8 + 1]
mov dword [rbx], edx
mov r8d, edx
cmp edx, r9d
jl 0x140047080
mov dword [rbx + 8], edx
jmp 0x14004715e
xor eax, eax
cmp r8d, 0x200000
cmovge r8d, eax
test r8d, r8d
jle 0x140047162
mov word [rsp + 0x40], r8w
cmp r8d, 0xa
jne 0x1400470cf
cmp byte [rbx + 0x17], al
jne 0x140047162
cmp byte [rbx + 0xc], al
je 0x14004712a
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x14004712a
movsxd rsi, dword [rbx]
cmp esi, dword [rdi + 0xc]
jge 0x14004712a
lea rcx, [rbx + 0x20]
mov r9d, ebp
mov r8d, ebp
mov edx, esi
call fcn.1400472e0
test rax, rax
je 0x140047105
mov rcx, qword [rdi + 0x20]
movzx edx, word [rcx + rsi*2]
mov word [rax], dx
mov edx, dword [rbx]
mov r8d, ebp
mov rcx, rdi
call fcn.140045880
mov edx, dword [rbx]
lea r8, [rsp + 0x40]
mov r9d, ebp
mov rcx, rdi
call fcn.140045950
test al, al
je 0x140047162
jmp 0x14004715c
mov rdx, rbx
mov rcx, rdi
call fcn.140045f30
mov edx, dword [rbx]
lea r8, [rsp + 0x40]
mov r9d, ebp
mov rcx, rdi
call fcn.140045950
test al, al
je 0x140047162
mov edx, dword [rbx]
lea rcx, [rbx + 0x20]
mov r9d, ebp
xor r8d, r8d
call fcn.1400472e0
inc dword [rbx]
mov byte [rbx + 0x16], 0
vmovaps xmm7, xmmword [rsp + 0x50]
vmovaps xmm6, xmmword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
mov r12, qword [rsp + 0x88]
mov rsi, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140052bf0
add rsp, 0x90
pop rdi
pop rbp
pop rbx
ret