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

Disassembly:
push rbx
push rbp
push rsi
sub rsp, 0x90
mov rax, qword [0x18008d020]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x88], rdi
mov rbx, rdx
mov qword [rsp + 0x78], r14
lea rdx, [0x180000000]
mov qword [rsp + 0x70], r15
mov ebp, r8d
movaps xmmword [rsp + 0x60], xmm6
mov rsi, rcx
cmp ebp, 0x30000
jg 0x18002d65c
je 0x18002da74
lea eax, [rbp - 0x10000]
cmp eax, 0xd
ja case.0x18002d677.196618
cdqe
mov ecx, dword [rdx + rax*4 + 0x2e2ac]
add rcx, rdx
jmp rcx
lea eax, [rbp - 0x30001]
cmp eax, 0xc
ja case.0x18002d677.196618
cdqe
mov ecx, dword [rdx + rax*4 + 0x2e2e4]
add rcx, rdx
jmp rcx
movzx r8d, byte [rbx + 0x10]
test r8b, r8b
je 0x18002dad4
and ebp, 0x20000
or ebp, 0x10001
jmp 0x18002d631
movzx r8d, byte [rbx + 0x10]
test r8b, r8b
je 0x18002dc72
and ebp, 0x20000
bts ebp, 0x10
jmp 0x18002d631
mov rdx, rbx
mov rcx, rsi
call fcn.18002e5e0
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
movsx rcx, word [rbx + 0xc8c]
cmp ecx, 0x63
je 0x18002dfcb
movsx rax, word [rbx + 0xc8a]
lea rcx, [rcx + rcx*2]
movsd xmm0, qword [rbx + rcx*4 + 0x18]
movsxd r14, dword [rbx + rcx*4 + 0x20]
movsd qword [rsp + 0x20], xmm0
mov rbp, qword [rsp + 0x20]
lea r9, [rax + rax*2]
mov rax, rbp
mov dword [rbx + r9*4 + 0x18], ebp
shr rax, 0x20
mov rdx, rbp
shr rdx, 0x30
mov word [rbx + r9*4 + 0x1e], ax
mov word [rbx + r9*4 + 0x1c], dx
mov word [rbx + r9*4 + 0x20], 0xffff
test dx, dx
je 0x18002d7a2
movsx r8d, word [rbx + 0xc8e]
xor edi, edi
movsx eax, word [rbx + 0xc90]
movsx ecx, dx
add ecx, r8d
cmp ecx, eax
jle 0x18002d748
mov dword [rbx + r9*4 + 0x1c], edi
jmp 0x18002d792
mov word [rbx + r9*4 + 0x20], r8w
add word [rbx + 0xc8e], dx
cmp di, word [rbx + r9*4 + 0x1c]
jge 0x18002d792
nop dword [rax]
mov ecx, dword [rbx + r9*4 + 0x18]
movsx eax, word [rbx + r9*4 + 0x20]
add ecx, edi
mov rdx, qword [rsi + 0x10]
add eax, edi
movsxd r8, ecx
inc edi
movsxd rcx, eax
movzx eax, word [rdx + r8*2]
mov word [rbx + rcx*2 + 0x4bc], ax
movsx eax, word [rbx + r9*4 + 0x1c]
cmp edi, eax
jl 0x18002d760
movsx r8d, word [rsp + 0x26]
mov edx, ebp
mov rcx, rsi
call fcn.18002cf10
movsx edi, word [rsp + 0x24]
test di, di
je 0x18002d7ce
movsx rax, r14w
mov r9d, edi
add rax, 0x25e
mov edx, ebp
mov rcx, rsi
lea r8, [rbx + rax*2]
call fcn.18002d010
add word [rbx + 0xc90], di
lea eax, [rdi + rbp]
mov dword [rbx], eax
inc word [rbx + 0xc8a]
inc word [rbx + 0xc8c]
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov eax, dword [rbx + 4]
mov ecx, dword [rbx + 8]
cmp eax, ecx
je 0x18002d809
jle 0x18002d7fb
mov eax, ecx
mov dword [rbx + 4], ecx
mov dword [rbx], eax
mov dword [rbx + 8], eax
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov eax, dword [rbx]
test eax, eax
jle 0x18002dfcb
dec eax
mov byte [rbx + 0xf], 0
mov dword [rbx], eax
jmp 0x18002e27d
mov eax, dword [rbx + 4]
mov r8d, dword [rbx + 8]
cmp eax, r8d
je 0x18002d861
jle 0x18002d83a
mov dword [rbx + 8], eax
mov ecx, r8d
mov dword [rbx + 4], r8d
jmp 0x18002d83f
mov ecx, eax
mov eax, r8d
mov edx, dword [rsi + 0x3c]
cmp ecx, edx
cmovg ecx, edx
cmp eax, edx
jle 0x18002d850
mov dword [rbx + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x18002d856
mov dword [rbx], ecx
mov dword [rbx], eax
mov dword [rbx + 4], eax
mov byte [rbx + 0xf], 0
jmp 0x18002d865
inc dword [rbx]
mov eax, dword [rbx]
mov ecx, dword [rsi + 0x3c]
cmp eax, ecx
jle 0x18002d86e
mov dword [rbx], ecx
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov eax, dword [rbx + 4]
mov ecx, dword [rbx + 8]
cmp eax, ecx
je 0x18002d896
jle 0x18002d888
mov eax, ecx
mov dword [rbx + 4], ecx
mov dword [rbx], eax
mov dword [rbx + 8], eax
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov edx, dword [rbx]
mov rcx, rsi
call fcn.18002cd90
mov dword [rbx], eax
mov ecx, dword [rsi + 0x3c]
cmp eax, ecx
jle 0x18002e27d
mov dword [rbx], ecx
jmp 0x18002e27d
mov eax, dword [rbx + 4]
mov r8d, dword [rbx + 8]
cmp eax, r8d
je 0x18002d8f8
jle 0x18002d8ce
mov dword [rbx + 8], eax
mov ecx, r8d
mov dword [rbx + 4], r8d
jmp 0x18002d8d3
mov ecx, eax
mov eax, r8d
mov edx, dword [rsi + 0x3c]
cmp ecx, edx
cmovg ecx, edx
cmp eax, edx
jle 0x18002d8e4
mov dword [rbx + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x18002d8ea
mov dword [rbx], ecx
mov dword [rbx], eax
mov dword [rbx + 4], eax
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov edx, dword [rbx]
mov rcx, rsi
call fcn.18002ce40
mov dword [rbx], eax
mov ecx, dword [rsi + 0x3c]
cmp eax, ecx
jle 0x18002e27d
mov dword [rbx], ecx
jmp 0x18002e27d
xor edi, edi
mov qword [rbx + 4], rdi
mov dword [rbx], edi
jmp 0x18002e279
mov eax, dword [rsi + 0x3c]
xor edi, edi
mov qword [rbx + 4], rdi
mov dword [rbx], eax
jmp 0x18002e279
mov r8d, dword [rbx + 4]
mov ecx, dword [rbx + 8]
mov eax, dword [rsi + 0x3c]
cmp r8d, ecx
je 0x18002d969
mov edx, r8d
cmp r8d, eax
jle 0x18002d94f
mov dword [rbx + 4], eax
mov edx, eax
mov r9d, ecx
cmp ecx, eax
jle 0x18002d95c
mov dword [rbx + 8], eax
mov r9d, eax
mov r8d, edx
mov ecx, r9d
cmp edx, r9d
jne 0x18002d969
mov dword [rbx], edx
mov edx, dword [rbx]
cmp edx, eax
jle 0x18002d973
mov dword [rbx], eax
mov edx, eax
cmp r8d, ecx
je 0x18002d98b
mov edx, r8d
jle 0x18002d982
mov dword [rbx + 4], ecx
mov edx, ecx
mov dword [rbx], edx
mov dword [rbx + 8], edx
mov byte [rbx + 0xf], 0
cmp byte [rbx + 0x10], 0
je 0x18002d99e
xor edi, edi
mov dword [rbx], edi
mov byte [rbx + 0xf], dil
jmp 0x18002e27d
test edx, edx
jle 0x18002d86e
nop word [rax + rax]
mov rax, qword [rsi + 0x10]
mov ecx, edx
cmp word [rax + rcx*2 - 2], 0xa
je 0x18002d86e
dec edx
mov dword [rbx], edx
test edx, edx
jg 0x18002d9b0
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov ecx, dword [rbx + 4]
mov eax, dword [rbx + 8]
mov r8d, dword [rsi + 0x3c]
cmp ecx, eax
je 0x18002da0a
mov edx, ecx
cmp ecx, r8d
jle 0x18002d9ef
mov dword [rbx + 4], r8d
mov edx, r8d
mov r9d, eax
cmp eax, r8d
jle 0x18002d9fe
mov dword [rbx + 8], r8d
mov r9d, r8d
mov ecx, edx
mov eax, r9d
cmp edx, r9d
jne 0x18002da0a
mov dword [rbx], edx
mov edx, dword [rbx]
cmp edx, r8d
jle 0x18002da17
mov dword [rbx], r8d
mov edx, r8d
cmp ecx, eax
je 0x18002da2d
mov edx, ecx
jle 0x18002da24
mov dword [rbx + 4], eax
mov edx, eax
mov dword [rbx], edx
mov dword [rbx + 8], edx
mov byte [rbx + 0xf], 0
cmp byte [rbx + 0x10], 0
je 0x18002da3f
mov dword [rbx], r8d
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
cmp edx, r8d
jge 0x18002d86e
nop dword [rax + rax]
mov rax, qword [rsi + 0x10]
movsxd rcx, edx
cmp word [rax + rcx*2], 0xa
je 0x18002d86e
inc edx
mov dword [rbx], edx
cmp edx, r8d
jl 0x18002da50
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov r8d, dword [rbx + 4]
mov edx, dword [rbx + 8]
mov ecx, dword [rsi + 0x3c]
cmp r8d, edx
je 0x18002daaa
mov eax, r8d
cmp r8d, ecx
jle 0x18002da90
mov dword [rbx + 4], ecx
mov eax, ecx
mov r9d, edx
cmp edx, ecx
jle 0x18002da9d
mov dword [rbx + 8], ecx
mov r9d, ecx
mov r8d, eax
mov edx, r9d
cmp eax, r9d
jne 0x18002daaa
mov dword [rbx], eax
mov eax, dword [rbx]
cmp eax, ecx
cmovg eax, ecx
cmp r8d, edx
jne 0x18002dabe
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
jmp 0x18002dac0
mov eax, edx
test eax, eax
jle 0x18002dac9
dec eax
mov dword [rbx + 8], eax
mov dword [rbx], eax
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov ecx, dword [rbx + 4]
mov eax, dword [rbx + 8]
bt ebp, 0x11
jae 0x18002db47
cmp ecx, eax
jne 0x18002db43
mov ecx, dword [rbx]
mov eax, ecx
mov dword [rbx + 8], ecx
mov dword [rbx + 4], ecx
mov edx, dword [rsi + 0x3c]
cmp ecx, eax
je 0x18002db0d
cmp ecx, edx
jle 0x18002dafe
mov dword [rbx + 4], edx
mov ecx, edx
cmp eax, edx
jle 0x18002db07
mov dword [rbx + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x18002db0d
mov dword [rbx], ecx
mov eax, dword [rbx]
cmp eax, edx
jle 0x18002db17
mov dword [rbx], edx
mov eax, edx
mov r9d, r8d
lea rcx, [rsp + 0x20]
mov r8d, eax
mov rdx, rsi
call fcn.18002d2e0
mov ecx, dword [rsp + 0x30]
test ecx, ecx
je 0x18002e27d
cmp byte [rbx + 0xf], 0
je 0x18002db7e
movss xmm6, dword [rbx + 0x14]
jmp 0x18002db84
mov dword [rbx], eax
jmp 0x18002daee
cmp ecx, eax
je 0x18002daee
mov edx, ecx
jle 0x18002db59
mov edx, eax
mov dword [rbx + 4], eax
mov eax, ecx
mov dword [rbx + 8], ecx
mov ecx, dword [rsi + 0x3c]
cmp edx, ecx
cmovg edx, ecx
cmp eax, ecx
jle 0x18002db6a
mov dword [rbx + 8], ecx
mov eax, ecx
cmp edx, eax
jne 0x18002db70
mov dword [rbx], edx
mov dword [rbx], eax
mov dword [rbx + 4], eax
mov byte [rbx + 0xf], 0
mov edx, dword [rsi + 0x3c]
jmp 0x18002db0d
movss xmm6, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x2c]
mov rdx, rsi
add r14d, ecx
lea rcx, [rsp + 0x38]
mov r8d, r14d
mov dword [rbx], r14d
call fcn.18002ccb0
mov r10d, dword [rsp + 0x4c]
xor edi, edi
movss xmm2, dword [rsp + 0x38]
test r10d, r10d
jle 0x18002dc28
mov r9, qword [0x18008dc38]
movss xmm3, dword [0x180082734]
movsxd rax, r14d
lea r8, [rax + rax]
nop word [rax + rax]
mov rax, qword [rsi + 0x10]
movzx ecx, word [r8 + rax]
cmp ecx, 0xa
je 0x18002dc28
mov rdx, qword [r9 + 0x1770]
cmp ecx, dword [rdx + 0x20]
jge 0x18002dbf5
mov rax, qword [rdx + 0x28]
movss xmm1, dword [rax + rcx*4]
jmp 0x18002dbfa
movss xmm1, dword [rdx + 0x48]
movss xmm0, dword [r9 + 0x1778]
divss xmm0, dword [rdx]
mulss xmm0, xmm1
ucomiss xmm0, xmm3
jp 0x18002dc12
je 0x18002dc28
addss xmm2, xmm0
comiss xmm2, xmm6
ja 0x18002dc28
inc dword [rbx]
inc edi
add r8, 2
cmp edi, r10d
jl 0x18002dbd0
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 4]
mov eax, dword [rsi + 0x3c]
cmp ecx, edx
je 0x18002dc4d
cmp ecx, eax
jle 0x18002dc3e
mov dword [rbx + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x18002dc47
mov dword [rbx + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x18002dc4d
mov dword [rbx], ecx
mov ecx, dword [rbx]
cmp ecx, eax
jle 0x18002dc57
mov dword [rbx], eax
mov ecx, eax
movss dword [rbx + 0x14], xmm6
mov byte [rbx + 0xf], 1
bt ebp, 0x11
jae 0x18002e27d
mov dword [rbx + 8], ecx
jmp 0x18002e27d
mov eax, dword [rbx + 4]
mov ecx, dword [rbx + 8]
bt ebp, 0x11
jae 0x18002dce9
cmp eax, ecx
jne 0x18002dce5
mov eax, dword [rbx]
mov ecx, eax
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
mov edx, dword [rsi + 0x3c]
cmp eax, ecx
je 0x18002dcab
cmp eax, edx
jle 0x18002dc9c
mov dword [rbx + 4], edx
mov eax, edx
cmp ecx, edx
jle 0x18002dca5
mov dword [rbx + 8], edx
mov ecx, edx
cmp eax, ecx
jne 0x18002dcab
mov dword [rbx], eax
mov eax, dword [rbx]
cmp eax, edx
jle 0x18002dcb5
mov dword [rbx], edx
mov eax, edx
mov r9d, r8d
lea rcx, [rsp + 0x20]
mov r8d, eax
mov rdx, rsi
call fcn.18002d2e0
mov r14d, dword [rsp + 0x34]
cmp r14d, dword [rsp + 0x2c]
je 0x18002e27d
cmp byte [rbx + 0xf], 0
je 0x18002dd02
movss xmm6, dword [rbx + 0x14]
jmp 0x18002dd08
mov dword [rbx], ecx
jmp 0x18002dc8c
cmp eax, ecx
je 0x18002dc8c
jle 0x18002dcf4
mov eax, ecx
mov dword [rbx + 4], ecx
mov dword [rbx], eax
mov dword [rbx + 8], eax
mov byte [rbx + 0xf], 0
mov edx, dword [rsi + 0x3c]
jmp 0x18002dcab
movss xmm6, dword [rsp + 0x20]
mov r8d, r14d
mov dword [rbx], r14d
mov rdx, rsi
lea rcx, [rsp + 0x38]
call fcn.18002ccb0
mov r10d, dword [rsp + 0x4c]
xor edi, edi
movss xmm2, dword [rsp + 0x38]
test r10d, r10d
jle 0x18002dc28
mov r9, qword [0x18008dc38]
movss xmm3, dword [0x180082734]
lea eax, [rdi + r14]
movsxd rcx, eax
mov rax, qword [rsi + 0x10]
movzx r8d, word [rax + rcx*2]
cmp r8d, 0xa
je 0x18002dc28
mov rdx, qword [r9 + 0x1770]
cmp r8d, dword [rdx + 0x20]
jge 0x18002dd73
mov rax, qword [rdx + 0x28]
movss xmm1, dword [rax + r8*4]
jmp 0x18002dd78
movss xmm1, dword [rdx + 0x48]
movss xmm0, dword [r9 + 0x1778]
divss xmm0, dword [rdx]
mulss xmm0, xmm1
ucomiss xmm0, xmm3
jp 0x18002dd94
je 0x18002dc28
addss xmm2, xmm0
comiss xmm2, xmm6
ja 0x18002dc28
inc dword [rbx]
inc edi
cmp edi, r10d
jl 0x18002dd40
jmp 0x18002dc28
mov edi, dword [rbx + 4]
cmp edi, dword [rbx + 8]
jne 0x18002ddbf
mov edi, dword [rbx]
mov dword [rbx + 8], edi
mov dword [rbx + 4], edi
mov edx, dword [rbx]
mov rcx, rsi
call fcn.18002cd90
mov dword [rbx], eax
mov dword [rbx + 8], eax
mov ecx, dword [rsi + 0x3c]
cmp edi, eax
je 0x18002ddf1
cmp edi, ecx
jle 0x18002ddde
mov dword [rbx + 4], ecx
mov edi, ecx
mov edx, eax
cmp eax, ecx
jle 0x18002dde9
mov dword [rbx + 8], ecx
mov edx, ecx
cmp edi, edx
jne 0x18002ddf1
mov dword [rbx], edi
mov eax, edi
cmp eax, ecx
jle 0x18002e27d
mov dword [rbx], ecx
jmp 0x18002e27d
mov edi, dword [rbx + 4]
cmp edi, dword [rbx + 8]
jne 0x18002de10
mov edi, dword [rbx]
mov dword [rbx + 8], edi
mov dword [rbx + 4], edi
mov edx, dword [rbx]
mov rcx, rsi
call fcn.18002ce40
mov dword [rbx], eax
mov dword [rbx + 8], eax
mov ecx, dword [rsi + 0x3c]
cmp edi, eax
je 0x18002de42
cmp edi, ecx
jle 0x18002de2f
mov dword [rbx + 4], ecx
mov edi, ecx
mov edx, eax
cmp eax, ecx
jle 0x18002de3a
mov dword [rbx + 8], ecx
mov edx, ecx
cmp edi, edx
jne 0x18002de42
mov dword [rbx], edi
mov eax, edi
cmp eax, ecx
jle 0x18002e27d
mov dword [rbx], ecx
jmp 0x18002e27d
mov edx, dword [rbx + 4]
mov eax, dword [rbx + 8]
cmp edx, eax
jne 0x18002de64
mov eax, dword [rbx]
mov edx, eax
mov dword [rbx + 4], eax
jmp 0x18002de66
mov dword [rbx], eax
inc eax
mov dword [rbx + 8], eax
mov ecx, dword [rsi + 0x3c]
cmp edx, eax
je 0x18002de92
cmp edx, ecx
jle 0x18002de7b
mov dword [rbx + 4], ecx
mov edx, ecx
mov r8d, eax
cmp eax, ecx
jle 0x18002de88
mov dword [rbx + 8], ecx
mov r8d, ecx
cmp edx, r8d
mov eax, r8d
cmove eax, r8d
mov dword [rbx], eax
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x18002df24
movsxd r14, dword [rbx]
cmp r14d, dword [rsi + 0x3c]
jge 0x18002dfcb
lea r15, [rbx + 0x18]
mov ebp, 1
mov edx, ebp
mov rcx, r15
call fcn.18002e3f0
test rax, rax
je 0x18002df05
mov dword [rax], r14d
mov dword [rax + 4], ebp
movzx ecx, word [r15 + 0xc76]
mov word [rax + 8], cx
inc word [r15 + 0xc76]
movsx rdx, word [rax + 8]
add rdx, 0x252
lea rdx, [r15 + rdx*2]
test rdx, rdx
je 0x18002df05
mov rax, qword [rsi + 0x10]
movzx ecx, word [rax + r14*2]
mov word [rdx], cx
mov r8d, ebp
mov edx, r14d
mov rcx, rsi
call fcn.18002cf10
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
je 0x18002df38
mov rdx, rbx
mov rcx, rsi
call fcn.18002d4b0
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov eax, dword [rsi + 0x3c]
mov r14d, dword [rbx]
cmp r14d, eax
jle 0x18002df48
mov dword [rbx], eax
mov r14d, eax
test r14d, r14d
jle 0x18002dfcb
lea r15, [rbx + 0x18]
mov qword [rsp + 0x80], r12
mov ebp, 1
lea r12d, [r14 - 1]
mov edx, ebp
mov rcx, r15
call fcn.18002e3f0
test rax, rax
je 0x18002dfb3
mov dword [rax], r12d
mov dword [rax + 4], ebp
movzx ecx, word [r15 + 0xc76]
mov word [rax + 8], cx
inc word [r15 + 0xc76]
movsx rdx, word [rax + 8]
add rdx, 0x252
lea rdx, [r15 + rdx*2]
test rdx, rdx
je 0x18002dfb3
mov rax, qword [rsi + 0x10]
movsxd rcx, r14d
movzx ecx, word [rax + rcx*2 - 2]
mov word [rdx], cx
mov r8d, ebp
mov edx, r12d
mov rcx, rsi
call fcn.18002cf10
dec dword [rbx]
mov r12, qword [rsp + 0x80]
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x18002dfe1
mov eax, dword [rbx]
mov dword [rbx + 4], eax
xor edi, edi
mov dword [rbx + 8], edi
mov dword [rbx], edi
jmp 0x18002e279
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x18002e00e
mov eax, dword [rbx]
mov dword [rbx + 8], eax
mov dword [rbx + 4], eax
mov eax, dword [rsi + 0x3c]
mov dword [rbx + 8], eax
mov dword [rbx], eax
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov dword [rbx], eax
mov eax, dword [rsi + 0x3c]
mov dword [rbx + 8], eax
mov dword [rbx], eax
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov r8d, dword [rbx + 4]
mov ecx, dword [rbx + 8]
mov eax, dword [rsi + 0x3c]
cmp r8d, ecx
je 0x18002e057
mov edx, r8d
cmp r8d, eax
jle 0x18002e03d
mov dword [rbx + 4], eax
mov edx, eax
mov r9d, ecx
cmp ecx, eax
jle 0x18002e04a
mov dword [rbx + 8], eax
mov r9d, eax
mov r8d, edx
mov ecx, r9d
cmp edx, r9d
jne 0x18002e057
mov dword [rbx], edx
mov edx, dword [rbx]
mov edi, edx
cmp edx, eax
jle 0x18002e065
mov dword [rbx], eax
mov edx, eax
mov edi, eax
cmp r8d, ecx
jne 0x18002e072
mov dword [rbx + 8], edx
mov dword [rbx + 4], edx
jmp 0x18002e078
mov dword [rbx], ecx
mov edx, ecx
mov edi, ecx
cmp byte [rbx + 0x10], 0
je 0x18002e08e
xor edi, edi
mov dword [rbx], edi
mov dword [rbx + 8], edi
mov byte [rbx + 0xf], dil
jmp 0x18002e27d
test edx, edx
jle 0x18002e0ab
mov rax, qword [rsi + 0x10]
mov ecx, edx
cmp word [rax + rcx*2 - 2], 0xa
je 0x18002e0ab
lea edi, [rdx - 1]
mov dword [rbx], edi
mov edx, edi
test edi, edi
jg 0x18002e092
mov dword [rbx + 8], edi
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov ecx, dword [rbx + 4]
mov eax, dword [rbx + 8]
mov r9d, dword [rsi + 0x3c]
cmp ecx, eax
je 0x18002e0ee
mov edx, ecx
cmp ecx, r9d
jle 0x18002e0d3
mov dword [rbx + 4], r9d
mov edx, r9d
mov r8d, eax
cmp eax, r9d
jle 0x18002e0e2
mov dword [rbx + 8], r9d
mov r8d, r9d
mov ecx, edx
mov eax, r8d
cmp edx, r8d
jne 0x18002e0ee
mov dword [rbx], edx
mov r8d, dword [rbx]
mov edx, r8d
cmp r8d, r9d
jle 0x18002e102
mov dword [rbx], r9d
mov r8d, r9d
mov edx, r9d
cmp ecx, eax
jne 0x18002e110
mov dword [rbx + 8], r8d
mov dword [rbx + 4], r8d
jmp 0x18002e117
mov dword [rbx], eax
mov r8d, eax
mov edx, eax
cmp byte [rbx + 0x10], 0
je 0x18002e12f
mov edx, r9d
mov dword [rbx], r9d
mov dword [rbx + 8], edx
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
cmp r8d, r9d
jge 0x18002e15c
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsi + 0x10]
movsxd rcx, r8d
cmp word [rax + rcx*2], 0xa
je 0x18002e15c
lea edx, [r8 + 1]
mov dword [rbx], edx
mov r8d, edx
cmp edx, r9d
jl 0x18002e140
mov dword [rbx + 8], edx
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
xor edi, edi
cmp ebp, 0x10000
cmovge ebp, edi
test ebp, ebp
jle 0x18002e27d
mov word [rsp + 0x50], bp
cmp ebp, 0xa
jne 0x18002e18f
cmp byte [rbx + 0x10], dil
jne 0x18002e27d
cmp byte [rbx + 0xc], dil
je 0x18002e232
mov eax, dword [rbx + 8]
cmp dword [rbx + 4], eax
jne 0x18002e232
movsxd r14, dword [rbx]
cmp r14d, dword [rsi + 0x3c]
jge 0x18002e232
lea rdi, [rbx + 0x18]
mov ebp, 1
mov edx, ebp
mov rcx, rdi
call fcn.18002e3f0
test rax, rax
je 0x18002e207
mov dword [rax], r14d
mov dword [rax + 4], 0x10001
movzx ecx, word [rdi + 0xc76]
mov word [rax + 8], cx
inc word [rdi + 0xc76]
movsx rdx, word [rax + 8]
add rdx, 0x252
lea rdx, [rdi + rdx*2]
test rdx, rdx
je 0x18002e207
mov rax, qword [rsi + 0x10]
movzx ecx, word [rax + r14*2]
mov word [rdx], cx
mov edx, dword [rbx]
mov r8d, ebp
mov rcx, rsi
call fcn.18002cf10
mov edx, dword [rbx]
lea r8, [rsp + 0x50]
mov r9d, ebp
mov rcx, rsi
call fcn.18002d010
test al, al
je 0x18002e27d
inc dword [rbx]
mov byte [rbx + 0xf], 0
jmp 0x18002e27d
mov rdx, rbx
mov rcx, rsi
call fcn.18002d4b0
mov edx, dword [rbx]
lea r8, [rsp + 0x50]
mov r9d, 1
mov rcx, rsi
call fcn.18002d010
test al, al
je 0x18002e27d
mov esi, dword [rbx]
lea rcx, [rbx + 0x18]
xor edx, edx
call fcn.18002e3f0
test rax, rax
je 0x18002e277
mov dword [rax], esi
mov dword [rax + 4], 0x10000
mov word [rax + 8], 0xffff
inc dword [rbx]
mov byte [rbx + 0xf], dil
movaps xmm6, xmmword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.180042cf0
add rsp, 0x90
pop rsi
pop rbp
pop rbx
ret