Function at 0x18004a7a0
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x40
mov rdi, qword [0x1800f7990]
movaps xmmword [rsp + 0x30], xmm6
cmp byte [rdi + 0xc3], 0
je 0x18004a7db
test byte [rdi + 0xc], 2
jne 0x18004a7db
mov byte [rdi + 0xc3], 0
cmp byte [rdi + 0x2eb4], 0
mov r14d, 2
mov qword [rsp + 0x60], rbp
lea r12d, [r14 - 1]
jne 0x18004a8f1
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x18004a8ea
lea rdx, [0x1800d217c]
call fcn.180045380
mov rbx, rax
test rax, rax
je 0x18004a8ea
mov r8d, r14d
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x18004a8e1
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rsi, eax
cmp esi, 0xffffffff
je 0x18004a8e1
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x18004a8e1
mov rax, qword [0x1800f7990]
mov rbp, rsi
test rax, rax
je 0x18004a872
inc dword [rax + 0x3b0]
mov rdx, qword [0x1800f79a0]
mov rcx, rbp
call qword [section..data]
mov rsi, rax
test rax, rax
je 0x18004a8e1
mov r9, rbx
mov r8, rbp
mov rdx, r12
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rcx, rbx
cmp rax, rbp
je 0x18004a8ce
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x1800f7990]
test rax, rax
je 0x18004a8bc
dec dword [rax + 0x3b0]
mov rdx, qword [0x1800f79a0]
mov rcx, rsi
call qword [0x1800f6008]
jmp 0x18004a8ea
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rdx, rbp
mov rcx, rsi
call fcn.1800470f0
jmp 0x18004a8aa
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov byte [rdi + 0x2eb4], r12b
movss xmm0, dword [rdi + 0x2eb8]
xorps xmm6, xmm6
xor esi, esi
comiss xmm0, xmm6
jbe 0x18004a932
subss xmm0, dword [rdi + 0x18]
comiss xmm6, xmm0
movss dword [rdi + 0x2eb8], xmm0
jb 0x18004a932
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x18004a925
call fcn.18004fa30
jmp 0x18004a92c
mov byte [rdi + 0x398], r12b
mov dword [rdi + 0x2eb8], esi
inc dword [rdi + 0x19b0]
movss xmm0, dword [rdi + 0x18]
mov rax, qword [rdi + 0xa0]
mov byte [rdi + 1], r12b
mov dword [rdi + 0x2e88], esi
mov dword [rdi + 0x1a10], esi
cvtps2pd xmm0, xmm0
addsd xmm0, qword [rdi + 0x19a8]
movsd qword [rdi + 0x19a8], xmm0
mov byte [rax], r12b
mov rax, qword [0x1800f7990]
mov rcx, qword [rax + 0xb0]
test rcx, rcx
jne 0x18004a98b
mov rax, qword [rax + 0xa0]
mov rcx, qword [rax + 0x48]
mov rcx, qword [rcx]
call fcn.18004fe90
mov eax, dword [rdi + 0x1600]
movss xmm0, dword [rdi + 0x10]
movss xmm1, dword [rdi + 0x14]
mov qword [rsp + 0x20], rsi
movups xmm2, xmmword [rsp + 0x20]
mov dword [rdi + 0x192c], eax
mov eax, esi
mov dword [rdi + 0x1940], esi
shufps xmm2, xmm2, 0xd2
movss xmm2, xmm0
shufps xmm2, xmm2, 0x27
movss xmm2, xmm1
shufps xmm2, xmm2, 0x39
movups xmmword [rdi + 0x1930], xmm2
cmp byte [rdi + 0x15fc], sil
je 0x18004a9e6
mov dword [rdi + 0x1940], r12d
mov eax, r12d
cmp byte [rdi + 0x15fd], sil
je 0x18004a9f8
or eax, r14d
mov dword [rdi + 0x1940], eax
test byte [rdi + 0xc], 8
je 0x18004aa07
or eax, 4
mov dword [rdi + 0x1940], eax
lea rcx, [rdi + 0x1d20]
call fcn.180056b00
mov rdx, qword [rdi + 0xa0]
lea rcx, [rdi + 0x1d20]
mov rdx, qword [rdx + 8]
call fcn.180059860
lea rcx, [rdi + 0x1d20]
call fcn.1800597a0
lea rcx, [rdi + 0x1dc8]
call fcn.180056b00
mov rdx, qword [rdi + 0xa0]
lea rcx, [rdi + 0x1dc8]
mov rdx, qword [rdx + 8]
call fcn.180059860
lea rcx, [rdi + 0x1dc8]
call fcn.1800597a0
mov byte [rdi + 0x1cc0], sil
mov qword [rdi + 0x1cc8], rsi
mov qword [rdi + 0x1cd4], rsi
mov dword [rdi + 0x1cd0], esi
mov qword [rdi + 0x1cec], rsi
mov qword [rdi + 0x1ce4], rsi
mov qword [rdi + 0x1cdc], rsi
cmp byte [rdi + 0x1e74], sil
je 0x18004aad0
mov eax, dword [rdi + 0x1e94]
cmp eax, dword [rdi + 0x1a4c]
jne 0x18004aad0
mov rcx, qword [0x1800f7990]
cmp dword [rcx + 0x1a4c], eax
jne 0x18004aac1
mov dword [rcx + 0x1a50], eax
cmp dword [rcx + 0x1a7c], eax
jne 0x18004aad0
mov byte [rcx + 0x1a80], r12b
mov eax, dword [rdi + 0x1a38]
cmp dword [rdi + 0x1a40], esi
jne 0x18004aae6
mov dword [rdi + 0x1a44], esi
jmp 0x18004aaf4
mov ecx, eax
test eax, eax
je 0x18004aafc
cmp dword [rdi + 0x1a4c], eax
jne 0x18004aafc
mov dword [rdi + 0x1a48], esi
mov ecx, eax
movss xmm1, dword [rdi + 0x18]
mov eax, dword [rdi + 0x1a4c]
test ecx, ecx
je 0x18004ab35
movaps xmm0, xmm1
addss xmm0, dword [rdi + 0x1a44]
movss dword [rdi + 0x1a44], xmm0
cmp eax, ecx
je 0x18004ab35
movaps xmm0, xmm1
addss xmm0, dword [rdi + 0x1a48]
movss dword [rdi + 0x1a48], xmm0
movaps xmm2, xmm1
mov dword [rdi + 0x1a40], ecx
mov ecx, eax
mov dword [rdi + 0x1a38], esi
mov byte [rdi + 0x1a3c], sil
cmp dword [rdi + 0x1a50], eax
je 0x18004abb7
cmp dword [rdi + 0x1a7c], eax
jne 0x18004abb7
test eax, eax
je 0x18004abb7
mov rdx, qword [0x1800f7990]
mov ecx, dword [rdx + 0x1a4c]
test ecx, ecx
setne al
mov byte [rdx + 0x1a58], al
test ecx, ecx
je 0x18004ab8a
mov dword [rdx + 0x1a54], esi
mov word [rdx + 0x1a5a], si
mov dword [rdx + 0x1a4c], esi
mov qword [rdx + 0x1a60], rsi
mov byte [rdx + 0x1a59], sil
mov qword [rdx + 0x1a70], rsi
mov byte [rdx + 0x1a5c], sil
mov ecx, dword [rdi + 0x1a4c]
movss xmm2, dword [rdi + 0x18]
test ecx, ecx
je 0x18004abce
movaps xmm0, xmm2
addss xmm0, dword [rdi + 0x1a54]
movss dword [rdi + 0x1a54], xmm0
mov rax, qword [rdi + 0x1a70]
addss xmm2, dword [rdi + 0x1a94]
mov qword [rdi + 0x1a88], rax
movzx eax, byte [rdi + 0x1a5b]
mov byte [rdi + 0x1a81], al
mov eax, dword [rdi + 0x2e60]
movss dword [rdi + 0x1a94], xmm2
mov dword [rdi + 0x1a7c], ecx
mov dword [rdi + 0x1a50], esi
mov byte [rdi + 0x1a5c], sil
mov byte [rdi + 0x1a80], sil
mov byte [rdi + 0x1a58], sil
test eax, eax
je 0x18004ac2e
cmp ecx, eax
je 0x18004ac2e
mov dword [rdi + 0x2e60], esi
mov eax, dword [rdi + 0x1ee4]
lea rcx, [rdi + 0xc98]
lea rdx, [rdi + 0x498]
mov dword [rdi + 0x1ee8], eax
mov r8d, 0x800
mov qword [rdi + 0x1ee0], 0x7f7fffff
mov byte [rdi + 0x1e75], sil
call sub.VCRUNTIME140.dll_memcpy
movss xmm1, dword [0x1800d22d0]
lea rcx, [rdi + 0x13d]
lea rax, [rdi + 0x49c]
mov edx, 0x80
cmp byte [rcx - 1], sil
je 0x18004ac9c
movss xmm0, dword [rax - 4]
comiss xmm6, xmm0
jbe 0x18004ac95
movaps xmm0, xmm6
jmp 0x18004ac9f
addss xmm0, dword [rdi + 0x18]
jmp 0x18004ac9f
movaps xmm0, xmm1
movss dword [rax - 4], xmm0
cmp byte [rcx], sil
je 0x18004acbe
movss xmm0, dword [rax]
comiss xmm6, xmm0
jbe 0x18004acb7
movaps xmm0, xmm6
jmp 0x18004acc1
addss xmm0, dword [rdi + 0x18]
jmp 0x18004acc1
movaps xmm0, xmm1
movss dword [rax], xmm0
cmp byte [rcx + 1], sil
je 0x18004ace1
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
jbe 0x18004acda
movaps xmm0, xmm6
jmp 0x18004ace4
addss xmm0, dword [rdi + 0x18]
jmp 0x18004ace4
movaps xmm0, xmm1
movss dword [rax + 4], xmm0
cmp byte [rcx + 2], sil
je 0x18004ad05
movss xmm0, dword [rax + 8]
comiss xmm6, xmm0
jbe 0x18004acfe
movaps xmm0, xmm6
jmp 0x18004ad08
addss xmm0, dword [rdi + 0x18]
jmp 0x18004ad08
movaps xmm0, xmm1
movss dword [rax + 8], xmm0
add rcx, 4
add rax, 0x10
sub rdx, r12
jne 0x18004ac80
call fcn.1800484f0
call fcn.180051c60
movsxd rax, dword [rdi + 0x3104]
movss xmm1, dword [rdi + 0x18]
movaps xmm0, xmm1
subss xmm0, dword [rdi + rax*4 + 0x2f24]
addss xmm0, dword [rdi + 0x3108]
movss dword [rdi + 0x3108], xmm0
movss dword [rdi + rax*4 + 0x2f24], xmm1
mov eax, 0x88888889
mov ecx, dword [rdi + 0x3104]
movss xmm1, dword [rdi + 0x3108]
inc ecx
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x78
sub ecx, eax
comiss xmm1, xmm6
mov dword [rdi + 0x3104], ecx
jbe 0x18004ada2
divss xmm1, dword [0x1800d22ac]
movss xmm0, dword [0x1800d2270]
divss xmm0, xmm1
jmp 0x18004adaa
movss xmm0, dword [0x1800d22c0]
movss dword [rdi + 0x39c], xmm0
call fcn.180050ed0
mov rdx, qword [0x1800f7990]
mov rcx, qword [rdx + 0x1a30]
test rcx, rcx
je 0x18004afc2
mov eax, dword [rdx + 0x1a4c]
mov dword [rdx + 0x1a50], eax
cmp dword [rdx + 0x1a7c], eax
jne 0x18004ade9
mov byte [rdx + 0x1a80], r12b
mov rcx, qword [rcx + 0x370]
mov r8, qword [0x1800f7990]
cmp byte [rdx + 0x128], sil
je 0x18004af6d
lea rax, [rdx + 0x120]
mov r9, rax
test rax, rax
jne 0x18004ae1a
lea r9, [r8 + 0x120]
movss xmm0, dword [r9]
movss xmm1, dword [0x1800d22e0]
comiss xmm0, xmm1
movss xmm2, dword [r9 + 4]
jb 0x18004af6d
comiss xmm2, xmm1
jb 0x18004af6d
movss xmm2, dword [rax]
subss xmm2, dword [rdx + 0x1a68]
movss xmm0, dword [rcx + 0x10]
movss xmm3, dword [rax + 4]
subss xmm3, dword [rdx + 0x1a6c]
ucomiss xmm0, xmm2
jp 0x18004ae74
jne 0x18004ae74
movss xmm0, dword [rcx + 0x14]
ucomiss xmm0, xmm3
jp 0x18004ae74
je 0x18004af5c
test dword [rcx + 0xc], 0x100
jne 0x18004ae92
comiss xmm6, dword [r8 + 0x2eb8]
jb 0x18004ae92
mov eax, dword [r8 + 0x1c]
mov dword [r8 + 0x2eb8], eax
mov eax, dword [rcx + 0xb0]
test r12b, al
je 0x18004af5c
movss xmm0, dword [rcx + 0x10]
and eax, 0xfffffff1
movss xmm1, dword [rcx + 0x14]
mov dword [rcx + 0xb0], eax
mov dword [rcx + 0xbc], 0x7f7fffff
mov dword [rcx + 0xc0], 0x7f7fffff
cvttss2si eax, xmm2
movd xmm2, eax
cvtdq2ps xmm2, xmm2
cvttss2si eax, xmm3
movss dword [rcx + 0x10], xmm2
subss xmm2, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movaps xmm0, xmm2
movss dword [rcx + 0x14], xmm3
subss xmm3, xmm1
addss xmm0, dword [rcx + 0xd0]
movaps xmm1, xmm3
addss xmm1, dword [rcx + 0xd4]
movss dword [rcx + 0xd0], xmm0
movaps xmm0, xmm2
addss xmm0, dword [rcx + 0xe8]
addss xmm2, dword [rcx + 0xe0]
movss dword [rcx + 0xd4], xmm1
movaps xmm1, xmm3
addss xmm1, dword [rcx + 0xec]
addss xmm3, dword [rcx + 0xe4]
movss dword [rcx + 0xe8], xmm0
movss dword [rcx + 0xe0], xmm2
movss dword [rcx + 0xec], xmm1
movss dword [rcx + 0xe4], xmm3
mov rcx, qword [rdx + 0x1a30]
call fcn.180043db0
jmp 0x18004b042
mov ecx, dword [r8 + 0x1a4c]
test ecx, ecx
setne al
mov byte [r8 + 0x1a58], al
test ecx, ecx
je 0x18004af93
mov dword [r8 + 0x1a54], esi
mov word [r8 + 0x1a5a], si
mov dword [r8 + 0x1a4c], esi
mov qword [r8 + 0x1a60], rsi
mov byte [r8 + 0x1a59], sil
mov qword [r8 + 0x1a70], rsi
mov byte [r8 + 0x1a5c], sil
mov qword [rdx + 0x1a30], rsi
jmp 0x18004b042
mov rcx, qword [rdx + 0x1a70]
test rcx, rcx
je 0x18004b042
mov eax, dword [rdx + 0x1a4c]
cmp dword [rcx + 0x4c], eax
jne 0x18004b042
mov dword [rdx + 0x1a50], eax
cmp dword [rdx + 0x1a7c], eax
jne 0x18004afee
mov byte [rdx + 0x1a80], r12b
cmp byte [rdx + 0x128], sil
jne 0x18004b042
mov rdx, qword [0x1800f7990]
mov ecx, dword [rdx + 0x1a4c]
test ecx, ecx
setne al
mov byte [rdx + 0x1a58], al
test ecx, ecx
je 0x18004b020
mov dword [rdx + 0x1a54], esi
mov word [rdx + 0x1a5a], si
mov dword [rdx + 0x1a4c], esi
mov qword [rdx + 0x1a60], rsi
mov byte [rdx + 0x1a59], sil
mov qword [rdx + 0x1a70], rsi
mov byte [rdx + 0x1a5c], sil
mov rax, qword [0x1800f7990]
movsxd rcx, dword [rax + 0x1b40]
test ecx, ecx
jle 0x18004b08a
mov rax, qword [rax + 0x1b48]
lea rdx, [rcx - 1]
lea r8, [rdx + rdx*2]
add rax, 8
shl r8, 4
add r8, rax
nop
mov rax, qword [r8]
test rax, rax
je 0x18004b081
test dword [rax + 0xc], 0x8000000
jne 0x18004b0a0
sub r8, 0x30
sub rdx, r12
jns 0x18004b070
cmp qword [rdi + 0x1ba8], rsi
je 0x18004b0bf
movss xmm0, dword [rdi + 0x1bc4]
comiss xmm0, xmm6
jbe 0x18004b0bf
movss xmm1, dword [rdi + 0x18]
mulss xmm1, dword [0x1800d2290]
addss xmm1, dword [rdi + 0x1d18]
minss xmm1, dword [0x1800d2270]
jmp 0x18004b0dc
movss xmm0, dword [rdi + 0x18]
mulss xmm0, dword [0x1800d2298]
movss xmm1, dword [rdi + 0x1d18]
subss xmm1, xmm0
maxss xmm1, xmm6
movss dword [rdi + 0x1d18], xmm1
mov dword [rdi + 0x1e70], esi
mov qword [rdi + 0x3110], 0xffffffffffffffff
mov dword [rdi + 0x310c], 0xffffffff
mov dword [rdi + 0x2ea4], 0x3f800000
mov dword [rdi + 0x2ea8], 0x3f800000
call fcn.180052280
mov r9, qword [rdi + 0x1b60]
test r9, r9
je 0x18004b1eb
cmp byte [r9 + 0x7e], sil
je 0x18004b1eb
test dword [r9 + 0xc], 0x40000
jne 0x18004b1eb
cmp byte [rdi + 0x138], sil
jne 0x18004b1eb
mov rcx, qword [0x1800f7990]
movsxd rax, dword [rcx + 0x3c]
test eax, eax
js 0x18004b1eb
movss xmm1, dword [rcx + rax*4 + 0x498]
ucomiss xmm1, xmm6
jp 0x18004b176
jne 0x18004b176
movzx eax, r12b
jmp 0x18004b1e1
movss xmm2, dword [rcx + 0x90]
comiss xmm1, xmm2
jbe 0x18004b1df
ucomiss xmm1, xmm6
jp 0x18004b194
jne 0x18004b194
mov eax, r12d
test eax, eax
setg al
jmp 0x18004b1e1
comiss xmm2, xmm1
jae 0x18004b1d6
movss xmm3, dword [rcx + 0x94]
comiss xmm6, xmm3
jae 0x18004b1d6
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [rcx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
mov eax, esi
test ecx, ecx
cmovg eax, ecx
test eax, eax
setg al
jmp 0x18004b1e1
mov eax, esi
test eax, eax
setg al
jmp 0x18004b1e1
xor eax, eax
test al, al
je 0x18004b1eb
movzx eax, r12b
jmp 0x18004b1ed
xor al, al
movaps xmm6, xmmword [rsp + 0x30]
mov byte [rdi + 0x1cb8], al
cmp dword [rdi + 0x1a4c], esi
jne 0x18004b252
test al, al
je 0x18004b252
mov qword [rdi + 0x1ca0], r9
mov dword [rdi + 0x1cb0], 0x7fffffff
cmp dword [rdi + 0x1b68], esi
je 0x18004b241
mov eax, dword [rdi + 0x1bd0]
cmp eax, 0x7fffffff
je 0x18004b241
cmp byte [rdi + 0x139], sil
cmovne r14d, esi
add r14d, eax
mov dword [rdi + 0x1cb4], r14d
jmp 0x18004b252
movzx eax, byte [rdi + 0x139]
neg al
sbb ecx, ecx
mov dword [rdi + 0x1cb4], ecx
mov r8, qword [rdi + 0x1ca0]
mov qword [rdi + 0x1c98], rsi
mov dword [rdi + 0x1cac], 0x7fffffff
mov dword [rdi + 0x1ca8], 0x7fffffff
test r8, r8
je 0x18004b2e7
mov eax, dword [rdi + 0x1cb0]
mov qword [rdi + 0x1c98], r8
cmp eax, 0x7fffffff
je 0x18004b2a6
mov ecx, dword [r8 + 0x178]
cmp ecx, 0xffffffff
je 0x18004b2a6
inc ecx
add eax, ecx
cdq
idiv ecx
mov dword [rdi + 0x1ca8], edx
mov eax, dword [rdi + 0x1cb4]
cmp eax, 0x7fffffff
je 0x18004b2cc
mov ecx, dword [r8 + 0x17c]
cmp ecx, 0xffffffff
je 0x18004b2cc
inc ecx
add eax, ecx
cdq
idiv ecx
mov dword [rdi + 0x1cac], edx
mov qword [rdi + 0x1ca0], rsi
mov dword [rdi + 0x1cb4], 0x7fffffff
mov dword [rdi + 0x1cb0], 0x7fffffff
mov r8d, esi
mov dword [rdi + 0x1bd0], 0x7fffffff
cmp dword [rdi + 0x19c0], esi
je 0x18004b33c
mov rdx, rsi
nop
mov rax, qword [rdi + 0x19c8]
lea rdx, [rdx + 8]
inc r8d
mov rcx, qword [rdx + rax - 8]
movzx eax, byte [rcx + 0x7e]
mov byte [rcx + 0x7f], al
mov word [rcx + 0x88], si
mov byte [rcx + 0x7e], sil
mov byte [rcx + 0x80], sil
cmp r8d, dword [rdi + 0x19c0]
jne 0x18004b300
mov r9, qword [rdi + 0x1b60]
test r9, r9
je 0x18004b410
cmp byte [r9 + 0x7f], sil
jne 0x18004b410
mov r11, qword [0x1800f7990]
movsxd rax, dword [r11 + 0x19d0]
test eax, eax
jle 0x18004b3a9
lea r9, [rax - 1]
mov rax, qword [r11 + 0x19d8]
lea r10, [rax + r9*8]
mov r8, qword [r10]
test r8, r8
je 0x18004b3a0
cmp byte [r8 + 0x7f], sil
je 0x18004b3a0
mov eax, dword [r8 + 0xc]
and eax, 0x40200
cmp eax, 0x40200
setne cl
bt dword [r8 + 0xc], 0x18
setae al
test al, cl
jne 0x18004b51e
sub r10, 8
sub r9, r12
jns 0x18004b370
cmp qword [r11 + 0x1b60], rsi
je 0x18004b3dc
mov qword [r11 + 0x1b60], rsi
mov byte [r11 + 0x1bd9], sil
mov dword [r11 + 0x1b68], esi
mov byte [r11 + 0x1bd4], sil
mov dword [r11 + 0x1bcc], esi
mov r11, qword [0x1800f7990]
cmp dword [r11 + 0x1b40], r12d
jl 0x18004b410
lea rbx, [r11 + 0x1b40]
mov ecx, dword [rbx + 4]
test ecx, ecx
jns 0x18004b40b
mov eax, ecx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, ecx
mov rcx, rbx
test eax, eax
cmovg edx, eax
call fcn.180052f00
mov dword [rbx], esi
nop dword [rax]
mov ecx, dword [rdi + 0x19f4]
test ecx, ecx
jns 0x18004b436
mov eax, ecx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, ecx
lea rcx, [rdi + 0x19f0]
test eax, eax
cmovg edx, eax
call fcn.180052dc0
mov dword [rdi + 0x19f0], esi
mov ecx, dword [rdi + 0x1b54]
test ecx, ecx
jns 0x18004b462
mov eax, ecx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, ecx
lea rcx, [rdi + 0x1b50]
test eax, eax
cmovg edx, eax
call fcn.180052f00
mov dword [rdi + 0x1b50], esi
mov r15, qword [0x1800f7990]
movsxd r14, dword [r15 + 0x1b40]
test r14d, r14d
je 0x18004b560
mov rbp, qword [rdi + 0x1b60]
test rbp, rbp
je 0x18004b4ff
test r14d, r14d
jle 0x18004b4ff
mov r11, qword [r15 + 0x1b48]
mov rbx, rsi
add r11, 8
nop
mov rax, qword [r11]
test rax, rax
je 0x18004b4f1
test dword [rax + 0xc], 0x1000000
jne 0x18004b4f1
xor cl, cl
mov r8, rbx
cmp rbx, r14
jge 0x18004b4ff
mov rdx, r11
nop
test cl, cl
jne 0x18004b4f1
mov r9, qword [rdx]
test r9, r9
je 0x18004b4e1
mov rax, qword [rbp + 0x370]
cmp qword [r9 + 0x370], rax
movzx ecx, cl
cmove ecx, r12d
inc r8
add rdx, 0x30
cmp r8, r14
jl 0x18004b4c0
test cl, cl
je 0x18004b4ff
inc esi
inc rbx
add r11, 0x30
cmp esi, r14d
jl 0x18004b4a0
cmp esi, r14d
jge 0x18004b560
mov ecx, dword [r15 + 0x1b44]
cmp esi, ecx
jle 0x18004b551
test ecx, ecx
je 0x18004b539
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18004b53e
mov rax, qword [r8 + 0x388]
test rax, rax
cmovne r8, rax
mov rcx, r8
call fcn.180043db0
jmp 0x18004b410
mov eax, 8
cmp eax, esi
lea rcx, [r15 + 0x1b40]
mov edx, esi
cmovg edx, eax
call fcn.180052f00
mov dword [r15 + 0x1b40], esi
mov r15, qword [0x1800f7990]
nop
or dword [r15 + 0x1a98], 2
lea rcx, str.DebugDefault
xor r8d, r8d
mov dword [r15 + 0x1ab8], 0x43c80000
xor edx, edx
mov dword [r15 + 0x1abc], 0x43c80000
mov dword [r15 + 0x1aa0], 4
call fcn.18003d140
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov byte [rdi + 2], r12b
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r12
ret