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

Disassembly:
sub rsp, 0xa8
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x48], rcx
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x2c], 1
mov dword [rsp + 0x28], 1
mov rcx, qword [rsp + 0x40]
call fcn.1400258c0
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0xb
jge 0x1400352fb
lea rcx, str.bad_SOF_len
call fcn.14001a4b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0xc0]
mov rcx, qword [rsp + 0x98]
cmp rax, qword [rcx + 0xc8]
jae 0x140035357
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx + 0xc0]
mov rdx, rax
add rdx, 1
mov qword [rcx + 0xc0], rdx
mov al, byte [rax]
mov byte [rsp + 0xa7], al
jmp 0x1400353a9
mov rax, qword [rsp + 0x98]
cmp dword [rax + 0x30], 0
je 0x1400353a1
mov rcx, qword [rsp + 0x98]
call fcn.140022e10
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx + 0xc0]
mov rdx, rax
add rdx, 1
mov qword [rcx + 0xc0], rdx
mov al, byte [rax]
mov byte [rsp + 0xa7], al
jmp 0x1400353a9
mov byte [rsp + 0xa7], 0
movzx eax, byte [rsp + 0xa7]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 8
je 0x1400353d5
lea rcx, str.only_8_bit
call fcn.14001a4b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
mov rcx, qword [rsp + 0x40]
call fcn.1400258c0
mov ecx, eax
mov rax, qword [rsp + 0x40]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x40]
cmp dword [rax + 4], 0
jne 0x14003540d
lea rcx, str.no_header_height
call fcn.14001a4b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
mov rcx, qword [rsp + 0x40]
call fcn.1400258c0
mov ecx, eax
mov rax, qword [rsp + 0x40]
mov dword [rax], ecx
mov rax, qword [rsp + 0x40]
cmp dword [rax], 0
jne 0x140035443
lea rcx, str.0_width
call fcn.14001a4b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
mov rax, qword [rsp + 0x40]
cmp dword [rax + 4], 0x1000000
jbe 0x14003546a
lea rcx, str.too_large
call fcn.14001a4b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
mov rax, qword [rsp + 0x40]
cmp dword [rax], 0x1000000
jbe 0x140035490
lea rcx, str.too_large
call fcn.14001a4b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0xc0]
mov rcx, qword [rsp + 0x88]
cmp rax, qword [rcx + 0xc8]
jae 0x1400354ec
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx + 0xc0]
mov rdx, rax
add rdx, 1
mov qword [rcx + 0xc0], rdx
mov al, byte [rax]
mov byte [rsp + 0x97], al
jmp 0x14003553e
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0x30], 0
je 0x140035536
mov rcx, qword [rsp + 0x88]
call fcn.140022e10
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx + 0xc0]
mov rdx, rax
add rdx, 1
mov qword [rcx + 0xc0], rdx
mov al, byte [rax]
mov byte [rsp + 0x97], al
jmp 0x14003553e
mov byte [rsp + 0x97], 0
movzx eax, byte [rsp + 0x97]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 3
je 0x140035580
cmp dword [rsp + 0x24], 1
je 0x140035580
cmp dword [rsp + 0x24], 4
je 0x140035580
lea rcx, str.bad_component_count
call fcn.14001a4b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
mov ecx, dword [rsp + 0x24]
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
mov dword [rsp + 0x34], 0
mov eax, dword [rsp + 0x34]
cmp eax, dword [rsp + 0x24]
jge 0x1400355f0
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov qword [rax + 0x30], 0
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov qword [rax + 0x48], 0
mov eax, dword [rsp + 0x34]
add eax, 1
mov dword [rsp + 0x34], eax
jmp 0x140035594
mov eax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x40]
imul ecx, dword [rcx + 8], 3
add ecx, 8
cmp eax, ecx
je 0x14003561d
lea rcx, str.bad_SOF_len
call fcn.14001a4b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x4850], 0
mov dword [rsp + 0x34], 0
mov eax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx + 8]
jge 0x1400359d7
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0xc0]
mov rcx, qword [rsp + 0x78]
cmp rax, qword [rcx + 0xc8]
jae 0x140035696
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + 0xc0]
mov rdx, rax
add rdx, 1
mov qword [rcx + 0xc0], rdx
mov al, byte [rax]
mov byte [rsp + 0x87], al
jmp 0x1400356df
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x30], 0
je 0x1400356d7
mov rcx, qword [rsp + 0x78]
call fcn.140022e10
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + 0xc0]
mov rdx, rax
add rdx, 1
mov qword [rcx + 0xc0], rdx
mov al, byte [rax]
mov byte [rsp + 0x87], al
jmp 0x1400356df
mov byte [rsp + 0x87], 0
movzx ecx, byte [rsp + 0x87]
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
mov dword [rax], ecx
mov rax, qword [rsp + 0x40]
cmp dword [rax + 8], 3
jne 0x140035754
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov eax, dword [rax]
movsxd rdx, dword [rsp + 0x34]
lea rcx, [0x140144b8a]
movzx ecx, byte [rcx + rdx]
cmp eax, ecx
jne 0x140035754
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0x4850]
add ecx, 1
mov dword [rax + 0x4850], ecx
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0xc0]
mov rcx, qword [rsp + 0x68]
cmp rax, qword [rcx + 0xc8]
jae 0x1400357a1
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 0xc0]
mov rdx, rax
add rdx, 1
mov qword [rcx + 0xc0], rdx
mov al, byte [rax]
mov byte [rsp + 0x77], al
jmp 0x1400357e4
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x30], 0
je 0x1400357df
mov rcx, qword [rsp + 0x68]
call fcn.140022e10
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 0xc0]
mov rdx, rax
add rdx, 1
mov qword [rcx + 0xc0], rdx
mov al, byte [rax]
mov byte [rsp + 0x77], al
jmp 0x1400357e4
mov byte [rsp + 0x77], 0
movzx eax, byte [rsp + 0x77]
mov dword [rsp + 0x30], eax
mov ecx, dword [rsp + 0x30]
sar ecx, 4
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
cmp dword [rax + 4], 0
je 0x140035850
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
cmp dword [rax + 4], 4
jle 0x140035865
lea rcx, str.bad_H
call fcn.14001a4b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
mov ecx, dword [rsp + 0x30]
and ecx, 0xf
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
cmp dword [rax + 8], 0
je 0x1400358c8
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
cmp dword [rax + 8], 4
jle 0x1400358dd
lea rcx, str.bad_V
call fcn.14001a4b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0xc0]
mov rcx, qword [rsp + 0x58]
cmp rax, qword [rcx + 0xc8]
jae 0x14003592a
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 0xc0]
mov rdx, rax
add rdx, 1
mov qword [rcx + 0xc0], rdx
mov al, byte [rax]
mov byte [rsp + 0x67], al
jmp 0x14003596d
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x30], 0
je 0x140035968
mov rcx, qword [rsp + 0x58]
call fcn.140022e10
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 0xc0]
mov rdx, rax
add rdx, 1
mov qword [rcx + 0xc0], rdx
mov al, byte [rax]
mov byte [rsp + 0x67], al
jmp 0x14003596d
mov byte [rsp + 0x67], 0
movzx ecx, byte [rsp + 0x67]
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
mov dword [rax + 0xc], ecx
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
cmp dword [rax + 0xc], 3
jle 0x1400359c2
lea rcx, str.bad_TQ
call fcn.14001a4b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
jmp 0x1400359c7
mov eax, dword [rsp + 0x34]
add eax, 1
mov dword [rsp + 0x34], eax
jmp 0x140035634
cmp dword [rsp + 0x50], 0
je 0x1400359ef
mov dword [rsp + 0x54], 1
jmp 0x14003603f
mov rax, qword [rsp + 0x40]
mov r8d, dword [rax + 8]
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 4]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
xor r9d, r9d
call fcn.1400287b0
cmp eax, 0
jne 0x140035a2d
lea rcx, str.too_large
call fcn.14001a4b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
mov dword [rsp + 0x34], 0
mov eax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx + 8]
jge 0x140035ae0
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov eax, dword [rax + 4]
cmp eax, dword [rsp + 0x2c]
jle 0x140035a89
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov eax, dword [rax + 4]
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov eax, dword [rax + 8]
cmp eax, dword [rsp + 0x28]
jle 0x140035acb
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov eax, dword [rax + 8]
mov dword [rsp + 0x28], eax
jmp 0x140035ad0
mov eax, dword [rsp + 0x34]
add eax, 1
mov dword [rsp + 0x34], eax
jmp 0x140035a35
mov dword [rsp + 0x34], 0
mov eax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx + 8]
jge 0x140035b8b
mov eax, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x48]
add rcx, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rcx, rdx
cdq
idiv dword [rcx + 4]
cmp edx, 0
je 0x140035b38
lea rcx, str.bad_H
call fcn.14001a4b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
mov eax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
add rcx, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rcx, rdx
cdq
idiv dword [rcx + 8]
cmp edx, 0
je 0x140035b76
lea rcx, str.bad_V
call fcn.14001a4b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
jmp 0x140035b7b
mov eax, dword [rsp + 0x34]
add eax, 1
mov dword [rsp + 0x34], eax
jmp 0x140035ae8
mov ecx, dword [rsp + 0x2c]
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x4688], ecx
mov ecx, dword [rsp + 0x28]
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x468c], ecx
mov ecx, dword [rsp + 0x2c]
shl ecx, 3
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x4698], ecx
mov ecx, dword [rsp + 0x28]
shl ecx, 3
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x469c], ecx
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x48]
add eax, dword [rcx + 0x4698]
sub eax, 1
mov rcx, qword [rsp + 0x48]
xor edx, edx
div dword [rcx + 0x4698]
mov ecx, eax
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x4690], ecx
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 4]
mov rcx, qword [rsp + 0x48]
add eax, dword [rcx + 0x469c]
sub eax, 1
mov rcx, qword [rsp + 0x48]
xor edx, edx
div dword [rcx + 0x469c]
mov ecx, eax
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x4694], ecx
mov dword [rsp + 0x34], 0
mov eax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx + 8]
jge 0x140036037
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x48]
add rcx, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rcx, rdx
imul eax, dword [rcx + 4]
add eax, dword [rsp + 0x2c]
sub eax, 1
xor edx, edx
div dword [rsp + 0x2c]
mov ecx, eax
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
mov dword [rax + 0x1c], ecx
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 4]
mov rcx, qword [rsp + 0x48]
add rcx, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rcx, rdx
imul eax, dword [rcx + 8]
add eax, dword [rsp + 0x28]
sub eax, 1
xor edx, edx
div dword [rsp + 0x28]
mov ecx, eax
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
mov dword [rax + 0x20], ecx
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0x4690]
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
imul ecx, dword [rax + 4]
shl ecx, 3
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
mov dword [rax + 0x24], ecx
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0x4694]
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
imul ecx, dword [rax + 8]
shl ecx, 3
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
mov dword [rax + 0x28], ecx
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov qword [rax + 0x50], 0
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov qword [rax + 0x40], 0
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov qword [rax + 0x48], 0
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov edx, dword [rax + 0x28]
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov ecx, dword [rax + 0x24]
mov r8d, 0xf
call fcn.1400289c0
mov rcx, rax
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
cmp qword [rax + 0x38], 0
jne 0x140035e6a
lea rcx, str.outofmem
call fcn.14001a4b0
mov r8d, eax
mov edx, dword [rsp + 0x34]
add edx, 1
mov rcx, qword [rsp + 0x48]
call fcn.1400364b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov rcx, qword [rax + 0x38]
add rcx, 0xf
and rcx, 0xfffffffffffffff0
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x4830], 0
je 0x140036022
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov eax, dword [rax + 0x24]
mov ecx, 8
cdq
idiv ecx
mov ecx, eax
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
mov dword [rax + 0x58], ecx
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov eax, dword [rax + 0x28]
mov ecx, 8
cdq
idiv ecx
mov ecx, eax
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov edx, dword [rax + 0x28]
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov ecx, dword [rax + 0x24]
mov r8d, 2
mov r9d, 0xf
call fcn.140028740
mov rcx, rax
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
mov qword [rax + 0x40], rcx
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
cmp qword [rax + 0x40], 0
jne 0x140035fe4
lea rcx, str.outofmem
call fcn.14001a4b0
mov r8d, eax
mov edx, dword [rsp + 0x34]
add edx, 1
mov rcx, qword [rsp + 0x48]
call fcn.1400364b0
mov dword [rsp + 0x54], eax
jmp 0x14003603f
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rcx, dword [rsp + 0x34]
imul rcx, rcx, 0x60
add rax, rcx
mov rcx, qword [rax + 0x40]
add rcx, 0xf
and rcx, 0xfffffffffffffff0
mov rax, qword [rsp + 0x48]
add rax, 0x46a0
movsxd rdx, dword [rsp + 0x34]
imul rdx, rdx, 0x60
add rax, rdx
mov qword [rax + 0x50], rcx
jmp 0x140036027
mov eax, dword [rsp + 0x34]
add eax, 1
mov dword [rsp + 0x34], eax
jmp 0x140035c34
mov dword [rsp + 0x54], 1
mov eax, dword [rsp + 0x54]
add rsp, 0xa8
ret