Function at 0x1400535c0
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 0x140053644
je 0x140053a70
lea eax, [r8 - 0x200000]
cmp eax, 0xf
ja case.0x140053660.6291466
cdqe
mov ecx, dword [rdx + rax*4 + 0x546f8]
add rcx, rdx
jmp rcx
lea eax, [r8 - 0x600001]
cmp eax, 0xe
ja case.0x140053660.6291466
cdqe
mov ecx, dword [rdx + rax*4 + 0x54738]
add rcx, rdx
jmp rcx
mov eax, r8d
btr eax, 0x16
cmp eax, 0x20000f
je 0x140053acc
cmp byte [rbx + 0x17], 0
je 0x140053ad5
and r8d, 0x400000
or r8d, 0x200001
jmp 0x140053612
mov eax, r8d
btr eax, 0x16
cmp eax, 0x20000e
je 0x140053eb3
cmp byte [rbx + 0x17], 0
je 0x140053eba
and r8d, 0x400000
bts r8d, 0x15
jmp 0x140053612
mov rdx, rbx
mov rcx, rdi
call fcn.1400549e0
jmp 0x1400546ae
lea rsi, [rbx + 0x20]
movsx rax, word [rsi + 0xe00]
cmp eax, 0x63
je 0x1400546ae
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 0x140053788
mov ecx, dword [rsi + 0xe04]
lea eax, [r11 + rcx]
cmp eax, dword [rsi + 0xe08]
jle 0x14005373b
xor eax, eax
mov qword [r10 + 4], rax
jmp 0x14005377a
mov dword [r10 + 0xc], ecx
xor ebp, ebp
add dword [rsi + 0xe04], r11d
cmp dword [r10 + 4], ebp
jle 0x14005377a
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 0x140053750
mov r8d, r11d
mov edx, r14d
mov rcx, rdi
call fcn.140052dd0
vpextrd ebp, xmm6, 1
test ebp, ebp
je 0x1400537ba
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.140052ea0
add dword [rsi + 0xe08], ebp
lea eax, [r14 + rbp]
mov dword [rbx], eax
inc word [rsi + 0xdfe]
inc word [rsi + 0xe00]
jmp 0x1400546ae
mov ecx, dword [rbx + 8]
mov eax, dword [rbx + 4]
cmp eax, ecx
jne 0x140053851
mov eax, dword [rbx]
test eax, eax
jle 0x1400546ae
dec eax
mov dword [rbx], eax
jmp 0x1400546ae
mov ecx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
cmp r8d, ecx
je 0x140053831
jle 0x14005380a
mov dword [rbx + 8], r8d
mov eax, r8d
mov dword [rbx + 4], ecx
jmp 0x14005380f
mov eax, ecx
mov ecx, r8d
mov edx, dword [rdi + 0xc]
cmp ecx, edx
cmovg ecx, edx
cmp eax, edx
jle 0x140053820
mov dword [rbx + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x140053826
mov dword [rbx], ecx
mov dword [rbx], eax
mov dword [rbx + 4], eax
mov byte [rbx + 0x16], 0
jmp 0x140053835
inc dword [rbx]
mov eax, dword [rbx]
mov ecx, dword [rdi + 0xc]
cmp eax, ecx
jle 0x1400546ae
mov dword [rbx], ecx
jmp 0x1400546ae
mov ecx, dword [rbx + 8]
mov eax, dword [rbx + 4]
cmp eax, ecx
je 0x140053862
jle 0x140053858
mov eax, ecx
mov dword [rbx + 4], ecx
mov dword [rbx], eax
mov dword [rbx + 8], eax
jmp 0x1400546ae
mov esi, dword [rbx]
sub esi, ebp
js 0x140053882
nop dword [rax + rax]
mov edx, esi
mov rcx, rdi
call fcn.140052b70
test eax, eax
jne 0x140053882
sub esi, ebp
jns 0x140053870
xor eax, eax
test esi, esi
cmovs esi, eax
mov dword [rbx], esi
mov eax, dword [rdi + 0xc]
cmp esi, eax
jle 0x1400546b2
mov dword [rbx], eax
jmp 0x1400546b2
mov eax, dword [rbx + 8]
mov r8d, dword [rbx + 4]
cmp r8d, eax
je 0x1400538dd
jle 0x1400538b7
mov dword [rbx + 8], r8d
mov ecx, r8d
mov dword [rbx + 4], eax
jmp 0x1400538bc
mov ecx, eax
mov eax, r8d
mov edx, dword [rdi + 0xc]
cmp eax, edx
cmovg eax, edx
cmp ecx, edx
jle 0x1400538cd
mov dword [rbx + 8], edx
mov ecx, edx
cmp eax, ecx
jne 0x1400538d3
mov dword [rbx], eax
mov dword [rbx], ecx
mov dword [rbx + 4], ecx
jmp 0x1400546ae
mov rax, qword [rdi]
mov esi, dword [rbx]
cmp byte [rax + 0x79], 0
je 0x1400538f6
mov edx, esi
mov rcx, rdi
call fcn.140052c70
mov esi, eax
jmp 0x140053919
mov ebp, dword [rdi + 0xc]
inc esi
cmp esi, ebp
jge 0x140053916
nop
mov edx, esi
mov rcx, rdi
call fcn.140052b70
test eax, eax
jne 0x140053914
inc esi
cmp esi, ebp
jl 0x140053900
cmp esi, ebp
cmovg esi, ebp
mov dword [rbx], esi
mov eax, dword [rdi + 0xc]
cmp esi, eax
jle 0x1400546b2
mov dword [rbx], eax
jmp 0x1400546b2
xor eax, eax
mov qword [rbx + 4], rax
mov dword [rbx], eax
mov byte [rbx + 0x16], al
jmp 0x1400546b2
mov eax, dword [rdi + 0xc]
mov dword [rbx], eax
xor eax, eax
mov qword [rbx + 4], rax
mov byte [rbx + 0x16], al
jmp 0x1400546b2
mov ecx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
mov eax, dword [rdi + 0xc]
cmp r8d, ecx
je 0x140053986
mov edx, r8d
cmp r8d, eax
jle 0x14005396c
mov dword [rbx + 4], eax
mov edx, eax
mov r9d, ecx
cmp ecx, eax
jle 0x140053979
mov dword [rbx + 8], eax
mov r9d, eax
mov ecx, r9d
mov r8d, edx
cmp edx, r9d
jne 0x140053986
mov dword [rbx], edx
mov edx, dword [rbx]
cmp edx, eax
jle 0x140053990
mov dword [rbx], eax
mov edx, eax
cmp r8d, ecx
je 0x1400539a8
mov edx, r8d
jle 0x14005399f
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 0x1400539b7
xor eax, eax
mov dword [rbx], eax
jmp 0x1400546ae
test edx, edx
jle 0x1400546ae
nop
mov rax, qword [rdi + 0x20]
mov ecx, edx
cmp word [rax + rcx*2 - 2], 0xa
je 0x1400546ae
dec edx
mov dword [rbx], edx
test edx, edx
jg 0x1400539c0
jmp 0x1400546ae
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov r8d, dword [rdi + 0xc]
cmp ecx, eax
je 0x140053a16
mov edx, ecx
cmp ecx, r8d
jle 0x1400539fb
mov dword [rbx + 4], r8d
mov edx, r8d
mov r9d, eax
cmp eax, r8d
jle 0x140053a0a
mov dword [rbx + 8], r8d
mov r9d, r8d
mov eax, r9d
mov ecx, edx
cmp edx, r9d
jne 0x140053a16
mov dword [rbx], edx
mov edx, dword [rbx]
cmp edx, r8d
jle 0x140053a23
mov dword [rbx], r8d
mov edx, r8d
cmp ecx, eax
je 0x140053a39
mov edx, ecx
jle 0x140053a30
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 0x140053a47
mov dword [rbx], r8d
jmp 0x1400546ae
cmp edx, r8d
jge 0x1400546ae
mov rax, qword [rdi + 0x20]
movsxd rcx, edx
cmp word [rax + rcx*2], 0xa
je 0x1400546ae
inc edx
mov dword [rbx], edx
cmp edx, r8d
jl 0x140053a50
jmp 0x1400546ae
mov edx, dword [rbx + 8]
mov r8d, dword [rbx + 4]
mov ecx, dword [rdi + 0xc]
cmp r8d, edx
je 0x140053aa6
mov eax, r8d
cmp r8d, ecx
jle 0x140053a8c
mov dword [rbx + 4], ecx
mov eax, ecx
mov r9d, edx
cmp edx, ecx
jle 0x140053a99
mov dword [rbx + 8], ecx
mov r9d, ecx
mov edx, r9d
mov r8d, eax
cmp eax, r9d
jne 0x140053aa6
mov dword [rbx], eax
mov eax, dword [rbx]
cmp eax, ecx
cmovg eax, ecx
cmp r8d, edx
jne 0x140053aba
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
jmp 0x140053abc
mov eax, edx
test eax, eax
jle 0x140053ac5
dec eax
mov dword [rbx + 8], eax
mov dword [rbx], eax
jmp 0x1400546ae
mov esi, dword [rbx + 0x10]
mov dword [rsp + 0x20], esi
jmp 0x140053ad7
mov esi, ebp
mov ecx, dword [rbx + 8]
mov edx, dword [rbx + 4]
bt r8d, 0x16
jae 0x140053b75
cmp edx, ecx
jne 0x140053b71
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 0x140053b1d
cmp edx, eax
jle 0x140053b0e
mov dword [rbx + 4], eax
mov edx, eax
cmp ecx, eax
jle 0x140053b17
mov dword [rbx + 8], eax
mov ecx, eax
cmp edx, ecx
jne 0x140053b1d
mov dword [rbx], edx
mov r8d, dword [rbx]
cmp r8d, eax
jle 0x140053b2a
mov dword [rbx], eax
mov r8d, eax
movzx r9d, byte [rbx + 0x17]
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.140053260
xor ecx, ecx
mov dword [rsp + 0x40], ecx
mov ebp, ecx
test esi, esi
jle 0x1400546b2
vmovss xmm7, dword [rsp + 0x28]
vmovss xmm6, dword [0x14006ae74]
mov r11d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x34]
cmp byte [rbx + 0x16], 0
je 0x140053bb3
vmovss xmm5, dword [rbx + 0x1c]
jmp 0x140053bb7
mov dword [rbx], ecx
jmp 0x140053afa
cmp edx, ecx
je 0x140053afa
jle 0x140053b87
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 0x140053b98
mov dword [rbx + 8], eax
mov ecx, eax
cmp edx, ecx
jne 0x140053b9e
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 0x140053b1d
vmovaps xmm5, xmm7
add r13d, r11d
test r11d, r11d
je 0x1400546b2
mov rax, qword [rdi + 0x20]
movsxd r15, r13d
cmp word [rax + r15*2 - 2], 0xa
jne 0x1400546b2
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 0x140053c21
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r11]
mov ecx, esi
add r11, 2
cmp ax, 0xa
je 0x140053c1f
mov dword [rsp + 0x20], ecx
cmp r11, r9
jae 0x140053c1f
mov dword [rsp + 0x20], ecx
jmp 0x140053c00
xor ecx, ecx
sub r11, r8
mov esi, ecx
sub r11, r10
sar r11, 1
vxorps xmm3, xmm3, xmm3
cmp r11d, 4
jl 0x140053de4
mov rbp, rcx
nop dword [rax]
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax]
cmp ecx, 0xa
je 0x140053e4e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x140053c6b
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140053c70
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140053e4e
vaddss xmm4, xmm3, xmm2
vcomiss xmm4, xmm5
ja 0x140053e4e
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 0x140053e4e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x140053ccf
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140053cd4
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140053e4e
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x140053e4e
inc r10d
mov dword [rbx], r10d
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax + 4]
cmp ecx, 0xa
je 0x140053e4e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x140053d30
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140053d35
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140053e4e
vaddss xmm4, xmm3, xmm2
vcomiss xmm4, xmm5
ja 0x140053e4e
inc r10d
mov dword [rbx], r10d
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax + 6]
cmp ecx, 0xa
je 0x140053e4e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x140053d91
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140053d96
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140053e4e
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x140053e4e
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 0x140053c40
cmp esi, r11d
jl 0x140053dec
jmp 0x140053e4e
test r11d, r11d
jle 0x140053e52
mov rbp, rcx
lea r8, [r15 + rbp]
add r8, r8
mov rax, qword [rdi + 0x20]
movzx ecx, word [r8 + rax]
cmp ecx, 0xa
je 0x140053e4e
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x140053e1a
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140053e1f
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x140053e4e
vaddss xmm3, xmm3, xmm2
vcomiss xmm3, xmm5
ja 0x140053e4e
inc dword [rbx]
add r8, 2
inc esi
cmp esi, r11d
jl 0x140053df3
mov ebp, dword [rsp + 0x40]
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov eax, dword [r14]
cmp ecx, edx
je 0x140053e77
cmp ecx, eax
jle 0x140053e68
mov dword [rbx + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x140053e71
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140053e77
mov dword [rbx], ecx
mov ecx, dword [rbx]
cmp ecx, eax
jle 0x140053e81
mov dword [rbx], eax
mov ecx, eax
test dword [rsp + 0x24], 0x400000
vmovss dword [rbx + 0x1c], xmm5
mov byte [rbx + 0x16], 1
je 0x140053e97
mov dword [rbx + 8], ecx
mov esi, dword [rsp + 0x20]
inc ebp
mov dword [rsp + 0x40], ebp
mov ecx, 0
cmp ebp, esi
jl 0x140053b64
jmp 0x1400546b2
mov ebp, dword [rbx + 0x10]
mov dword [rsp + 0x20], ebp
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
bt r8d, 0x16
jae 0x140053f51
cmp ecx, eax
jne 0x140053f4d
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 0x140053efc
cmp ecx, edx
jle 0x140053eed
mov dword [rbx + 4], edx
mov ecx, edx
cmp eax, edx
jle 0x140053ef6
mov dword [rbx + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x140053efc
mov dword [rbx], ecx
mov r8d, dword [rbx]
cmp r8d, edx
jle 0x140053f09
mov dword [rbx], edx
mov r8d, edx
movzx r9d, byte [rbx + 0x17]
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.140053260
xor r11d, r11d
mov r13d, r11d
test ebp, ebp
jle 0x1400546b2
vmovss xmm7, dword [rsp + 0x28]
vmovss xmm6, dword [0x14006ae74]
mov r15d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x34]
cmp byte [rbx + 0x16], 0
je 0x140053f6e
vmovss xmm5, dword [rbx + 0x1c]
jmp 0x140053f72
mov dword [rbx], eax
jmp 0x140053ed9
cmp ecx, eax
je 0x140053ed9
jle 0x140053f5c
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 0x140053efc
vmovaps xmm5, xmm7
cmp r15d, eax
je 0x1400546b2
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 0x140053fbe
nop dword [rax]
movzx eax, word [rsi]
mov ecx, ebp
add rsi, 2
cmp ax, 0xa
je 0x140053fbe
mov dword [rsp + 0x20], ecx
cmp rsi, r8
jae 0x140053fbe
mov dword [rsp + 0x20], ecx
jmp 0x140053fa0
sub rsi, r10
sub rsi, r9
sar rsi, 1
vxorps xmm2, xmm2, xmm2
cmp esi, 4
jl 0x14005417c
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 0x1400541e3
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x14005400e
mov rax, qword [rdx + 8]
vmovss xmm3, dword [rax + rcx*4]
jmp 0x140054013
vmovss xmm3, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm3, xmm1, xmm3
vucomiss xmm3, xmm6
je 0x1400541e3
vaddss xmm4, xmm2, xmm3
vcomiss xmm4, xmm5
ja 0x1400541e3
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 0x1400541e3
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x140054072
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140054077
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x1400541e3
vaddss xmm3, xmm4, xmm2
vcomiss xmm3, xmm5
ja 0x1400541e3
inc r9d
mov dword [rbx], r9d
mov rax, qword [rdi + 0x20]
movzx ecx, word [rax + r10*2 + 4]
cmp ecx, 0xa
je 0x1400541e3
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x1400540d3
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x1400540d8
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x1400541e3
vaddss xmm3, xmm3, xmm2
vcomiss xmm3, xmm5
ja 0x1400541e3
inc r9d
mov dword [rbx], r9d
mov rax, qword [rdi + 0x20]
movzx ecx, word [rax + r10*2 + 6]
cmp ecx, 0xa
je 0x1400541e3
mov r8, qword [rdi]
mov rdx, qword [r8 + 0x3c00]
cmp ecx, dword [rdx]
jge 0x140054134
mov rax, qword [rdx + 8]
vmovss xmm2, dword [rax + rcx*4]
jmp 0x140054139
vmovss xmm2, dword [rdx + 0x10]
vmovss xmm0, dword [r8 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm2, xmm1, xmm2
vucomiss xmm2, xmm6
je 0x1400541e3
vaddss xmm2, xmm3, xmm2
vcomiss xmm2, xmm5
ja 0x1400541e3
lea eax, [r9 + 1]
add r11d, 4
mov dword [rbx], eax
add ebp, 4
lea eax, [rsi - 3]
cmp r11d, eax
jl 0x140053fe0
cmp r11d, esi
jge 0x1400541e3
lea eax, [r11 + r15]
movsxd rcx, eax
mov rax, qword [rdi + 0x20]
movzx r8d, word [rax + rcx*2]
cmp r8d, 0xa
je 0x1400541e3
mov r9, qword [rdi]
mov rdx, qword [r9 + 0x3c00]
cmp r8d, dword [rdx]
jge 0x1400541b2
mov rax, qword [rdx + 8]
vmovss xmm3, dword [rax + r8*4]
jmp 0x1400541b7
vmovss xmm3, dword [rdx + 0x10]
vmovss xmm0, dword [r9 + 0x3c08]
vdivss xmm1, xmm0, dword [rdx + 0x14]
vmulss xmm3, xmm1, xmm3
vucomiss xmm3, xmm6
je 0x1400541e3
vaddss xmm2, xmm2, xmm3
vcomiss xmm2, xmm5
ja 0x1400541e3
inc dword [rbx]
inc r11d
cmp r11d, esi
jl 0x140054181
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov eax, dword [r14]
cmp ecx, edx
je 0x140054208
cmp ecx, eax
jle 0x1400541f9
mov dword [rbx + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x140054202
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140054208
mov dword [rbx], ecx
mov ecx, dword [rbx]
cmp ecx, eax
jle 0x140054212
mov dword [rbx], eax
mov ecx, eax
test dword [rsp + 0x24], 0x400000
vmovss dword [rbx + 0x1c], xmm5
mov byte [rbx + 0x16], 1
je 0x140054228
mov dword [rbx + 8], ecx
test r15d, r15d
jle 0x140054278
lea r8d, [r15 - 1]
test r8d, r8d
jle 0x14005425a
mov rdx, qword [rdi + 0x20]
add rdx, 0xfffffffffffffffe
movsxd rcx, r8d
lea rdx, [rdx + rcx*2]
cmp word [rdx], 0xa
je 0x14005425a
dec r8d
dec rcx
sub rdx, 2
test rcx, rcx
jg 0x140054245
xor r11d, r11d
mov ebp, dword [rsp + 0x20]
inc r13d
mov eax, r15d
mov r15d, r8d
cmp r13d, ebp
jl 0x140053f40
jmp 0x1400546b2
xor r11d, r11d
mov r8d, r11d
jmp 0x14005425d
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x140054290
mov eax, dword [rbx]
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
mov esi, dword [rbx]
sub esi, ebp
js 0x1400542a8
mov edx, esi
mov rcx, rdi
call fcn.140052b70
test eax, eax
jne 0x1400542a8
sub esi, ebp
jns 0x140054296
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 0x1400542da
cmp ecx, eax
jle 0x1400542c7
mov dword [rbx + 4], eax
mov ecx, eax
mov edx, esi
cmp esi, eax
jle 0x1400542d2
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1400542da
mov dword [rbx], ecx
mov esi, ecx
cmp esi, eax
jle 0x1400546b2
mov dword [rbx], eax
jmp 0x1400546b2
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x1400542f9
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 0x140054312
mov edx, esi
mov rcx, rdi
call fcn.140052c70
mov esi, eax
jmp 0x140054339
mov ebp, dword [rdi + 0xc]
inc esi
cmp esi, ebp
jge 0x140054336
nop dword [rax + rax]
mov edx, esi
mov rcx, rdi
call fcn.140052b70
test eax, eax
jne 0x140054334
inc esi
cmp esi, ebp
jl 0x140054320
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 0x140054364
cmp ecx, eax
jle 0x140054351
mov dword [rbx + 4], eax
mov ecx, eax
mov edx, esi
cmp esi, eax
jle 0x14005435c
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x140054364
mov dword [rbx], ecx
mov esi, ecx
cmp esi, eax
jle 0x1400546b2
mov dword [rbx], eax
jmp 0x1400546b2
mov eax, dword [rbx + 8]
mov edx, dword [rbx + 4]
cmp edx, eax
jne 0x140054386
mov eax, dword [rbx]
mov edx, eax
mov dword [rbx + 4], eax
jmp 0x140054388
mov dword [rbx], eax
inc eax
mov dword [rbx + 8], eax
mov ecx, dword [rdi + 0xc]
cmp edx, eax
je 0x1400543b4
cmp edx, ecx
jle 0x14005439d
mov dword [rbx + 4], ecx
mov edx, ecx
mov r8d, eax
cmp eax, ecx
jle 0x1400543aa
mov dword [rbx + 8], ecx
mov r8d, ecx
cmp edx, r8d
mov eax, r8d
cmove eax, r8d
mov dword [rbx], eax
jmp 0x1400546ae
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x14005440c
movsxd rsi, dword [rbx]
cmp esi, dword [rdi + 0xc]
jge 0x1400546ae
lea rcx, [rbx + 0x20]
xor r9d, r9d
mov r8d, ebp
mov edx, esi
call fcn.140054830
test rax, rax
je 0x1400543f2
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.140052dd0
jmp 0x1400546ae
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
je 0x14005441c
mov rdx, rbx
mov rcx, rdi
call fcn.140053480
jmp 0x1400546ae
mov eax, dword [rdi + 0xc]
mov esi, dword [rbx]
cmp esi, eax
jle 0x140054429
mov dword [rbx], eax
mov esi, eax
test esi, esi
jle 0x1400546ae
lea rcx, [rbx + 0x20]
xor r9d, r9d
mov r8d, ebp
lea edx, [rsi - 1]
call fcn.140054830
test rax, rax
je 0x140054459
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.140052dd0
dec dword [rbx]
jmp 0x1400546ae
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x14005447b
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 0x1400546b2
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x1400544a7
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 0x1400546ae
mov dword [rbx], eax
mov eax, dword [rdi + 0xc]
mov dword [rbx + 8], eax
mov dword [rbx], eax
jmp 0x1400546ae
mov r8d, dword [rbx + 8]
mov r9d, dword [rbx + 4]
mov ecx, dword [rdi + 0xc]
cmp r9d, r8d
je 0x1400544ec
mov eax, r9d
cmp r9d, ecx
jle 0x1400544d3
mov dword [rbx + 4], ecx
mov eax, ecx
mov edx, r8d
cmp r8d, ecx
jle 0x1400544e0
mov dword [rbx + 8], ecx
mov edx, ecx
mov r8d, edx
mov r9d, eax
cmp eax, edx
jne 0x1400544ec
mov dword [rbx], eax
mov edx, dword [rbx]
mov eax, edx
cmp edx, ecx
jle 0x1400544fa
mov dword [rbx], ecx
mov edx, ecx
mov eax, ecx
cmp r9d, r8d
jne 0x140054507
mov dword [rbx + 8], edx
mov dword [rbx + 4], edx
jmp 0x140054510
mov dword [rbx], r8d
mov edx, r8d
mov eax, r8d
cmp byte [rbx + 0x17], 0
je 0x140054525
xor r8d, r8d
mov dword [rbx], r8d
mov dword [rbx + 8], r8d
jmp 0x1400546ae
mov r8d, eax
test edx, edx
jle 0x14005454e
nop dword [rax]
mov r8d, eax
mov ecx, edx
mov rax, qword [rdi + 0x20]
cmp word [rax + rcx*2 - 2], 0xa
je 0x14005454e
dec edx
mov dword [rbx], edx
mov eax, edx
mov r8d, edx
test edx, edx
jg 0x140054530
mov dword [rbx + 8], r8d
jmp 0x1400546ae
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov r9d, dword [rdi + 0xc]
cmp ecx, eax
je 0x14005458e
mov edx, ecx
cmp ecx, r9d
jle 0x140054573
mov dword [rbx + 4], r9d
mov edx, r9d
mov r8d, eax
cmp eax, r9d
jle 0x140054582
mov dword [rbx + 8], r9d
mov r8d, r9d
mov eax, r8d
mov ecx, edx
cmp edx, r8d
jne 0x14005458e
mov dword [rbx], edx
mov r8d, dword [rbx]
mov edx, r8d
cmp r8d, r9d
jle 0x1400545a2
mov dword [rbx], r9d
mov r8d, r9d
mov edx, r9d
cmp ecx, eax
jne 0x1400545b0
mov dword [rbx + 8], r8d
mov dword [rbx + 4], r8d
jmp 0x1400545b7
mov dword [rbx], eax
mov r8d, eax
mov edx, eax
cmp byte [rbx + 0x17], 0
je 0x1400545cb
mov edx, r9d
mov dword [rbx], r9d
mov dword [rbx + 8], edx
jmp 0x1400546ae
cmp r8d, r9d
jge 0x1400545ec
mov rax, qword [rdi + 0x20]
movsxd rcx, r8d
cmp word [rax + rcx*2], 0xa
je 0x1400545ec
lea edx, [r8 + 1]
mov dword [rbx], edx
mov r8d, edx
cmp edx, r9d
jl 0x1400545d0
mov dword [rbx + 8], edx
jmp 0x1400546ae
xor eax, eax
cmp r8d, 0x200000
cmovge r8d, eax
test r8d, r8d
jle 0x1400546b2
mov word [rsp + 0x40], r8w
cmp r8d, 0xa
jne 0x14005461f
cmp byte [rbx + 0x17], al
jne 0x1400546b2
cmp byte [rbx + 0xc], al
je 0x14005467a
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x14005467a
movsxd rsi, dword [rbx]
cmp esi, dword [rdi + 0xc]
jge 0x14005467a
lea rcx, [rbx + 0x20]
mov r9d, ebp
mov r8d, ebp
mov edx, esi
call fcn.140054830
test rax, rax
je 0x140054655
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.140052dd0
mov edx, dword [rbx]
lea r8, [rsp + 0x40]
mov r9d, ebp
mov rcx, rdi
call fcn.140052ea0
test al, al
je 0x1400546b2
jmp 0x1400546ac
mov rdx, rbx
mov rcx, rdi
call fcn.140053480
mov edx, dword [rbx]
lea r8, [rsp + 0x40]
mov r9d, ebp
mov rcx, rdi
call fcn.140052ea0
test al, al
je 0x1400546b2
mov edx, dword [rbx]
lea rcx, [rbx + 0x20]
mov r9d, ebp
xor r8d, r8d
call fcn.140054830
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.14005d2e0
add rsp, 0x90
pop rdi
pop rbp
pop rbx
ret