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

Disassembly:
mov r11, rsp
push rbx
push rbp
push rdi
sub rsp, 0x90
mov rax, qword [0x1400b5028]
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 0x140054a84
je 0x140054eb0
lea eax, [r8 - 0x200000]
cmp eax, 0xf
ja case.0x140054aa0.6291466
cdqe
mov ecx, dword [rdx + rax*4 + 0x55b38]
add rcx, rdx
jmp rcx
lea eax, [r8 - 0x600001]
cmp eax, 0xe
ja case.0x140054aa0.6291466
cdqe
mov ecx, dword [rdx + rax*4 + 0x55b78]
add rcx, rdx
jmp rcx
mov eax, r8d
btr eax, 0x16
cmp eax, 0x20000f
je 0x140054f0c
cmp byte [rbx + 0x17], 0
je 0x140054f15
and r8d, 0x400000
or r8d, 0x200001
jmp 0x140054a52
mov eax, r8d
btr eax, 0x16
cmp eax, 0x20000e
je 0x1400552f3
cmp byte [rbx + 0x17], 0
je 0x1400552fa
and r8d, 0x400000
bts r8d, 0x15
jmp 0x140054a52
mov rdx, rbx
mov rcx, rdi
call fcn.140055e20
jmp 0x140055aee
lea rsi, [rbx + 0x20]
movsx rax, word [rsi + 0xe00]
cmp eax, 0x63
je 0x140055aee
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 0x140054bc8
mov ecx, dword [rsi + 0xe04]
lea eax, [r11 + rcx]
cmp eax, dword [rsi + 0xe08]
jle 0x140054b7b
xor eax, eax
mov qword [r10 + 4], rax
jmp 0x140054bba
mov dword [r10 + 0xc], ecx
xor ebp, ebp
add dword [rsi + 0xe04], r11d
cmp dword [r10 + 4], ebp
jle 0x140054bba
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 0x140054b90
mov r8d, r11d
mov edx, r14d
mov rcx, rdi
call fcn.140054210
vpextrd ebp, xmm6, 1
test ebp, ebp
je 0x140054bfa
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.1400542e0
add dword [rsi + 0xe08], ebp
lea eax, [r14 + rbp]
mov dword [rbx], eax
inc word [rsi + 0xdfe]
inc word [rsi + 0xe00]
jmp 0x140055aee
mov ecx, dword [rbx + 8]
mov eax, dword [rbx + 4]
cmp eax, ecx
jne 0x140054c91
mov eax, dword [rbx]
test eax, eax
jle 0x140055aee
dec eax
mov dword [rbx], eax
jmp 0x140055aee
mov ecx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
cmp r8d, ecx
je 0x140054c71
jle 0x140054c4a
mov dword [rbx + 8], r8d
mov eax, r8d
mov dword [rbx + 4], ecx
jmp 0x140054c4f
mov eax, ecx
mov ecx, r8d
mov edx, dword [rdi + 0xc]
cmp ecx, edx
cmovg ecx, edx
cmp eax, edx
jle 0x140054c60
mov dword [rbx + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x140054c66
mov dword [rbx], ecx
mov dword [rbx], eax
mov dword [rbx + 4], eax
mov byte [rbx + 0x16], 0
jmp 0x140054c75
inc dword [rbx]
mov eax, dword [rbx]
mov ecx, dword [rdi + 0xc]
cmp eax, ecx
jle 0x140055aee
mov dword [rbx], ecx
jmp 0x140055aee
mov ecx, dword [rbx + 8]
mov eax, dword [rbx + 4]
cmp eax, ecx
je 0x140054ca2
jle 0x140054c98
mov eax, ecx
mov dword [rbx + 4], ecx
mov dword [rbx], eax
mov dword [rbx + 8], eax
jmp 0x140055aee
mov esi, dword [rbx]
sub esi, ebp
js 0x140054cc2
nop dword [rax + rax]
mov edx, esi
mov rcx, rdi
call fcn.140053fb0
test eax, eax
jne 0x140054cc2
sub esi, ebp
jns 0x140054cb0
xor eax, eax
test esi, esi
cmovs esi, eax
mov dword [rbx], esi
mov eax, dword [rdi + 0xc]
cmp esi, eax
jle 0x140055af2
mov dword [rbx], eax
jmp 0x140055af2
mov eax, dword [rbx + 8]
mov r8d, dword [rbx + 4]
cmp r8d, eax
je 0x140054d1d
jle 0x140054cf7
mov dword [rbx + 8], r8d
mov ecx, r8d
mov dword [rbx + 4], eax
jmp 0x140054cfc
mov ecx, eax
mov eax, r8d
mov edx, dword [rdi + 0xc]
cmp eax, edx
cmovg eax, edx
cmp ecx, edx
jle 0x140054d0d
mov dword [rbx + 8], edx
mov ecx, edx
cmp eax, ecx
jne 0x140054d13
mov dword [rbx], eax
mov dword [rbx], ecx
mov dword [rbx + 4], ecx
jmp 0x140055aee
mov rax, qword [rdi]
mov esi, dword [rbx]
cmp byte [rax + 0x79], 0
je 0x140054d36
mov edx, esi
mov rcx, rdi
call fcn.1400540b0
mov esi, eax
jmp 0x140054d59
mov ebp, dword [rdi + 0xc]
inc esi
cmp esi, ebp
jge 0x140054d56
nop
mov edx, esi
mov rcx, rdi
call fcn.140053fb0
test eax, eax
jne 0x140054d54
inc esi
cmp esi, ebp
jl 0x140054d40
cmp esi, ebp
cmovg esi, ebp
mov dword [rbx], esi
mov eax, dword [rdi + 0xc]
cmp esi, eax
jle 0x140055af2
mov dword [rbx], eax
jmp 0x140055af2
xor eax, eax
mov qword [rbx + 4], rax
mov dword [rbx], eax
mov byte [rbx + 0x16], al
jmp 0x140055af2
mov eax, dword [rdi + 0xc]
mov dword [rbx], eax
xor eax, eax
mov qword [rbx + 4], rax
mov byte [rbx + 0x16], al
jmp 0x140055af2
mov ecx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
mov eax, dword [rdi + 0xc]
cmp r8d, ecx
je 0x140054dc6
mov edx, r8d
cmp r8d, eax
jle 0x140054dac
mov dword [rbx + 4], eax
mov edx, eax
mov r9d, ecx
cmp ecx, eax
jle 0x140054db9
mov dword [rbx + 8], eax
mov r9d, eax
mov ecx, r9d
mov r8d, edx
cmp edx, r9d
jne 0x140054dc6
mov dword [rbx], edx
mov edx, dword [rbx]
cmp edx, eax
jle 0x140054dd0
mov dword [rbx], eax
mov edx, eax
cmp r8d, ecx
je 0x140054de8
mov edx, r8d
jle 0x140054ddf
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 0x140054df7
xor eax, eax
mov dword [rbx], eax
jmp 0x140055aee
test edx, edx
jle 0x140055aee
nop
mov rax, qword [rdi + 0x20]
mov ecx, edx
cmp word [rax + rcx*2 - 2], 0xa
je 0x140055aee
dec edx
mov dword [rbx], edx
test edx, edx
jg 0x140054e00
jmp 0x140055aee
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov r8d, dword [rdi + 0xc]
cmp ecx, eax
je 0x140054e56
mov edx, ecx
cmp ecx, r8d
jle 0x140054e3b
mov dword [rbx + 4], r8d
mov edx, r8d
mov r9d, eax
cmp eax, r8d
jle 0x140054e4a
mov dword [rbx + 8], r8d
mov r9d, r8d
mov eax, r9d
mov ecx, edx
cmp edx, r9d
jne 0x140054e56
mov dword [rbx], edx
mov edx, dword [rbx]
cmp edx, r8d
jle 0x140054e63
mov dword [rbx], r8d
mov edx, r8d
cmp ecx, eax
je 0x140054e79
mov edx, ecx
jle 0x140054e70
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 0x140054e87
mov dword [rbx], r8d
jmp 0x140055aee
cmp edx, r8d
jge 0x140055aee
mov rax, qword [rdi + 0x20]
movsxd rcx, edx
cmp word [rax + rcx*2], 0xa
je 0x140055aee
inc edx
mov dword [rbx], edx
cmp edx, r8d
jl 0x140054e90
jmp 0x140055aee
mov edx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
mov ecx, dword [rdi + 0xc]
cmp r8d, edx
je 0x140054ee6
mov eax, r8d
cmp r8d, ecx
jle 0x140054ecc
mov dword [rbx + 4], ecx
mov eax, ecx
mov r9d, edx
cmp edx, ecx
jle 0x140054ed9
mov dword [rbx + 8], ecx
mov r9d, ecx
mov edx, r9d
mov r8d, eax
cmp eax, r9d
jne 0x140054ee6
mov dword [rbx], eax
mov eax, dword [rbx]
cmp eax, ecx
cmovg eax, ecx
cmp r8d, edx
jne 0x140054efa
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
jmp 0x140054efc
mov eax, edx
test eax, eax
jle 0x140054f05
dec eax
mov dword [rbx + 8], eax
mov dword [rbx], eax
jmp 0x140055aee
mov esi, dword [rbx + 0x10]
mov dword [rsp + 0x20], esi
jmp 0x140054f17
mov esi, ebp
mov ecx, dword [rbx + 8]
mov edx, dword [rbx + 4]
bt r8d, 0x16
jae 0x140054fb5
cmp edx, ecx
jne 0x140054fb1
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 0x140054f5d
cmp edx, eax
jle 0x140054f4e
mov dword [rbx + 4], eax
mov edx, eax
cmp ecx, eax
jle 0x140054f57
mov dword [rbx + 8], eax
mov ecx, eax
cmp edx, ecx
jne 0x140054f5d
mov dword [rbx], edx
mov r8d, dword [rbx]
cmp r8d, eax
jle 0x140054f6a
mov dword [rbx], eax
mov r8d, eax
movzx r9d, byte [rbx + 0x17]
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.1400546a0
xor ecx, ecx
mov dword [rsp + 0x40], ecx
mov ebp, ecx
test esi, esi
jle 0x140055af2
vmovss xmm7, dword [rsp + 0x28]
vmovss xmm6, dword [0x1400a66dc]
mov r11d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x34]
cmp byte [rbx + 0x16], 0
je 0x140054ff3
vmovss xmm5, dword [rbx + 0x1c]
jmp 0x140054ff7
mov dword [rbx], ecx
jmp 0x140054f3a
cmp edx, ecx
je 0x140054f3a
jle 0x140054fc7
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 0x140054fd8
mov dword [rbx + 8], eax
mov ecx, eax
cmp edx, ecx
jne 0x140054fde
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 0x140054f5d
vmovaps xmm5, xmm7
add r13d, r11d
test r11d, r11d
je 0x140055af2
mov rax, qword [rdi + 0x20]
movsxd r15, r13d
cmp word [rax + r15*2 - 2], 0xa
jne 0x140055af2
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 0x140055061
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r11]
mov ecx, esi
add r11, 2
cmp ax, 0xa
je 0x14005505f
mov dword [rsp + 0x20], ecx
cmp r11, r9
jae 0x14005505f
mov dword [rsp + 0x20], ecx
jmp 0x140055040
xor ecx, ecx
sub r11, r8
mov esi, ecx
sub r11, r10
sar r11, 1
vxorps xmm3, xmm3, xmm3
cmp r11d, 4
jl 0x140055224
mov rbp, rcx
nop dword [rax]
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax]
cmp ecx, 0xa
je 0x14005528e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x1400550ab
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x1400550b0
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x14005528e
vaddss xmm4, xmm3, xmm2
vcomiss xmm4, xmm5
ja 0x14005528e
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 0x14005528e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x14005510f
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140055114
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x14005528e
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x14005528e
inc r10d
mov dword [rbx], r10d
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax + 4]
cmp ecx, 0xa
je 0x14005528e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x140055170
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140055175
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x14005528e
vaddss xmm4, xmm3, xmm2
vcomiss xmm4, xmm5
ja 0x14005528e
inc r10d
mov dword [rbx], r10d
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax + 6]
cmp ecx, 0xa
je 0x14005528e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x1400551d1
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x1400551d6
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x14005528e
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x14005528e
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 0x140055080
cmp esi, r11d
jl 0x14005522c
jmp 0x14005528e
test r11d, r11d
jle 0x140055292
mov rbp, rcx
lea r8, [r15 + rbp]
add r8, r8
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax]
cmp ecx, 0xa
je 0x14005528e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x14005525a
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x14005525f
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x14005528e
vaddss xmm3, xmm3, xmm2
vcomiss xmm3, xmm5
ja 0x14005528e
inc dword [rbx]
add r8, 2
inc esi
cmp esi, r11d
jl 0x140055233
mov ebp, dword [rsp + 0x40]
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov eax, dword [r14]
cmp ecx, edx
je 0x1400552b7
cmp ecx, eax
jle 0x1400552a8
mov dword [rbx + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x1400552b1
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1400552b7
mov dword [rbx], ecx
mov ecx, dword [rbx]
cmp ecx, eax
jle 0x1400552c1
mov dword [rbx], eax
mov ecx, eax
test dword [rsp + 0x24], 0x400000
vmovss dword [rbx + 0x1c], xmm5
mov byte [rbx + 0x16], 1
je 0x1400552d7
mov dword [rbx + 8], ecx
mov esi, dword [rsp + 0x20]
inc ebp
mov dword [rsp + 0x40], ebp
mov ecx, 0
cmp ebp, esi
jl 0x140054fa4
jmp 0x140055af2
mov ebp, dword [rbx + 0x10]
mov dword [rsp + 0x20], ebp
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
bt r8d, 0x16
jae 0x140055391
cmp ecx, eax
jne 0x14005538d
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 0x14005533c
cmp ecx, edx
jle 0x14005532d
mov dword [rbx + 4], edx
mov ecx, edx
cmp eax, edx
jle 0x140055336
mov dword [rbx + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x14005533c
mov dword [rbx], ecx
mov r8d, dword [rbx]
cmp r8d, edx
jle 0x140055349
mov dword [rbx], edx
mov r8d, edx
movzx r9d, byte [rbx + 0x17]
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.1400546a0
xor r11d, r11d
mov r13d, r11d
test ebp, ebp
jle 0x140055af2
vmovss xmm7, dword [rsp + 0x28]
vmovss xmm6, dword [0x1400a66dc]
mov r15d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x34]
cmp byte [rbx + 0x16], 0
je 0x1400553ae
vmovss xmm5, dword [rbx + 0x1c]
jmp 0x1400553b2
mov dword [rbx], eax
jmp 0x140055319
cmp ecx, eax
je 0x140055319
jle 0x14005539c
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 0x14005533c
vmovaps xmm5, xmm7
cmp r15d, eax
je 0x140055af2
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 0x1400553fe
nop dword [rax]
movzx eax, word [rsi]
mov ecx, ebp
add rsi, 2
cmp ax, 0xa
je 0x1400553fe
mov dword [rsp + 0x20], ecx
cmp rsi, r8
jae 0x1400553fe
mov dword [rsp + 0x20], ecx
jmp 0x1400553e0
sub rsi, r10
sub rsi, r9
sar rsi, 1
vxorps xmm2, xmm2, xmm2
cmp esi, 4
jl 0x1400555bc
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 0x140055623
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x14005544e
mov rax, qword [rdx + 8]
vmovss xmm3, dword [rax + rcx*4]
jmp 0x140055453
vmovss xmm3, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm3, xmm1, xmm3
vucomiss xmm3, xmm6
je 0x140055623
vaddss xmm4, xmm2, xmm3
vcomiss xmm4, xmm5
ja 0x140055623
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 0x140055623
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x1400554b2
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x1400554b7
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140055623
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x140055623
inc r9d
mov dword [rbx], r9d
mov rax, qword [rdi + 0x20]
movzx ecx, word [rax + r10*2 + 4]
cmp ecx, 0xa
je 0x140055623
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x140055513
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140055518
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140055623
vaddss xmm3, xmm3, xmm2
vcomiss xmm3, xmm5
ja 0x140055623
inc r9d
mov dword [rbx], r9d
mov rax, qword [rdi + 0x20]
movzx ecx, word [rax + r10*2 + 6]
cmp ecx, 0xa
je 0x140055623
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x140055574
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140055579
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140055623
vaddss xmm2, xmm3, xmm2
vcomiss xmm2, xmm5
ja 0x140055623
lea eax, [r9 + 1]
add r11d, 4
mov dword [rbx], eax
add ebp, 4
lea eax, [rsi - 3]
cmp r11d, eax
jl 0x140055420
cmp r11d, esi
jge 0x140055623
lea eax, [r11 + r15]
movsxd rcx, eax
mov rax, qword [rdi + 0x20]
movzx r8d, word [rax + rcx*2]
cmp r8d, 0xa
je 0x140055623
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp r8d, dword [rdx]
jge 0x1400555f2
mov rax, qword [rdx + 8]
vmovss xmm3, dword [rax + r8*4]
jmp 0x1400555f7
vmovss xmm3, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm3, xmm1, xmm3
vucomiss xmm3, xmm6
je 0x140055623
vaddss xmm2, xmm2, xmm3
vcomiss xmm2, xmm5
ja 0x140055623
inc dword [rbx]
inc r11d
cmp r11d, esi
jl 0x1400555c1
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov eax, dword [r14]
cmp ecx, edx
je 0x140055648
cmp ecx, eax
jle 0x140055639
mov dword [rbx + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x140055642
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140055648
mov dword [rbx], ecx
mov ecx, dword [rbx]
cmp ecx, eax
jle 0x140055652
mov dword [rbx], eax
mov ecx, eax
test dword [rsp + 0x24], 0x400000
vmovss dword [rbx + 0x1c], xmm5
mov byte [rbx + 0x16], 1
je 0x140055668
mov dword [rbx + 8], ecx
test r15d, r15d
jle 0x1400556b8
lea r8d, [r15 - 1]
test r8d, r8d
jle 0x14005569a
mov rdx, qword [rdi + 0x20]
add rdx, 0xfffffffffffffffe
movsxd rcx, r8d
lea rdx, [rdx + rcx*2]
cmp word [rdx], 0xa
je 0x14005569a
dec r8d
dec rcx
sub rdx, 2
test rcx, rcx
jg 0x140055685
xor r11d, r11d
mov ebp, dword [rsp + 0x20]
inc r13d
mov eax, r15d
mov r15d, r8d
cmp r13d, ebp
jl 0x140055380
jmp 0x140055af2
xor r11d, r11d
mov r8d, r11d
jmp 0x14005569d
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x1400556d0
mov eax, dword [rbx]
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
mov esi, dword [rbx]
sub esi, ebp
js 0x1400556e8
mov edx, esi
mov rcx, rdi
call fcn.140053fb0
test eax, eax
jne 0x1400556e8
sub esi, ebp
jns 0x1400556d6
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 0x14005571a
cmp ecx, eax
jle 0x140055707
mov dword [rbx + 4], eax
mov ecx, eax
mov edx, esi
cmp esi, eax
jle 0x140055712
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x14005571a
mov dword [rbx], ecx
mov esi, ecx
cmp esi, eax
jle 0x140055af2
mov dword [rbx], eax
jmp 0x140055af2
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x140055739
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 0x140055752
mov edx, esi
mov rcx, rdi
call fcn.1400540b0
mov esi, eax
jmp 0x140055779
mov ebp, dword [rdi + 0xc]
inc esi
cmp esi, ebp
jge 0x140055776
nop dword [rax + rax]
mov edx, esi
mov rcx, rdi
call fcn.140053fb0
test eax, eax
jne 0x140055774
inc esi
cmp esi, ebp
jl 0x140055760
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 0x1400557a4
cmp ecx, eax
jle 0x140055791
mov dword [rbx + 4], eax
mov ecx, eax
mov edx, esi
cmp esi, eax
jle 0x14005579c
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1400557a4
mov dword [rbx], ecx
mov esi, ecx
cmp esi, eax
jle 0x140055af2
mov dword [rbx], eax
jmp 0x140055af2
mov eax, dword [rbx + 8]
mov edx, dword [rbx + 4]
cmp edx, eax
jne 0x1400557c6
mov eax, dword [rbx]
mov edx, eax
mov dword [rbx + 4], eax
jmp 0x1400557c8
mov dword [rbx], eax
inc eax
mov dword [rbx + 8], eax
mov ecx, dword [rdi + 0xc]
cmp edx, eax
je 0x1400557f4
cmp edx, ecx
jle 0x1400557dd
mov dword [rbx + 4], ecx
mov edx, ecx
mov r8d, eax
cmp eax, ecx
jle 0x1400557ea
mov dword [rbx + 8], ecx
mov r8d, ecx
cmp edx, r8d
mov eax, r8d
cmove eax, r8d
mov dword [rbx], eax
jmp 0x140055aee
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x14005584c
movsxd rsi, dword [rbx]
cmp esi, dword [rdi + 0xc]
jge 0x140055aee
lea rcx, [rbx + 0x20]
xor r9d, r9d
mov r8d, ebp
mov edx, esi
call fcn.140055c70
test rax, rax
je 0x140055832
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.140054210
jmp 0x140055aee
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
je 0x14005585c
mov rdx, rbx
mov rcx, rdi
call fcn.1400548c0
jmp 0x140055aee
mov eax, dword [rdi + 0xc]
mov esi, dword [rbx]
cmp esi, eax
jle 0x140055869
mov dword [rbx], eax
mov esi, eax
test esi, esi
jle 0x140055aee
lea rcx, [rbx + 0x20]
xor r9d, r9d
mov r8d, ebp
lea edx, [rsi - 1]
call fcn.140055c70
test rax, rax
je 0x140055899
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.140054210
dec dword [rbx]
jmp 0x140055aee
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x1400558bb
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 0x140055af2
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x1400558e7
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 0x140055aee
mov dword [rbx], eax
mov eax, dword [rdi + 0xc]
mov dword [rbx + 8], eax
mov dword [rbx], eax
jmp 0x140055aee
mov r8d, dword [rbx + 8]
mov r9d, dword [rbx + 4]
mov ecx, dword [rdi + 0xc]
cmp r9d, r8d
je 0x14005592c
mov eax, r9d
cmp r9d, ecx
jle 0x140055913
mov dword [rbx + 4], ecx
mov eax, ecx
mov edx, r8d
cmp r8d, ecx
jle 0x140055920
mov dword [rbx + 8], ecx
mov edx, ecx
mov r8d, edx
mov r9d, eax
cmp eax, edx
jne 0x14005592c
mov dword [rbx], eax
mov edx, dword [rbx]
mov eax, edx
cmp edx, ecx
jle 0x14005593a
mov dword [rbx], ecx
mov edx, ecx
mov eax, ecx
cmp r9d, r8d
jne 0x140055947
mov dword [rbx + 8], edx
mov dword [rbx + 4], edx
jmp 0x140055950
mov dword [rbx], r8d
mov edx, r8d
mov eax, r8d
cmp byte [rbx + 0x17], 0
je 0x140055965
xor r8d, r8d
mov dword [rbx], r8d
mov dword [rbx + 8], r8d
jmp 0x140055aee
mov r8d, eax
test edx, edx
jle 0x14005598e
nop dword [rax]
mov r8d, eax
mov ecx, edx
mov rax, qword [rdi + 0x20]
cmp word [rax + rcx*2 - 2], 0xa
je 0x14005598e
dec edx
mov dword [rbx], edx
mov eax, edx
mov r8d, edx
test edx, edx
jg 0x140055970
mov dword [rbx + 8], r8d
jmp 0x140055aee
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov r9d, dword [rdi + 0xc]
cmp ecx, eax
je 0x1400559ce
mov edx, ecx
cmp ecx, r9d
jle 0x1400559b3
mov dword [rbx + 4], r9d
mov edx, r9d
mov r8d, eax
cmp eax, r9d
jle 0x1400559c2
mov dword [rbx + 8], r9d
mov r8d, r9d
mov eax, r8d
mov ecx, edx
cmp edx, r8d
jne 0x1400559ce
mov dword [rbx], edx
mov r8d, dword [rbx]
mov edx, r8d
cmp r8d, r9d
jle 0x1400559e2
mov dword [rbx], r9d
mov r8d, r9d
mov edx, r9d
cmp ecx, eax
jne 0x1400559f0
mov dword [rbx + 8], r8d
mov dword [rbx + 4], r8d
jmp 0x1400559f7
mov dword [rbx], eax
mov r8d, eax
mov edx, eax
cmp byte [rbx + 0x17], 0
je 0x140055a0b
mov edx, r9d
mov dword [rbx], r9d
mov dword [rbx + 8], edx
jmp 0x140055aee
cmp r8d, r9d
jge 0x140055a2c
mov rax, qword [rdi + 0x20]
movsxd rcx, r8d
cmp word [rax + rcx*2], 0xa
je 0x140055a2c
lea edx, [r8 + 1]
mov dword [rbx], edx
mov r8d, edx
cmp edx, r9d
jl 0x140055a10
mov dword [rbx + 8], edx
jmp 0x140055aee
xor eax, eax
cmp r8d, 0x200000
cmovge r8d, eax
test r8d, r8d
jle 0x140055af2
mov word [rsp + 0x40], r8w
cmp r8d, 0xa
jne 0x140055a5f
cmp byte [rbx + 0x17], al
jne 0x140055af2
cmp byte [rbx + 0xc], al
je 0x140055aba
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x140055aba
movsxd rsi, dword [rbx]
cmp esi, dword [rdi + 0xc]
jge 0x140055aba
lea rcx, [rbx + 0x20]
mov r9d, ebp
mov r8d, ebp
mov edx, esi
call fcn.140055c70
test rax, rax
je 0x140055a95
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.140054210
mov edx, dword [rbx]
lea r8, [rsp + 0x40]
mov r9d, ebp
mov rcx, rdi
call fcn.1400542e0
test al, al
je 0x140055af2
jmp 0x140055aec
mov rdx, rbx
mov rcx, rdi
call fcn.1400548c0
mov edx, dword [rbx]
lea r8, [rsp + 0x40]
mov r9d, ebp
mov rcx, rdi
call fcn.1400542e0
test al, al
je 0x140055af2
mov edx, dword [rbx]
lea rcx, [rbx + 0x20]
mov r9d, ebp
xor r8d, r8d
call fcn.140055c70
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.140072f00
add rsp, 0x90
pop rdi
pop rbp
pop rbx
ret