Function at 0x5c3950
Capabilities:
Get common file path

Disassembly:
push rbp
sub rsp, 0xa0
mov rbp, rsp
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x58], rbp
mov qword [rbp + 0xb0], rcx
mov dword [rbp + 0xb8], edx
nop
mov rcx, qword [rbp + 0xb0]
call fcn.0040e670
nop
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x7c]
mov ecx, dword [rbp + 0x78]
sub ecx, dword [rbp + 0x84]
cmp eax, ecx
jle 0x5c39c4
lea rcx, [rbp + 0x9c]
call fcn.00575120
mov eax, dword [rbp + 0x98]
sub eax, dword [rbp + 0x90]
mov dword [rbp + 0x80], eax
mov dword [rbp + 0x8c], 0
mov eax, dword [rbp + 0x90]
add eax, 0x387
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x7c]
mov ecx, dword [rbp + 0x78]
sub ecx, dword [rbp + 0x9c]
cmp eax, ecx
jle 0x5c3a1a
mov eax, dword [rbp + 0x80]
imul eax, eax, 0x1f2
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x98]
sub eax, dword [rbp + 0x90]
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0x90]
mov dword [rbp + 0x98], eax
mov eax, 0x41
sub eax, dword [rbp + 0x7c]
mov dword [rbp + 0x90], eax
add dword [rbp + 0x8c], 1
cmp dword [rbp + 0x8c], 3
jne 0x5c39e0
nop
mov eax, dword [rbp + 0x98]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x80], eax
mov dword [rbp + 0x90], 0
cmp dword [rbp + 0x90], 1
jge 0x5c3af1
add dword [rbp + 0x90], 1
mov eax, dword [rbp + 0x94]
mov dword [rbp + 0x98], eax
mov eax, 0x76
sub eax, dword [rbp + 0x7c]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x7c]
mov ecx, dword [rbp + 0x78]
sub ecx, dword [rbp + 0x84]
cmp eax, ecx
jle 0x5c3ac4
mov eax, dword [rbp + 0x9c]
sub eax, 0x1c0
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x98]
cmp eax, dword [rbp + 0x98]
jle 0x5c3ae8
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0x8c]
mov dword [rbp + 0x98], eax
cmp dword [rbp + 0x90], 1
jl 0x5c3a7d
nop
mov ecx, 0x200
call fcn.00409020
mov qword [rbp + 0x70], rax
mov eax, dword [rbp + 0x98]
add eax, dword [rbp + 0x94]
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x90]
add eax, dword [rbp + 0x8c]
mov ecx, dword [rbp + 0x88]
add ecx, dword [rbp + 0x78]
cmp eax, ecx
jge 0x5c3b3c
lea rcx, [rbp + 0x88]
lea rdx, [rbp + 0x78]
call fcn.005646b0
mov eax, dword [rbp + 0x80]
imul eax, eax, 0x224
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x94]
cmp eax, dword [rbp + 0x90]
jle 0x5c3b61
call fcn.00546c80
mov eax, dword [rbp + 0x98]
cmp eax, dword [rbp + 0x90]
jle 0x5c3b90
lea rcx, [rbp + 0x8c]
lea rdx, [rbp + 0x88]
lea r8, [rbp + 0x84]
lea r9, [rbp + 0x9c]
call fcn.00543a90
mov eax, dword [rbp + 0x98]
add eax, dword [rbp + 0x94]
mov dword [rbp + 0x9c], eax
mov dword [rbp + 0x90], 0
cmp dword [rbp + 0x90], 1
jge 0x5c3c1e
add dword [rbp + 0x90], 1
mov eax, dword [rbp + 0x98]
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0x88]
lea rax, [rax + rax*4]
lea rax, [rax + rax*8]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x9c]
sub eax, dword [rbp + 0x80]
cmp dword [rbp + 0x88], eax
jne 0x5c3c02
mov eax, dword [rbp + 0x98]
add eax, dword [rbp + 0x94]
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0x8c]
mov dword [rbp + 0x98], eax
cmp dword [rbp + 0x90], 1
jl 0x5c3bb5
nop
mov dword [rbp + 0x7c], 0
mov eax, dword [rbp + 0x90]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x8c]
add eax, 0x2a
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x90]
sub eax, dword [rbp + 0x8c]
mov ecx, dword [rbp + 0x88]
sub ecx, dword [rbp + 0x84]
cmp eax, ecx
jle 0x5c3c6c
mov eax, dword [rbp + 0x9c]
sub eax, 0x1b4
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x80]
cmp eax, dword [rbp + 0x98]
jle 0x5c3c90
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0x90]
mov dword [rbp + 0x98], eax
mov eax, 0x3c3
sub eax, dword [rbp + 0x90]
mov dword [rbp + 0x94], eax
add dword [rbp + 0x7c], 1
cmp dword [rbp + 0x7c], 4
jne 0x5c3c26
nop
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0x90]
mov dword [rbp + 0x98], eax
mov dword [rbp + 0x90], 0
mov eax, dword [rbp + 0x94]
sub eax, dword [rbp + 0x8c]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x8c]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x88]
imul eax, eax, 0x1d
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0x80]
cmp dword [rbp + 0x7c], eax
jne 0x5c3d1b
mov eax, dword [rbp + 0x80]
imul eax, eax, 0x228
mov dword [rbp + 0x9c], eax
add dword [rbp + 0x90], 1
cmp dword [rbp + 0x90], 3
jne 0x5c3cce
nop
mov eax, dword [rbp + 0x94]
cmp eax, dword [rbp + 0x90]
jle 0x5c3d73
lea rcx, [rbp + 0x8c]
lea rdx, [rbp + 0x88]
lea r8, [rbp + 0x84]
lea r9, [rbp + 0x80]
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x90]
mov qword [rsp + 0x28], rax
call fcn.00548890
lea rcx, [rbp + 0x60]
call fcn.0040e5d0
mov eax, dword [rbp + 0x8c]
add eax, 0x3d6
mov dword [rbp + 0x94], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ecd8]
call fcn.0040fe40
mov eax, dword [rbp + 0x9c]
imul eax, eax, 0x1fc
mov dword [rbp + 0x84], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ecf8]
call fcn.0040fe40
mov eax, dword [rbp + 0x90]
mov dword [rbp + 0x98], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ec90]
call fcn.0040fe40
mov eax, dword [rbp + 0x84]
add eax, 0x148
mov dword [rbp + 0x88], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x98]
add eax, dword [rbp + 0x94]
mov dword [rbp + 0x80], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x94]
cmp eax, dword [rbp + 0x90]
jle 0x5c3e3a
mov eax, dword [rbp + 0x78]
imul eax, eax, 0xf9
mov dword [rbp + 0x7c], eax
lea rcx, [rbp + 0x50]
mov edx, 3
call fcn.0042c720
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x50]
call fcn.0040fe40
mov eax, dword [rbp + 0x94]
sub eax, dword [rbp + 0x90]
mov dword [rbp + 0x98], eax
lea rcx, [rbp + 0x48]
mov edx, 2
call fcn.0042c720
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x48]
call fcn.0040fe40
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0x8c]
mov ecx, dword [rbp + 0x7c]
add ecx, dword [rbp + 0x78]
cmp eax, ecx
jge 0x5c3ea9
mov eax, dword [rbp + 0x84]
add eax, 0x16a
mov dword [rbp + 0x78], eax
lea rcx, [rbp + 0x60]
lea rdx, [0x005c4b48]
call fcn.0040fe40
mov eax, dword [rbp + 0x90]
sub dword [rbp + 0x98], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ece0]
call fcn.0040fe40
mov eax, dword [rbp + 0x98]
cmp eax, dword [rbp + 0x90]
jle 0x5c3ef2
mov eax, dword [rbp + 0x88]
imul eax, eax, 0xda
mov dword [rbp + 0x7c], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x80]
imul eax, eax, 0x220
mov dword [rbp + 0x84], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x90]
sub eax, dword [rbp + 0x7c]
mov ecx, dword [rbp + 0x78]
sub ecx, dword [rbp + 0x84]
cmp eax, ecx
jle 0x5c3f70
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x9c]
lea r8, [rbp + 0x98]
lea r9, [rbp + 0x94]
lea rax, [rbp + 0x8c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x88]
mov qword [rsp + 0x28], rax
call fcn.00569860
mov eax, dword [rbp + 0x84]
sub eax, 0x17d
mov dword [rbp + 0x78], eax
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x94]
lea r8, [rbp + 0x8c]
call fcn.005a7370
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0x8c]
mov ecx, dword [rbp + 0x7c]
add ecx, dword [rbp + 0x88]
cmp eax, ecx
jge 0x5c3fd9
lea rcx, [rbp + 0x7c]
lea rdx, [rbp + 0x78]
lea r8, [rbp + 0x9c]
lea r9, [rbp + 0x98]
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
call fcn.0055e470
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x90]
lea r8, [rbp + 0x7c]
call fcn.005b37f0
lea rcx, [rbp + 0x90]
lea rdx, [rbp + 0x7c]
lea r8, [rbp + 0x78]
lea r9, [rbp + 0x9c]
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x94]
mov qword [rsp + 0x28], rax
call fcn.0053ae80
call fcn.005b2450
xor ecx, ecx
mov edx, dword [rbp + 0xb8]
lea r8, [rbp + 0x68]
call sub.shell32.dll_SHGetSpecialFolderLocation
mov dword [rbp + 0x8c], 0
mov eax, 0x3c4
sub eax, dword [rbp + 0x7c]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0x80]
cmp dword [rbp + 0x7c], eax
jne 0x5c4075
mov eax, dword [rbp + 0x98]
add eax, dword [rbp + 0x94]
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x94]
add eax, 0x355
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x84]
add eax, 0x9a
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
sub eax, dword [rbp + 0x98]
cmp dword [rbp + 0x88], eax
jne 0x5c40bf
mov eax, dword [rbp + 0x98]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x80], eax
add dword [rbp + 0x8c], 1
cmp dword [rbp + 0x8c], 3
jne 0x5c4043
nop
mov dword [rbp + 0x8c], 0
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0x90]
mov dword [rbp + 0x98], eax
mov eax, 0x3d3
sub eax, dword [rbp + 0x7c]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x7c]
mov ecx, dword [rbp + 0x88]
sub ecx, dword [rbp + 0x84]
cmp eax, ecx
jle 0x5c412b
mov eax, dword [rbp + 0x9c]
imul eax, eax, 0x1dd
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x98]
add eax, dword [rbp + 0x94]
mov dword [rbp + 0x80], eax
add dword [rbp + 0x8c], 1
cmp dword [rbp + 0x8c], 3
jne 0x5c40de
nop
mov dword [rbp + 0x90], 0
mov eax, dword [rbp + 0x98]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x78]
imul eax, eax, 0x31
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0x80]
cmp dword [rbp + 0x88], eax
jne 0x5c4193
mov eax, dword [rbp + 0x98]
add eax, dword [rbp + 0x94]
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x98]
mov dword [rbp + 0x98], eax
add dword [rbp + 0x90], 1
cmp dword [rbp + 0x90], 3
jne 0x5c4158
nop
mov eax, dword [rbp + 0x9c]
sub eax, 0x1e8
mov dword [rbp + 0x84], eax
call fcn.005c1b80
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0x8c]
mov dword [rbp + 0x98], eax
mov dword [rbp + 0x8c], 0
mov eax, dword [rbp + 0x94]
sub eax, dword [rbp + 0x90]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x90]
mov dword [rbp + 0x98], eax
mov eax, 3
sub eax, dword [rbp + 0x88]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x88]
mov ecx, dword [rbp + 0x78]
sub ecx, dword [rbp + 0x9c]
cmp eax, ecx
jle 0x5c423f
mov eax, dword [rbp + 0x80]
imul eax, eax, 0x1ee
mov dword [rbp + 0x84], eax
add dword [rbp + 0x8c], 1
cmp dword [rbp + 0x8c], 3
jne 0x5c41e4
nop
mov dword [rbp + 0x7c], 0
mov eax, dword [rbp + 0x8c]
add eax, 0x3d8
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x7c]
mov ecx, dword [rbp + 0x78]
sub ecx, dword [rbp + 0x84]
cmp eax, ecx
jle 0x5c4291
mov eax, dword [rbp + 0x80]
imul eax, eax, 0x223
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0x90]
mov dword [rbp + 0x98], eax
mov eax, 0x3ad
sub eax, dword [rbp + 0x90]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x90]
sub eax, dword [rbp + 0x7c]
mov ecx, dword [rbp + 0x78]
sub ecx, dword [rbp + 0x84]
cmp eax, ecx
jle 0x5c42de
mov eax, dword [rbp + 0x9c]
imul eax, eax, 0x1f8
mov dword [rbp + 0x84], eax
add dword [rbp + 0x7c], 1
cmp dword [rbp + 0x7c], 4
jne 0x5c4257
nop
mov eax, dword [rbp + 0x90]
add eax, dword [rbp + 0x7c]
mov ecx, dword [rbp + 0x88]
add ecx, dword [rbp + 0x84]
cmp eax, ecx
jge 0x5c433c
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x9c]
lea r8, [rbp + 0x98]
lea r9, [rbp + 0x94]
lea rax, [rbp + 0x8c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x88]
mov qword [rsp + 0x28], rax
call fcn.00568390
mov eax, dword [rbp + 0x9c]
sub eax, 0x1ad
mov dword [rbp + 0x78], eax
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x94]
call fcn.005b09b0
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x94]
call fcn.005b09b0
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x94]
call fcn.005b0bf0
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x70]
call sub.shell32.dll_SHGetPathFromIDListW
mov eax, dword [rbp + 0x90]
mov dword [rbp + 0x98], eax
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0x70]
call fcn.0040f4a0
mov dword [rbp + 0x7c], 0
mov eax, dword [rbp + 0x90]
add eax, 0x3a9
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x88]
mov ecx, dword [rbp + 0x78]
sub ecx, dword [rbp + 0x9c]
cmp eax, ecx
jle 0x5c43f1
mov eax, dword [rbp + 0x80]
imul eax, eax, 0x214
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x90]
sub dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x90]
imul eax, dword [rbp + 0x8c]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x8c]
add eax, 3
mov dword [rbp + 0x90], eax
add dword [rbp + 0x7c], 1
cmp dword [rbp + 0x7c], 4
jne 0x5c43b4
nop
mov eax, dword [rbp + 0x98]
add eax, dword [rbp + 0x94]
mov dword [rbp + 0x9c], eax
mov dword [rbp + 0x90], 0
cmp dword [rbp + 0x90], 1
jge 0x5c44c9
add dword [rbp + 0x90], 1
mov eax, dword [rbp + 0x98]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x90]
add eax, dword [rbp + 0x8c]
mov ecx, dword [rbp + 0x88]
add ecx, dword [rbp + 0x78]
cmp eax, ecx
jge 0x5c448a
mov eax, dword [rbp + 0x84]
sub eax, 0x17e
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x98]
cmp eax, dword [rbp + 0x98]
jle 0x5c44ae
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0x8c]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x8c]
add eax, 0x3ed
mov dword [rbp + 0x94], eax
cmp dword [rbp + 0x90], 1
jl 0x5c444f
nop
mov eax, dword [rbp + 0x9c]
imul eax, eax, 0x1f4
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x94]
cmp eax, dword [rbp + 0x90]
jle 0x5c451d
lea rcx, [rbp + 0x7c]
lea rdx, [rbp + 0x78]
lea r8, [rbp + 0x84]
lea r9, [rbp + 0x80]
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x90]
mov qword [rsp + 0x28], rax
call fcn.00544370
mov eax, dword [rbp + 0x98]
cmp eax, dword [rbp + 0x90]
jle 0x5c4558
lea rcx, [rbp + 0x8c]
lea rdx, [rbp + 0x88]
lea r8, [rbp + 0x84]
lea r9, [rbp + 0x9c]
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
call fcn.00542650
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0x8c]
mov dword [rbp + 0x98], eax
mov dword [rbp + 0x8c], 0
mov eax, dword [rbp + 0x94]
sub eax, dword [rbp + 0x90]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x90]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x7c]
add eax, 0x25
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x7c]
mov ecx, dword [rbp + 0x78]
sub ecx, dword [rbp + 0x9c]
cmp eax, ecx
jle 0x5c45c7
mov eax, dword [rbp + 0x80]
imul eax, eax, 0x1ef
mov dword [rbp + 0x84], eax
add dword [rbp + 0x8c], 1
cmp dword [rbp + 0x8c], 3
jne 0x5c4575
nop
lea rcx, [rbp + 0x38]
mov rax, qword [rbp + 0xb0]
mov rdx, qword [rax]
call fcn.0040fc50
lea rcx, [rbp + 0x40]
mov rdx, qword [rbp + 0x38]
call fcn.005602e0
lea rcx, [rbp + 0x40]
lea rdx, [0x005c4b58]
call fcn.0040fe40
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0x40]
call fcn.0040fc80
mov eax, dword [rbp + 0x98]
mov dword [rbp + 0x80], eax
lea rcx, [rbp + 0x7c]
call fcn.00542490
mov eax, dword [rbp + 0x80]
add eax, dword [rbp + 0x98]
mov dword [rbp + 0x84], eax
mov dword [rbp + 0x7c], 0
mov eax, dword [rbp + 0x88]
imul eax, eax, 0x36
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x9c]
add eax, 0x130
cmp eax, dword [rbp + 0x8c]
jge 0x5c4678
mov eax, dword [rbp + 0x9c]
sub eax, 0x144
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x90]
add eax, 0x30a
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x98]
add eax, dword [rbp + 0x94]
cmp dword [rbp + 0x7c], eax
jne 0x5c46aa
mov eax, dword [rbp + 0x8c]
add eax, 1
mov dword [rbp + 0x90], eax
add dword [rbp + 0x7c], 1
cmp dword [rbp + 0x7c], 4
jne 0x5c4646
nop
mov eax, dword [rbp + 0x98]
add eax, dword [rbp + 0x94]
mov dword [rbp + 0x9c], eax
mov dword [rbp + 0x90], 0
cmp dword [rbp + 0x90], 1
jge 0x5c4751
add dword [rbp + 0x90], 1
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0x8c]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x88]
imul eax, eax, 0x76
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x80]
sub eax, dword [rbp + 0x94]
cmp dword [rbp + 0x78], eax
jne 0x5c4720
mov eax, dword [rbp + 0x94]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x78]
mov ecx, dword [rbp + 0x84]
sub ecx, dword [rbp + 0x98]
cmp eax, ecx
jle 0x5c4748
mov eax, dword [rbp + 0x84]
sub eax, 0xd4
mov dword [rbp + 0x88], eax
cmp dword [rbp + 0x90], 1
jl 0x5c46da
nop
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x88]
mov ecx, dword [rbp + 0x84]
sub ecx, dword [rbp + 0x98]
cmp eax, ecx
jle 0x5c4785
lea rcx, [rbp + 0x94]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x78]
call fcn.005a7370
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0x8c]
mov dword [rbp + 0x98], eax
mov rcx, qword [rbp + 0x70]
call fcn.00409050
jmp 0x5c4acb
nop
lea rcx, [rbp + 0x38]
mov edx, 4
call fcn.0040e6b0
lea rcx, [rbp + 0x60]
call fcn.0040e5d0
mov rax, qword [rbp + 0xb0]
lea rsp, [rbp + 0xa0]
pop rbp
ret