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

Disassembly:
mov r11, rsp
push rbx
push rbp
push rdi
sub rsp, 0x90
mov rax, qword [0x140078010]
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 0x140044294
je 0x1400446c0
lea eax, [r8 - 0x200000]
cmp eax, 0xf
ja case.0x1400442b0.6291466
cdqe
mov ecx, dword [rdx + rax*4 + 0x45348]
add rcx, rdx
jmp rcx
lea eax, [r8 - 0x600001]
cmp eax, 0xe
ja case.0x1400442b0.6291466
cdqe
mov ecx, dword [rdx + rax*4 + 0x45388]
add rcx, rdx
jmp rcx
mov eax, r8d
btr eax, 0x16
cmp eax, 0x20000f
je 0x14004471c
cmp byte [rbx + 0x17], 0
je 0x140044725
and r8d, 0x400000
or r8d, 0x200001
jmp 0x140044262
mov eax, r8d
btr eax, 0x16
cmp eax, 0x20000e
je 0x140044b03
cmp byte [rbx + 0x17], 0
je 0x140044b0a
and r8d, 0x400000
bts r8d, 0x15
jmp 0x140044262
mov rdx, rbx
mov rcx, rdi
call fcn.140045630
jmp 0x1400452fe
lea rsi, [rbx + 0x20]
movsx rax, word [rsi + 0xe00]
cmp eax, 0x63
je 0x1400452fe
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 0x1400443d8
mov ecx, dword [rsi + 0xe04]
lea eax, [r11 + rcx]
cmp eax, dword [rsi + 0xe08]
jle 0x14004438b
xor eax, eax
mov qword [r10 + 4], rax
jmp 0x1400443ca
mov dword [r10 + 0xc], ecx
xor ebp, ebp
add dword [rsi + 0xe04], r11d
cmp dword [r10 + 4], ebp
jle 0x1400443ca
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 0x1400443a0
mov r8d, r11d
mov edx, r14d
mov rcx, rdi
call fcn.140043a20
vpextrd ebp, xmm6, 1
test ebp, ebp
je 0x14004440a
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.140043af0
add dword [rsi + 0xe08], ebp
lea eax, [r14 + rbp]
mov dword [rbx], eax
inc word [rsi + 0xdfe]
inc word [rsi + 0xe00]
jmp 0x1400452fe
mov ecx, dword [rbx + 8]
mov eax, dword [rbx + 4]
cmp eax, ecx
jne 0x1400444a1
mov eax, dword [rbx]
test eax, eax
jle 0x1400452fe
dec eax
mov dword [rbx], eax
jmp 0x1400452fe
mov ecx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
cmp r8d, ecx
je 0x140044481
jle 0x14004445a
mov dword [rbx + 8], r8d
mov eax, r8d
mov dword [rbx + 4], ecx
jmp 0x14004445f
mov eax, ecx
mov ecx, r8d
mov edx, dword [rdi + 0xc]
cmp ecx, edx
cmovg ecx, edx
cmp eax, edx
jle 0x140044470
mov dword [rbx + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x140044476
mov dword [rbx], ecx
mov dword [rbx], eax
mov dword [rbx + 4], eax
mov byte [rbx + 0x16], 0
jmp 0x140044485
inc dword [rbx]
mov eax, dword [rbx]
mov ecx, dword [rdi + 0xc]
cmp eax, ecx
jle 0x1400452fe
mov dword [rbx], ecx
jmp 0x1400452fe
mov ecx, dword [rbx + 8]
mov eax, dword [rbx + 4]
cmp eax, ecx
je 0x1400444b2
jle 0x1400444a8
mov eax, ecx
mov dword [rbx + 4], ecx
mov dword [rbx], eax
mov dword [rbx + 8], eax
jmp 0x1400452fe
mov esi, dword [rbx]
sub esi, ebp
js 0x1400444d2
nop dword [rax + rax]
mov edx, esi
mov rcx, rdi
call fcn.1400437c0
test eax, eax
jne 0x1400444d2
sub esi, ebp
jns 0x1400444c0
xor eax, eax
test esi, esi
cmovs esi, eax
mov dword [rbx], esi
mov eax, dword [rdi + 0xc]
cmp esi, eax
jle 0x140045302
mov dword [rbx], eax
jmp 0x140045302
mov eax, dword [rbx + 8]
mov r8d, dword [rbx + 4]
cmp r8d, eax
je 0x14004452d
jle 0x140044507
mov dword [rbx + 8], r8d
mov ecx, r8d
mov dword [rbx + 4], eax
jmp 0x14004450c
mov ecx, eax
mov eax, r8d
mov edx, dword [rdi + 0xc]
cmp eax, edx
cmovg eax, edx
cmp ecx, edx
jle 0x14004451d
mov dword [rbx + 8], edx
mov ecx, edx
cmp eax, ecx
jne 0x140044523
mov dword [rbx], eax
mov dword [rbx], ecx
mov dword [rbx + 4], ecx
jmp 0x1400452fe
mov rax, qword [rdi]
mov esi, dword [rbx]
cmp byte [rax + 0x79], 0
je 0x140044546
mov edx, esi
mov rcx, rdi
call fcn.1400438c0
mov esi, eax
jmp 0x140044569
mov ebp, dword [rdi + 0xc]
inc esi
cmp esi, ebp
jge 0x140044566
nop
mov edx, esi
mov rcx, rdi
call fcn.1400437c0
test eax, eax
jne 0x140044564
inc esi
cmp esi, ebp
jl 0x140044550
cmp esi, ebp
cmovg esi, ebp
mov dword [rbx], esi
mov eax, dword [rdi + 0xc]
cmp esi, eax
jle 0x140045302
mov dword [rbx], eax
jmp 0x140045302
xor eax, eax
mov qword [rbx + 4], rax
mov dword [rbx], eax
mov byte [rbx + 0x16], al
jmp 0x140045302
mov eax, dword [rdi + 0xc]
mov dword [rbx], eax
xor eax, eax
mov qword [rbx + 4], rax
mov byte [rbx + 0x16], al
jmp 0x140045302
mov ecx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
mov eax, dword [rdi + 0xc]
cmp r8d, ecx
je 0x1400445d6
mov edx, r8d
cmp r8d, eax
jle 0x1400445bc
mov dword [rbx + 4], eax
mov edx, eax
mov r9d, ecx
cmp ecx, eax
jle 0x1400445c9
mov dword [rbx + 8], eax
mov r9d, eax
mov ecx, r9d
mov r8d, edx
cmp edx, r9d
jne 0x1400445d6
mov dword [rbx], edx
mov edx, dword [rbx]
cmp edx, eax
jle 0x1400445e0
mov dword [rbx], eax
mov edx, eax
cmp r8d, ecx
je 0x1400445f8
mov edx, r8d
jle 0x1400445ef
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 0x140044607
xor eax, eax
mov dword [rbx], eax
jmp 0x1400452fe
test edx, edx
jle 0x1400452fe
nop
mov rax, qword [rdi + 0x20]
mov ecx, edx
cmp word [rax + rcx*2 - 2], 0xa
je 0x1400452fe
dec edx
mov dword [rbx], edx
test edx, edx
jg 0x140044610
jmp 0x1400452fe
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov r8d, dword [rdi + 0xc]
cmp ecx, eax
je 0x140044666
mov edx, ecx
cmp ecx, r8d
jle 0x14004464b
mov dword [rbx + 4], r8d
mov edx, r8d
mov r9d, eax
cmp eax, r8d
jle 0x14004465a
mov dword [rbx + 8], r8d
mov r9d, r8d
mov eax, r9d
mov ecx, edx
cmp edx, r9d
jne 0x140044666
mov dword [rbx], edx
mov edx, dword [rbx]
cmp edx, r8d
jle 0x140044673
mov dword [rbx], r8d
mov edx, r8d
cmp ecx, eax
je 0x140044689
mov edx, ecx
jle 0x140044680
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 0x140044697
mov dword [rbx], r8d
jmp 0x1400452fe
cmp edx, r8d
jge 0x1400452fe
mov rax, qword [rdi + 0x20]
movsxd rcx, edx
cmp word [rax + rcx*2], 0xa
je 0x1400452fe
inc edx
mov dword [rbx], edx
cmp edx, r8d
jl 0x1400446a0
jmp 0x1400452fe
mov edx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
mov ecx, dword [rdi + 0xc]
cmp r8d, edx
je 0x1400446f6
mov eax, r8d
cmp r8d, ecx
jle 0x1400446dc
mov dword [rbx + 4], ecx
mov eax, ecx
mov r9d, edx
cmp edx, ecx
jle 0x1400446e9
mov dword [rbx + 8], ecx
mov r9d, ecx
mov edx, r9d
mov r8d, eax
cmp eax, r9d
jne 0x1400446f6
mov dword [rbx], eax
mov eax, dword [rbx]
cmp eax, ecx
cmovg eax, ecx
cmp r8d, edx
jne 0x14004470a
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
jmp 0x14004470c
mov eax, edx
test eax, eax
jle 0x140044715
dec eax
mov dword [rbx + 8], eax
mov dword [rbx], eax
jmp 0x1400452fe
mov esi, dword [rbx + 0x10]
mov dword [rsp + 0x20], esi
jmp 0x140044727
mov esi, ebp
mov ecx, dword [rbx + 8]
mov edx, dword [rbx + 4]
bt r8d, 0x16
jae 0x1400447c5
cmp edx, ecx
jne 0x1400447c1
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 0x14004476d
cmp edx, eax
jle 0x14004475e
mov dword [rbx + 4], eax
mov edx, eax
cmp ecx, eax
jle 0x140044767
mov dword [rbx + 8], eax
mov ecx, eax
cmp edx, ecx
jne 0x14004476d
mov dword [rbx], edx
mov r8d, dword [rbx]
cmp r8d, eax
jle 0x14004477a
mov dword [rbx], eax
mov r8d, eax
movzx r9d, byte [rbx + 0x17]
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.140043eb0
xor ecx, ecx
mov dword [rsp + 0x40], ecx
mov ebp, ecx
test esi, esi
jle 0x140045302
vmovss xmm7, dword [rsp + 0x28]
vmovss xmm6, dword [0x14006b540]
mov r11d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x34]
cmp byte [rbx + 0x16], 0
je 0x140044803
vmovss xmm5, dword [rbx + 0x1c]
jmp 0x140044807
mov dword [rbx], ecx
jmp 0x14004474a
cmp edx, ecx
je 0x14004474a
jle 0x1400447d7
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 0x1400447e8
mov dword [rbx + 8], eax
mov ecx, eax
cmp edx, ecx
jne 0x1400447ee
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 0x14004476d
vmovaps xmm5, xmm7
add r13d, r11d
test r11d, r11d
je 0x140045302
mov rax, qword [rdi + 0x20]
movsxd r15, r13d
cmp word [rax + r15*2 - 2], 0xa
jne 0x140045302
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 0x140044871
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r11]
mov ecx, esi
add r11, 2
cmp ax, 0xa
je 0x14004486f
mov dword [rsp + 0x20], ecx
cmp r11, r9
jae 0x14004486f
mov dword [rsp + 0x20], ecx
jmp 0x140044850
xor ecx, ecx
sub r11, r8
mov esi, ecx
sub r11, r10
sar r11, 1
vxorps xmm3, xmm3, xmm3
cmp r11d, 4
jl 0x140044a34
mov rbp, rcx
nop dword [rax]
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax]
cmp ecx, 0xa
je 0x140044a9e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x1400448bb
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x1400448c0
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140044a9e
vaddss xmm4, xmm3, xmm2
vcomiss xmm4, xmm5
ja 0x140044a9e
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 0x140044a9e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x14004491f
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140044924
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140044a9e
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x140044a9e
inc r10d
mov dword [rbx], r10d
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax + 4]
cmp ecx, 0xa
je 0x140044a9e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x140044980
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140044985
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140044a9e
vaddss xmm4, xmm3, xmm2
vcomiss xmm4, xmm5
ja 0x140044a9e
inc r10d
mov dword [rbx], r10d
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax + 6]
cmp ecx, 0xa
je 0x140044a9e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x1400449e1
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x1400449e6
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140044a9e
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x140044a9e
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 0x140044890
cmp esi, r11d
jl 0x140044a3c
jmp 0x140044a9e
test r11d, r11d
jle 0x140044aa2
mov rbp, rcx
lea r8, [r15 + rbp]
add r8, r8
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax]
cmp ecx, 0xa
je 0x140044a9e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x140044a6a
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140044a6f
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140044a9e
vaddss xmm3, xmm3, xmm2
vcomiss xmm3, xmm5
ja 0x140044a9e
inc dword [rbx]
add r8, 2
inc esi
cmp esi, r11d
jl 0x140044a43
mov ebp, dword [rsp + 0x40]
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov eax, dword [r14]
cmp ecx, edx
je 0x140044ac7
cmp ecx, eax
jle 0x140044ab8
mov dword [rbx + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x140044ac1
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140044ac7
mov dword [rbx], ecx
mov ecx, dword [rbx]
cmp ecx, eax
jle 0x140044ad1
mov dword [rbx], eax
mov ecx, eax
test dword [rsp + 0x24], 0x400000
vmovss dword [rbx + 0x1c], xmm5
mov byte [rbx + 0x16], 1
je 0x140044ae7
mov dword [rbx + 8], ecx
mov esi, dword [rsp + 0x20]
inc ebp
mov dword [rsp + 0x40], ebp
mov ecx, 0
cmp ebp, esi
jl 0x1400447b4
jmp 0x140045302
mov ebp, dword [rbx + 0x10]
mov dword [rsp + 0x20], ebp
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
bt r8d, 0x16
jae 0x140044ba1
cmp ecx, eax
jne 0x140044b9d
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 0x140044b4c
cmp ecx, edx
jle 0x140044b3d
mov dword [rbx + 4], edx
mov ecx, edx
cmp eax, edx
jle 0x140044b46
mov dword [rbx + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x140044b4c
mov dword [rbx], ecx
mov r8d, dword [rbx]
cmp r8d, edx
jle 0x140044b59
mov dword [rbx], edx
mov r8d, edx
movzx r9d, byte [rbx + 0x17]
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.140043eb0
xor r11d, r11d
mov r13d, r11d
test ebp, ebp
jle 0x140045302
vmovss xmm7, dword [rsp + 0x28]
vmovss xmm6, dword [0x14006b540]
mov r15d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x34]
cmp byte [rbx + 0x16], 0
je 0x140044bbe
vmovss xmm5, dword [rbx + 0x1c]
jmp 0x140044bc2
mov dword [rbx], eax
jmp 0x140044b29
cmp ecx, eax
je 0x140044b29
jle 0x140044bac
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 0x140044b4c
vmovaps xmm5, xmm7
cmp r15d, eax
je 0x140045302
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 0x140044c0e
nop dword [rax]
movzx eax, word [rsi]
mov ecx, ebp
add rsi, 2
cmp ax, 0xa
je 0x140044c0e
mov dword [rsp + 0x20], ecx
cmp rsi, r8
jae 0x140044c0e
mov dword [rsp + 0x20], ecx
jmp 0x140044bf0
sub rsi, r10
sub rsi, r9
sar rsi, 1
vxorps xmm2, xmm2, xmm2
cmp esi, 4
jl 0x140044dcc
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 0x140044e33
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x140044c5e
mov rax, qword [rdx + 8]
vmovss xmm3, dword [rax + rcx*4]
jmp 0x140044c63
vmovss xmm3, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm3, xmm1, xmm3
vucomiss xmm3, xmm6
je 0x140044e33
vaddss xmm4, xmm2, xmm3
vcomiss xmm4, xmm5
ja 0x140044e33
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 0x140044e33
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x140044cc2
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140044cc7
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140044e33
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x140044e33
inc r9d
mov dword [rbx], r9d
mov rax, qword [rdi + 0x20]
movzx ecx, word [rax + r10*2 + 4]
cmp ecx, 0xa
je 0x140044e33
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x140044d23
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140044d28
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140044e33
vaddss xmm3, xmm3, xmm2
vcomiss xmm3, xmm5
ja 0x140044e33
inc r9d
mov dword [rbx], r9d
mov rax, qword [rdi + 0x20]
movzx ecx, word [rax + r10*2 + 6]
cmp ecx, 0xa
je 0x140044e33
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c18]
cmp ecx, dword [rdx]
jge 0x140044d84
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140044d89
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140044e33
vaddss xmm2, xmm3, xmm2
vcomiss xmm2, xmm5
ja 0x140044e33
lea eax, [r9 + 1]
add r11d, 4
mov dword [rbx], eax
add ebp, 4
lea eax, [rsi - 3]
cmp r11d, eax
jl 0x140044c30
cmp r11d, esi
jge 0x140044e33
lea eax, [r11 + r15]
movsxd rcx, eax
mov rax, qword [rdi + 0x20]
movzx r8d, word [rax + rcx*2]
cmp r8d, 0xa
je 0x140044e33
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c18]
cmp r8d, dword [rdx]
jge 0x140044e02
mov rax, qword [rdx + 8]
vmovss xmm3, dword [rax + r8*4]
jmp 0x140044e07
vmovss xmm3, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c20]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm3, xmm1, xmm3
vucomiss xmm3, xmm6
je 0x140044e33
vaddss xmm2, xmm2, xmm3
vcomiss xmm2, xmm5
ja 0x140044e33
inc dword [rbx]
inc r11d
cmp r11d, esi
jl 0x140044dd1
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov eax, dword [r14]
cmp ecx, edx
je 0x140044e58
cmp ecx, eax
jle 0x140044e49
mov dword [rbx + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x140044e52
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140044e58
mov dword [rbx], ecx
mov ecx, dword [rbx]
cmp ecx, eax
jle 0x140044e62
mov dword [rbx], eax
mov ecx, eax
test dword [rsp + 0x24], 0x400000
vmovss dword [rbx + 0x1c], xmm5
mov byte [rbx + 0x16], 1
je 0x140044e78
mov dword [rbx + 8], ecx
test r15d, r15d
jle 0x140044ec8
lea r8d, [r15 - 1]
test r8d, r8d
jle 0x140044eaa
mov rdx, qword [rdi + 0x20]
add rdx, 0xfffffffffffffffe
movsxd rcx, r8d
lea rdx, [rdx + rcx*2]
cmp word [rdx], 0xa
je 0x140044eaa
dec r8d
dec rcx
sub rdx, 2
test rcx, rcx
jg 0x140044e95
xor r11d, r11d
mov ebp, dword [rsp + 0x20]
inc r13d
mov eax, r15d
mov r15d, r8d
cmp r13d, ebp
jl 0x140044b90
jmp 0x140045302
xor r11d, r11d
mov r8d, r11d
jmp 0x140044ead
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x140044ee0
mov eax, dword [rbx]
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
mov esi, dword [rbx]
sub esi, ebp
js 0x140044ef8
mov edx, esi
mov rcx, rdi
call fcn.1400437c0
test eax, eax
jne 0x140044ef8
sub esi, ebp
jns 0x140044ee6
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 0x140044f2a
cmp ecx, eax
jle 0x140044f17
mov dword [rbx + 4], eax
mov ecx, eax
mov edx, esi
cmp esi, eax
jle 0x140044f22
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140044f2a
mov dword [rbx], ecx
mov esi, ecx
cmp esi, eax
jle 0x140045302
mov dword [rbx], eax
jmp 0x140045302
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x140044f49
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 0x140044f62
mov edx, esi
mov rcx, rdi
call fcn.1400438c0
mov esi, eax
jmp 0x140044f89
mov ebp, dword [rdi + 0xc]
inc esi
cmp esi, ebp
jge 0x140044f86
nop dword [rax + rax]
mov edx, esi
mov rcx, rdi
call fcn.1400437c0
test eax, eax
jne 0x140044f84
inc esi
cmp esi, ebp
jl 0x140044f70
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 0x140044fb4
cmp ecx, eax
jle 0x140044fa1
mov dword [rbx + 4], eax
mov ecx, eax
mov edx, esi
cmp esi, eax
jle 0x140044fac
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140044fb4
mov dword [rbx], ecx
mov esi, ecx
cmp esi, eax
jle 0x140045302
mov dword [rbx], eax
jmp 0x140045302
mov eax, dword [rbx + 8]
mov edx, dword [rbx + 4]
cmp edx, eax
jne 0x140044fd6
mov eax, dword [rbx]
mov edx, eax
mov dword [rbx + 4], eax
jmp 0x140044fd8
mov dword [rbx], eax
inc eax
mov dword [rbx + 8], eax
mov ecx, dword [rdi + 0xc]
cmp edx, eax
je 0x140045004
cmp edx, ecx
jle 0x140044fed
mov dword [rbx + 4], ecx
mov edx, ecx
mov r8d, eax
cmp eax, ecx
jle 0x140044ffa
mov dword [rbx + 8], ecx
mov r8d, ecx
cmp edx, r8d
mov eax, r8d
cmove eax, r8d
mov dword [rbx], eax
jmp 0x1400452fe
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x14004505c
movsxd rsi, dword [rbx]
cmp esi, dword [rdi + 0xc]
jge 0x1400452fe
lea rcx, [rbx + 0x20]
xor r9d, r9d
mov r8d, ebp
mov edx, esi
call fcn.140045480
test rax, rax
je 0x140045042
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.140043a20
jmp 0x1400452fe
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
je 0x14004506c
mov rdx, rbx
mov rcx, rdi
call fcn.1400440d0
jmp 0x1400452fe
mov eax, dword [rdi + 0xc]
mov esi, dword [rbx]
cmp esi, eax
jle 0x140045079
mov dword [rbx], eax
mov esi, eax
test esi, esi
jle 0x1400452fe
lea rcx, [rbx + 0x20]
xor r9d, r9d
mov r8d, ebp
lea edx, [rsi - 1]
call fcn.140045480
test rax, rax
je 0x1400450a9
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.140043a20
dec dword [rbx]
jmp 0x1400452fe
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x1400450cb
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 0x140045302
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x1400450f7
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 0x1400452fe
mov dword [rbx], eax
mov eax, dword [rdi + 0xc]
mov dword [rbx + 8], eax
mov dword [rbx], eax
jmp 0x1400452fe
mov r8d, dword [rbx + 8]
mov r9d, dword [rbx + 4]
mov ecx, dword [rdi + 0xc]
cmp r9d, r8d
je 0x14004513c
mov eax, r9d
cmp r9d, ecx
jle 0x140045123
mov dword [rbx + 4], ecx
mov eax, ecx
mov edx, r8d
cmp r8d, ecx
jle 0x140045130
mov dword [rbx + 8], ecx
mov edx, ecx
mov r8d, edx
mov r9d, eax
cmp eax, edx
jne 0x14004513c
mov dword [rbx], eax
mov edx, dword [rbx]
mov eax, edx
cmp edx, ecx
jle 0x14004514a
mov dword [rbx], ecx
mov edx, ecx
mov eax, ecx
cmp r9d, r8d
jne 0x140045157
mov dword [rbx + 8], edx
mov dword [rbx + 4], edx
jmp 0x140045160
mov dword [rbx], r8d
mov edx, r8d
mov eax, r8d
cmp byte [rbx + 0x17], 0
je 0x140045175
xor r8d, r8d
mov dword [rbx], r8d
mov dword [rbx + 8], r8d
jmp 0x1400452fe
mov r8d, eax
test edx, edx
jle 0x14004519e
nop dword [rax]
mov r8d, eax
mov ecx, edx
mov rax, qword [rdi + 0x20]
cmp word [rax + rcx*2 - 2], 0xa
je 0x14004519e
dec edx
mov dword [rbx], edx
mov eax, edx
mov r8d, edx
test edx, edx
jg 0x140045180
mov dword [rbx + 8], r8d
jmp 0x1400452fe
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov r9d, dword [rdi + 0xc]
cmp ecx, eax
je 0x1400451de
mov edx, ecx
cmp ecx, r9d
jle 0x1400451c3
mov dword [rbx + 4], r9d
mov edx, r9d
mov r8d, eax
cmp eax, r9d
jle 0x1400451d2
mov dword [rbx + 8], r9d
mov r8d, r9d
mov eax, r8d
mov ecx, edx
cmp edx, r8d
jne 0x1400451de
mov dword [rbx], edx
mov r8d, dword [rbx]
mov edx, r8d
cmp r8d, r9d
jle 0x1400451f2
mov dword [rbx], r9d
mov r8d, r9d
mov edx, r9d
cmp ecx, eax
jne 0x140045200
mov dword [rbx + 8], r8d
mov dword [rbx + 4], r8d
jmp 0x140045207
mov dword [rbx], eax
mov r8d, eax
mov edx, eax
cmp byte [rbx + 0x17], 0
je 0x14004521b
mov edx, r9d
mov dword [rbx], r9d
mov dword [rbx + 8], edx
jmp 0x1400452fe
cmp r8d, r9d
jge 0x14004523c
mov rax, qword [rdi + 0x20]
movsxd rcx, r8d
cmp word [rax + rcx*2], 0xa
je 0x14004523c
lea edx, [r8 + 1]
mov dword [rbx], edx
mov r8d, edx
cmp edx, r9d
jl 0x140045220
mov dword [rbx + 8], edx
jmp 0x1400452fe
xor eax, eax
cmp r8d, 0x200000
cmovge r8d, eax
test r8d, r8d
jle 0x140045302
mov word [rsp + 0x40], r8w
cmp r8d, 0xa
jne 0x14004526f
cmp byte [rbx + 0x17], al
jne 0x140045302
cmp byte [rbx + 0xc], al
je 0x1400452ca
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x1400452ca
movsxd rsi, dword [rbx]
cmp esi, dword [rdi + 0xc]
jge 0x1400452ca
lea rcx, [rbx + 0x20]
mov r9d, ebp
mov r8d, ebp
mov edx, esi
call fcn.140045480
test rax, rax
je 0x1400452a5
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.140043a20
mov edx, dword [rbx]
lea r8, [rsp + 0x40]
mov r9d, ebp
mov rcx, rdi
call fcn.140043af0
test al, al
je 0x140045302
jmp 0x1400452fc
mov rdx, rbx
mov rcx, rdi
call fcn.1400440d0
mov edx, dword [rbx]
lea r8, [rsp + 0x40]
mov r9d, ebp
mov rcx, rdi
call fcn.140043af0
test al, al
je 0x140045302
mov edx, dword [rbx]
lea rcx, [rbx + 0x20]
mov r9d, ebp
xor r8d, r8d
call fcn.140045480
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.14005b410
add rsp, 0x90
pop rdi
pop rbp
pop rbx
ret