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

Disassembly:
mov r11, rsp
push rbx
push rbp
push rdi
sub rsp, 0x90
mov rax, qword [0x140075010]
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 0x14004fb44
je 0x14004ff70
lea eax, [r8 - 0x200000]
cmp eax, 0xf
ja case.0x14004fb60.6291466
cdqe
mov ecx, dword [rdx + rax*4 + 0x50bf8]
add rcx, rdx
jmp rcx
lea eax, [r8 - 0x600001]
cmp eax, 0xe
ja case.0x14004fb60.6291466
cdqe
mov ecx, dword [rdx + rax*4 + 0x50c38]
add rcx, rdx
jmp rcx
mov eax, r8d
btr eax, 0x16
cmp eax, 0x20000f
je 0x14004ffcc
cmp byte [rbx + 0x17], 0
je 0x14004ffd5
and r8d, 0x400000
or r8d, 0x200001
jmp 0x14004fb12
mov eax, r8d
btr eax, 0x16
cmp eax, 0x20000e
je 0x1400503b3
cmp byte [rbx + 0x17], 0
je 0x1400503ba
and r8d, 0x400000
bts r8d, 0x15
jmp 0x14004fb12
mov rdx, rbx
mov rcx, rdi
call fcn.140050ee0
jmp 0x140050bae
lea rsi, [rbx + 0x20]
movsx rax, word [rsi + 0xe00]
cmp eax, 0x63
je 0x140050bae
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 0x14004fc88
mov ecx, dword [rsi + 0xe04]
lea eax, [r11 + rcx]
cmp eax, dword [rsi + 0xe08]
jle 0x14004fc3b
xor eax, eax
mov qword [r10 + 4], rax
jmp 0x14004fc7a
mov dword [r10 + 0xc], ecx
xor ebp, ebp
add dword [rsi + 0xe04], r11d
cmp dword [r10 + 4], ebp
jle 0x14004fc7a
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 0x14004fc50
mov r8d, r11d
mov edx, r14d
mov rcx, rdi
call fcn.14004f2d0
vpextrd ebp, xmm6, 1
test ebp, ebp
je 0x14004fcba
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.14004f3a0
add dword [rsi + 0xe08], ebp
lea eax, [r14 + rbp]
mov dword [rbx], eax
inc word [rsi + 0xdfe]
inc word [rsi + 0xe00]
jmp 0x140050bae
mov ecx, dword [rbx + 8]
mov eax, dword [rbx + 4]
cmp eax, ecx
jne 0x14004fd51
mov eax, dword [rbx]
test eax, eax
jle 0x140050bae
dec eax
mov dword [rbx], eax
jmp 0x140050bae
mov ecx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
cmp r8d, ecx
je 0x14004fd31
jle 0x14004fd0a
mov dword [rbx + 8], r8d
mov eax, r8d
mov dword [rbx + 4], ecx
jmp 0x14004fd0f
mov eax, ecx
mov ecx, r8d
mov edx, dword [rdi + 0xc]
cmp ecx, edx
cmovg ecx, edx
cmp eax, edx
jle 0x14004fd20
mov dword [rbx + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x14004fd26
mov dword [rbx], ecx
mov dword [rbx], eax
mov dword [rbx + 4], eax
mov byte [rbx + 0x16], 0
jmp 0x14004fd35
inc dword [rbx]
mov eax, dword [rbx]
mov ecx, dword [rdi + 0xc]
cmp eax, ecx
jle 0x140050bae
mov dword [rbx], ecx
jmp 0x140050bae
mov ecx, dword [rbx + 8]
mov eax, dword [rbx + 4]
cmp eax, ecx
je 0x14004fd62
jle 0x14004fd58
mov eax, ecx
mov dword [rbx + 4], ecx
mov dword [rbx], eax
mov dword [rbx + 8], eax
jmp 0x140050bae
mov esi, dword [rbx]
sub esi, ebp
js 0x14004fd82
nop dword [rax + rax]
mov edx, esi
mov rcx, rdi
call fcn.14004f070
test eax, eax
jne 0x14004fd82
sub esi, ebp
jns 0x14004fd70
xor eax, eax
test esi, esi
cmovs esi, eax
mov dword [rbx], esi
mov eax, dword [rdi + 0xc]
cmp esi, eax
jle 0x140050bb2
mov dword [rbx], eax
jmp 0x140050bb2
mov eax, dword [rbx + 8]
mov r8d, dword [rbx + 4]
cmp r8d, eax
je 0x14004fddd
jle 0x14004fdb7
mov dword [rbx + 8], r8d
mov ecx, r8d
mov dword [rbx + 4], eax
jmp 0x14004fdbc
mov ecx, eax
mov eax, r8d
mov edx, dword [rdi + 0xc]
cmp eax, edx
cmovg eax, edx
cmp ecx, edx
jle 0x14004fdcd
mov dword [rbx + 8], edx
mov ecx, edx
cmp eax, ecx
jne 0x14004fdd3
mov dword [rbx], eax
mov dword [rbx], ecx
mov dword [rbx + 4], ecx
jmp 0x140050bae
mov rax, qword [rdi]
mov esi, dword [rbx]
cmp byte [rax + 0x79], 0
je 0x14004fdf6
mov edx, esi
mov rcx, rdi
call fcn.14004f170
mov esi, eax
jmp 0x14004fe19
mov ebp, dword [rdi + 0xc]
inc esi
cmp esi, ebp
jge 0x14004fe16
nop
mov edx, esi
mov rcx, rdi
call fcn.14004f070
test eax, eax
jne 0x14004fe14
inc esi
cmp esi, ebp
jl 0x14004fe00
cmp esi, ebp
cmovg esi, ebp
mov dword [rbx], esi
mov eax, dword [rdi + 0xc]
cmp esi, eax
jle 0x140050bb2
mov dword [rbx], eax
jmp 0x140050bb2
xor eax, eax
mov qword [rbx + 4], rax
mov dword [rbx], eax
mov byte [rbx + 0x16], al
jmp 0x140050bb2
mov eax, dword [rdi + 0xc]
mov dword [rbx], eax
xor eax, eax
mov qword [rbx + 4], rax
mov byte [rbx + 0x16], al
jmp 0x140050bb2
mov ecx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
mov eax, dword [rdi + 0xc]
cmp r8d, ecx
je 0x14004fe86
mov edx, r8d
cmp r8d, eax
jle 0x14004fe6c
mov dword [rbx + 4], eax
mov edx, eax
mov r9d, ecx
cmp ecx, eax
jle 0x14004fe79
mov dword [rbx + 8], eax
mov r9d, eax
mov ecx, r9d
mov r8d, edx
cmp edx, r9d
jne 0x14004fe86
mov dword [rbx], edx
mov edx, dword [rbx]
cmp edx, eax
jle 0x14004fe90
mov dword [rbx], eax
mov edx, eax
cmp r8d, ecx
je 0x14004fea8
mov edx, r8d
jle 0x14004fe9f
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 0x14004feb7
xor eax, eax
mov dword [rbx], eax
jmp 0x140050bae
test edx, edx
jle 0x140050bae
nop
mov rax, qword [rdi + 0x20]
mov ecx, edx
cmp word [rax + rcx*2 - 2], 0xa
je 0x140050bae
dec edx
mov dword [rbx], edx
test edx, edx
jg 0x14004fec0
jmp 0x140050bae
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov r8d, dword [rdi + 0xc]
cmp ecx, eax
je 0x14004ff16
mov edx, ecx
cmp ecx, r8d
jle 0x14004fefb
mov dword [rbx + 4], r8d
mov edx, r8d
mov r9d, eax
cmp eax, r8d
jle 0x14004ff0a
mov dword [rbx + 8], r8d
mov r9d, r8d
mov eax, r9d
mov ecx, edx
cmp edx, r9d
jne 0x14004ff16
mov dword [rbx], edx
mov edx, dword [rbx]
cmp edx, r8d
jle 0x14004ff23
mov dword [rbx], r8d
mov edx, r8d
cmp ecx, eax
je 0x14004ff39
mov edx, ecx
jle 0x14004ff30
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 0x14004ff47
mov dword [rbx], r8d
jmp 0x140050bae
cmp edx, r8d
jge 0x140050bae
mov rax, qword [rdi + 0x20]
movsxd rcx, edx
cmp word [rax + rcx*2], 0xa
je 0x140050bae
inc edx
mov dword [rbx], edx
cmp edx, r8d
jl 0x14004ff50
jmp 0x140050bae
mov edx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
mov ecx, dword [rdi + 0xc]
cmp r8d, edx
je 0x14004ffa6
mov eax, r8d
cmp r8d, ecx
jle 0x14004ff8c
mov dword [rbx + 4], ecx
mov eax, ecx
mov r9d, edx
cmp edx, ecx
jle 0x14004ff99
mov dword [rbx + 8], ecx
mov r9d, ecx
mov edx, r9d
mov r8d, eax
cmp eax, r9d
jne 0x14004ffa6
mov dword [rbx], eax
mov eax, dword [rbx]
cmp eax, ecx
cmovg eax, ecx
cmp r8d, edx
jne 0x14004ffba
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
jmp 0x14004ffbc
mov eax, edx
test eax, eax
jle 0x14004ffc5
dec eax
mov dword [rbx + 8], eax
mov dword [rbx], eax
jmp 0x140050bae
mov esi, dword [rbx + 0x10]
mov dword [rsp + 0x20], esi
jmp 0x14004ffd7
mov esi, ebp
mov ecx, dword [rbx + 8]
mov edx, dword [rbx + 4]
bt r8d, 0x16
jae 0x140050075
cmp edx, ecx
jne 0x140050071
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 0x14005001d
cmp edx, eax
jle 0x14005000e
mov dword [rbx + 4], eax
mov edx, eax
cmp ecx, eax
jle 0x140050017
mov dword [rbx + 8], eax
mov ecx, eax
cmp edx, ecx
jne 0x14005001d
mov dword [rbx], edx
mov r8d, dword [rbx]
cmp r8d, eax
jle 0x14005002a
mov dword [rbx], eax
mov r8d, eax
movzx r9d, byte [rbx + 0x17]
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.14004f760
xor ecx, ecx
mov dword [rsp + 0x40], ecx
mov ebp, ecx
test esi, esi
jle 0x140050bb2
vmovss xmm7, dword [rsp + 0x28]
vmovss xmm6, dword [0x1400679b0]
mov r11d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x34]
cmp byte [rbx + 0x16], 0
je 0x1400500b3
vmovss xmm5, dword [rbx + 0x1c]
jmp 0x1400500b7
mov dword [rbx], ecx
jmp 0x14004fffa
cmp edx, ecx
je 0x14004fffa
jle 0x140050087
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 0x140050098
mov dword [rbx + 8], eax
mov ecx, eax
cmp edx, ecx
jne 0x14005009e
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 0x14005001d
vmovaps xmm5, xmm7
add r13d, r11d
test r11d, r11d
je 0x140050bb2
mov rax, qword [rdi + 0x20]
movsxd r15, r13d
cmp word [rax + r15*2 - 2], 0xa
jne 0x140050bb2
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 0x140050121
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r11]
mov ecx, esi
add r11, 2
cmp ax, 0xa
je 0x14005011f
mov dword [rsp + 0x20], ecx
cmp r11, r9
jae 0x14005011f
mov dword [rsp + 0x20], ecx
jmp 0x140050100
xor ecx, ecx
sub r11, r8
mov esi, ecx
sub r11, r10
sar r11, 1
vxorps xmm3, xmm3, xmm3
cmp r11d, 4
jl 0x1400502e4
mov rbp, rcx
nop dword [rax]
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax]
cmp ecx, 0xa
je 0x14005034e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x14005016b
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140050170
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x14005034e
vaddss xmm4, xmm3, xmm2
vcomiss xmm4, xmm5
ja 0x14005034e
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 0x14005034e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x1400501cf
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x1400501d4
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x14005034e
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x14005034e
inc r10d
mov dword [rbx], r10d
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax + 4]
cmp ecx, 0xa
je 0x14005034e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x140050230
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140050235
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x14005034e
vaddss xmm4, xmm3, xmm2
vcomiss xmm4, xmm5
ja 0x14005034e
inc r10d
mov dword [rbx], r10d
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax + 6]
cmp ecx, 0xa
je 0x14005034e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x140050291
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140050296
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x14005034e
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x14005034e
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 0x140050140
cmp esi, r11d
jl 0x1400502ec
jmp 0x14005034e
test r11d, r11d
jle 0x140050352
mov rbp, rcx
lea r8, [r15 + rbp]
add r8, r8
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax]
cmp ecx, 0xa
je 0x14005034e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x14005031a
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x14005031f
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x14005034e
vaddss xmm3, xmm3, xmm2
vcomiss xmm3, xmm5
ja 0x14005034e
inc dword [rbx]
add r8, 2
inc esi
cmp esi, r11d
jl 0x1400502f3
mov ebp, dword [rsp + 0x40]
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov eax, dword [r14]
cmp ecx, edx
je 0x140050377
cmp ecx, eax
jle 0x140050368
mov dword [rbx + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x140050371
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140050377
mov dword [rbx], ecx
mov ecx, dword [rbx]
cmp ecx, eax
jle 0x140050381
mov dword [rbx], eax
mov ecx, eax
test dword [rsp + 0x24], 0x400000
vmovss dword [rbx + 0x1c], xmm5
mov byte [rbx + 0x16], 1
je 0x140050397
mov dword [rbx + 8], ecx
mov esi, dword [rsp + 0x20]
inc ebp
mov dword [rsp + 0x40], ebp
mov ecx, 0
cmp ebp, esi
jl 0x140050064
jmp 0x140050bb2
mov ebp, dword [rbx + 0x10]
mov dword [rsp + 0x20], ebp
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
bt r8d, 0x16
jae 0x140050451
cmp ecx, eax
jne 0x14005044d
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 0x1400503fc
cmp ecx, edx
jle 0x1400503ed
mov dword [rbx + 4], edx
mov ecx, edx
cmp eax, edx
jle 0x1400503f6
mov dword [rbx + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x1400503fc
mov dword [rbx], ecx
mov r8d, dword [rbx]
cmp r8d, edx
jle 0x140050409
mov dword [rbx], edx
mov r8d, edx
movzx r9d, byte [rbx + 0x17]
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.14004f760
xor r11d, r11d
mov r13d, r11d
test ebp, ebp
jle 0x140050bb2
vmovss xmm7, dword [rsp + 0x28]
vmovss xmm6, dword [0x1400679b0]
mov r15d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x34]
cmp byte [rbx + 0x16], 0
je 0x14005046e
vmovss xmm5, dword [rbx + 0x1c]
jmp 0x140050472
mov dword [rbx], eax
jmp 0x1400503d9
cmp ecx, eax
je 0x1400503d9
jle 0x14005045c
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 0x1400503fc
vmovaps xmm5, xmm7
cmp r15d, eax
je 0x140050bb2
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 0x1400504be
nop dword [rax]
movzx eax, word [rsi]
mov ecx, ebp
add rsi, 2
cmp ax, 0xa
je 0x1400504be
mov dword [rsp + 0x20], ecx
cmp rsi, r8
jae 0x1400504be
mov dword [rsp + 0x20], ecx
jmp 0x1400504a0
sub rsi, r10
sub rsi, r9
sar rsi, 1
vxorps xmm2, xmm2, xmm2
cmp esi, 4
jl 0x14005067c
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 0x1400506e3
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x14005050e
mov rax, qword [rdx + 8]
vmovss xmm3, dword [rax + rcx*4]
jmp 0x140050513
vmovss xmm3, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm3, xmm1, xmm3
vucomiss xmm3, xmm6
je 0x1400506e3
vaddss xmm4, xmm2, xmm3
vcomiss xmm4, xmm5
ja 0x1400506e3
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 0x1400506e3
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x140050572
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140050577
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x1400506e3
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x1400506e3
inc r9d
mov dword [rbx], r9d
mov rax, qword [rdi + 0x20]
movzx ecx, word [rax + r10*2 + 4]
cmp ecx, 0xa
je 0x1400506e3
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x1400505d3
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x1400505d8
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x1400506e3
vaddss xmm3, xmm3, xmm2
vcomiss xmm3, xmm5
ja 0x1400506e3
inc r9d
mov dword [rbx], r9d
mov rax, qword [rdi + 0x20]
movzx ecx, word [rax + r10*2 + 6]
cmp ecx, 0xa
je 0x1400506e3
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x140050634
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140050639
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x1400506e3
vaddss xmm2, xmm3, xmm2
vcomiss xmm2, xmm5
ja 0x1400506e3
lea eax, [r9 + 1]
add r11d, 4
mov dword [rbx], eax
add ebp, 4
lea eax, [rsi - 3]
cmp r11d, eax
jl 0x1400504e0
cmp r11d, esi
jge 0x1400506e3
lea eax, [r11 + r15]
movsxd rcx, eax
mov rax, qword [rdi + 0x20]
movzx r8d, word [rax + rcx*2]
cmp r8d, 0xa
je 0x1400506e3
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c00]
cmp r8d, dword [rdx]
jge 0x1400506b2
mov rax, qword [rdx + 8]
vmovss xmm3, dword [rax + r8*4]
jmp 0x1400506b7
vmovss xmm3, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm3, xmm1, xmm3
vucomiss xmm3, xmm6
je 0x1400506e3
vaddss xmm2, xmm2, xmm3
vcomiss xmm2, xmm5
ja 0x1400506e3
inc dword [rbx]
inc r11d
cmp r11d, esi
jl 0x140050681
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov eax, dword [r14]
cmp ecx, edx
je 0x140050708
cmp ecx, eax
jle 0x1400506f9
mov dword [rbx + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x140050702
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140050708
mov dword [rbx], ecx
mov ecx, dword [rbx]
cmp ecx, eax
jle 0x140050712
mov dword [rbx], eax
mov ecx, eax
test dword [rsp + 0x24], 0x400000
vmovss dword [rbx + 0x1c], xmm5
mov byte [rbx + 0x16], 1
je 0x140050728
mov dword [rbx + 8], ecx
test r15d, r15d
jle 0x140050778
lea r8d, [r15 - 1]
test r8d, r8d
jle 0x14005075a
mov rdx, qword [rdi + 0x20]
add rdx, 0xfffffffffffffffe
movsxd rcx, r8d
lea rdx, [rdx + rcx*2]
cmp word [rdx], 0xa
je 0x14005075a
dec r8d
dec rcx
sub rdx, 2
test rcx, rcx
jg 0x140050745
xor r11d, r11d
mov ebp, dword [rsp + 0x20]
inc r13d
mov eax, r15d
mov r15d, r8d
cmp r13d, ebp
jl 0x140050440
jmp 0x140050bb2
xor r11d, r11d
mov r8d, r11d
jmp 0x14005075d
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x140050790
mov eax, dword [rbx]
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
mov esi, dword [rbx]
sub esi, ebp
js 0x1400507a8
mov edx, esi
mov rcx, rdi
call fcn.14004f070
test eax, eax
jne 0x1400507a8
sub esi, ebp
jns 0x140050796
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 0x1400507da
cmp ecx, eax
jle 0x1400507c7
mov dword [rbx + 4], eax
mov ecx, eax
mov edx, esi
cmp esi, eax
jle 0x1400507d2
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1400507da
mov dword [rbx], ecx
mov esi, ecx
cmp esi, eax
jle 0x140050bb2
mov dword [rbx], eax
jmp 0x140050bb2
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x1400507f9
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 0x140050812
mov edx, esi
mov rcx, rdi
call fcn.14004f170
mov esi, eax
jmp 0x140050839
mov ebp, dword [rdi + 0xc]
inc esi
cmp esi, ebp
jge 0x140050836
nop dword [rax + rax]
mov edx, esi
mov rcx, rdi
call fcn.14004f070
test eax, eax
jne 0x140050834
inc esi
cmp esi, ebp
jl 0x140050820
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 0x140050864
cmp ecx, eax
jle 0x140050851
mov dword [rbx + 4], eax
mov ecx, eax
mov edx, esi
cmp esi, eax
jle 0x14005085c
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140050864
mov dword [rbx], ecx
mov esi, ecx
cmp esi, eax
jle 0x140050bb2
mov dword [rbx], eax
jmp 0x140050bb2
mov eax, dword [rbx + 8]
mov edx, dword [rbx + 4]
cmp edx, eax
jne 0x140050886
mov eax, dword [rbx]
mov edx, eax
mov dword [rbx + 4], eax
jmp 0x140050888
mov dword [rbx], eax
inc eax
mov dword [rbx + 8], eax
mov ecx, dword [rdi + 0xc]
cmp edx, eax
je 0x1400508b4
cmp edx, ecx
jle 0x14005089d
mov dword [rbx + 4], ecx
mov edx, ecx
mov r8d, eax
cmp eax, ecx
jle 0x1400508aa
mov dword [rbx + 8], ecx
mov r8d, ecx
cmp edx, r8d
mov eax, r8d
cmove eax, r8d
mov dword [rbx], eax
jmp 0x140050bae
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x14005090c
movsxd rsi, dword [rbx]
cmp esi, dword [rdi + 0xc]
jge 0x140050bae
lea rcx, [rbx + 0x20]
xor r9d, r9d
mov r8d, ebp
mov edx, esi
call fcn.140050d30
test rax, rax
je 0x1400508f2
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.14004f2d0
jmp 0x140050bae
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
je 0x14005091c
mov rdx, rbx
mov rcx, rdi
call fcn.14004f980
jmp 0x140050bae
mov eax, dword [rdi + 0xc]
mov esi, dword [rbx]
cmp esi, eax
jle 0x140050929
mov dword [rbx], eax
mov esi, eax
test esi, esi
jle 0x140050bae
lea rcx, [rbx + 0x20]
xor r9d, r9d
mov r8d, ebp
lea edx, [rsi - 1]
call fcn.140050d30
test rax, rax
je 0x140050959
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.14004f2d0
dec dword [rbx]
jmp 0x140050bae
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x14005097b
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 0x140050bb2
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x1400509a7
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 0x140050bae
mov dword [rbx], eax
mov eax, dword [rdi + 0xc]
mov dword [rbx + 8], eax
mov dword [rbx], eax
jmp 0x140050bae
mov r8d, dword [rbx + 8]
mov r9d, dword [rbx + 4]
mov ecx, dword [rdi + 0xc]
cmp r9d, r8d
je 0x1400509ec
mov eax, r9d
cmp r9d, ecx
jle 0x1400509d3
mov dword [rbx + 4], ecx
mov eax, ecx
mov edx, r8d
cmp r8d, ecx
jle 0x1400509e0
mov dword [rbx + 8], ecx
mov edx, ecx
mov r8d, edx
mov r9d, eax
cmp eax, edx
jne 0x1400509ec
mov dword [rbx], eax
mov edx, dword [rbx]
mov eax, edx
cmp edx, ecx
jle 0x1400509fa
mov dword [rbx], ecx
mov edx, ecx
mov eax, ecx
cmp r9d, r8d
jne 0x140050a07
mov dword [rbx + 8], edx
mov dword [rbx + 4], edx
jmp 0x140050a10
mov dword [rbx], r8d
mov edx, r8d
mov eax, r8d
cmp byte [rbx + 0x17], 0
je 0x140050a25
xor r8d, r8d
mov dword [rbx], r8d
mov dword [rbx + 8], r8d
jmp 0x140050bae
mov r8d, eax
test edx, edx
jle 0x140050a4e
nop dword [rax]
mov r8d, eax
mov ecx, edx
mov rax, qword [rdi + 0x20]
cmp word [rax + rcx*2 - 2], 0xa
je 0x140050a4e
dec edx
mov dword [rbx], edx
mov eax, edx
mov r8d, edx
test edx, edx
jg 0x140050a30
mov dword [rbx + 8], r8d
jmp 0x140050bae
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov r9d, dword [rdi + 0xc]
cmp ecx, eax
je 0x140050a8e
mov edx, ecx
cmp ecx, r9d
jle 0x140050a73
mov dword [rbx + 4], r9d
mov edx, r9d
mov r8d, eax
cmp eax, r9d
jle 0x140050a82
mov dword [rbx + 8], r9d
mov r8d, r9d
mov eax, r8d
mov ecx, edx
cmp edx, r8d
jne 0x140050a8e
mov dword [rbx], edx
mov r8d, dword [rbx]
mov edx, r8d
cmp r8d, r9d
jle 0x140050aa2
mov dword [rbx], r9d
mov r8d, r9d
mov edx, r9d
cmp ecx, eax
jne 0x140050ab0
mov dword [rbx + 8], r8d
mov dword [rbx + 4], r8d
jmp 0x140050ab7
mov dword [rbx], eax
mov r8d, eax
mov edx, eax
cmp byte [rbx + 0x17], 0
je 0x140050acb
mov edx, r9d
mov dword [rbx], r9d
mov dword [rbx + 8], edx
jmp 0x140050bae
cmp r8d, r9d
jge 0x140050aec
mov rax, qword [rdi + 0x20]
movsxd rcx, r8d
cmp word [rax + rcx*2], 0xa
je 0x140050aec
lea edx, [r8 + 1]
mov dword [rbx], edx
mov r8d, edx
cmp edx, r9d
jl 0x140050ad0
mov dword [rbx + 8], edx
jmp 0x140050bae
xor eax, eax
cmp r8d, 0x200000
cmovge r8d, eax
test r8d, r8d
jle 0x140050bb2
mov word [rsp + 0x40], r8w
cmp r8d, 0xa
jne 0x140050b1f
cmp byte [rbx + 0x17], al
jne 0x140050bb2
cmp byte [rbx + 0xc], al
je 0x140050b7a
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x140050b7a
movsxd rsi, dword [rbx]
cmp esi, dword [rdi + 0xc]
jge 0x140050b7a
lea rcx, [rbx + 0x20]
mov r9d, ebp
mov r8d, ebp
mov edx, esi
call fcn.140050d30
test rax, rax
je 0x140050b55
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.14004f2d0
mov edx, dword [rbx]
lea r8, [rsp + 0x40]
mov r9d, ebp
mov rcx, rdi
call fcn.14004f3a0
test al, al
je 0x140050bb2
jmp 0x140050bac
mov rdx, rbx
mov rcx, rdi
call fcn.14004f980
mov edx, dword [rbx]
lea r8, [rsp + 0x40]
mov r9d, ebp
mov rcx, rdi
call fcn.14004f3a0
test al, al
je 0x140050bb2
mov edx, dword [rbx]
lea rcx, [rbx + 0x20]
mov r9d, ebp
xor r8d, r8d
call fcn.140050d30
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.1400597f0
add rsp, 0x90
pop rdi
pop rbp
pop rbx
ret