Function at 0x14000a260
Capabilities:
Get common file path

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0xa8
mov dword [rsp + 0x98], 0x9ffd
mov dword [rsp + 0x3c], 0xe2e5
mov dword [rsp + 0x38], 0x4a2c
mov dword [rsp + 0x34], 0xfdc7
mov dword [rsp + 0x30], 0x9a62
mov dword [rsp + 0x48], 0
jmp 0x14000a2af
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0xb8]
dec eax
cmp dword [rsp + 0x48], eax
jae 0x14000acd8
mov byte [rsp + 0x40], 0
mov dword [rsp + 0x44], 0
jmp 0x14000a2db
mov eax, dword [rsp + 0x44]
inc eax
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0xb8]
sub ecx, eax
mov eax, ecx
dec eax
cmp dword [rsp + 0x44], eax
jae 0x14000acc8
mov eax, dword [rsp + 0x44]
imul rax, rax, 0x10
mov ecx, dword [rsp + 0x44]
inc ecx
mov ecx, ecx
imul rcx, rcx, 0x10
mov rdx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xb0]
mov ecx, dword [r8 + rcx + 4]
cmp dword [rdx + rax + 4], ecx
jbe 0x14000acc3
mov eax, dword [0x140037b04]
cmp dword [rsp + 0x34], eax
jle 0x14000a7a1
mov eax, dword [0x140037b84]
cmp dword [rsp + 0x38], eax
jl 0x14000a79c
mov eax, dword [rsp + 0x38]
imul eax, dword [rsp + 0x30]
imul eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x30]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x30], eax
mov edx, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv dword [rsp + 0x38]
mov eax, edx
sub eax, dword [rsp + 0x30]
add eax, 0xfd80
and eax, 0x63c3
mov dword [rsp + 0x30], eax
mov eax, dword [0x140037b00]
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0x1f6c
je 0x14000a3dd
cmp dword [rsp + 0x4c], 0x7390
je 0x14000a520
cmp dword [rsp + 0x4c], 0x108bb
je 0x14000a4ee
cmp dword [rsp + 0x4c], 0x18654
je 0x14000a617
jmp 0x14000a797
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetTimeFormatA]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x30]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x30]
cdq
idiv dword [rsp + 0x30]
sub eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x6c]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x34]
cdq
idiv dword [rsp + 0x3c]
mov eax, edx
imul eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x38]
lea eax, [rax + rcx + 0x4d40]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x30]
cdq
idiv dword [rsp + 0x3c]
mov eax, edx
cdq
idiv dword [rsp + 0x34]
mov eax, edx
mov ecx, dword [rsp + 0x30]
sub ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x70]
sar eax, cl
mov dword [rsp + 0x30], eax
mov ecx, dword [rsp + 0x34]
call fcn.140002460
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x38]
sub ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x30]
mov dword [rsp + 0x38], eax
mov eax, 0x1cdb
cdq
idiv dword [rsp + 0x34]
mov eax, edx
mov dword [rsp + 0x74], eax
mov eax, 0x8548
cdq
idiv dword [rsp + 0x3c]
mov eax, edx
cdq
idiv dword [rsp + 0x34]
mov eax, edx
mov ecx, dword [rsp + 0x74]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x34]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x34]
or ecx, eax
mov eax, ecx
mov dword [0x140037b08], eax
mov eax, dword [rsp + 0x38]
cdq
idiv dword [rsp + 0x3c]
mov eax, edx
sub eax, 0x13aa2
mov dword [rsp + 0x3c], eax
mov eax, 0x8743
cdq
idiv dword [rsp + 0x3c]
mov eax, edx
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
sub edx, ecx
mov ecx, edx
and eax, ecx
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x38]
cdq
idiv dword [rsp + 0x3c]
mov eax, edx
add eax, dword [rsp + 0x34]
sub eax, dword [rsp + 0x34]
mov ecx, 0x16b04
mov dword [rsp + 0x78], ecx
movzx ecx, al
mov eax, dword [rsp + 0x78]
sar eax, cl
mov ecx, dword [rsp + 0x38]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x3c]
cdq
idiv dword [rsp + 0x30]
mov eax, edx
mov ecx, dword [rsp + 0x38]
add ecx, 0xe9c0
mov dword [rsp + 0x7c], ecx
mov edx, dword [rsp + 0x30]
movzx ecx, dl
mov edx, dword [rsp + 0x7c]
shl edx, cl
mov ecx, edx
and eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
sub ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x38]
shl eax, cl
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x34]
cdq
idiv dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x38]
imul ecx, dword [rsp + 0x30]
shl eax, cl
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x30]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x38]
add edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0x30]
lea ecx, [rcx + rdx + 0xd83f]
and eax, ecx
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x30]
movzx ecx, al
mov eax, dword [rsp + 0x38]
sar eax, cl
mov ecx, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x38]
add edx, ecx
mov ecx, edx
add ecx, dword [rsp + 0x30]
and eax, ecx
mov dword [rsp + 0x3c], eax
imul eax, dword [rsp + 0x3c], 0x6c70
cdq
idiv dword [rsp + 0x38]
mov eax, edx
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x38], 0x5f29
mov eax, dword [0x140037b00]
mov dword [rsp + 0x50], eax
jmp 0x14000a635
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x3c]
cmp dword [rsp + 0x50], eax
jle 0x14000a797
lea rcx, str.uQa_counterpoint_learn_trawling_y_S_vertex
call fcn.1400011a0
mov dword [rsp + 0x30], 0xed6d
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x3c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x34]
imul ecx, dword [rsp + 0x30]
sub eax, ecx
sub eax, dword [rsp + 0x34]
movzx ecx, al
mov eax, dword [rsp + 0x30]
shl eax, cl
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x34]
imul eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
shl ecx, 0x73
mov dword [rsp + 0x80], ecx
mov edx, dword [rsp + 0x30]
movzx ecx, dl
mov edx, dword [rsp + 0x80]
shl edx, cl
mov ecx, edx
and eax, ecx
mov dword [rsp + 0x38], eax
mov r8d, dword [rsp + 0x38]
mov edx, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x30]
call qword [sym.imp.GDI32.dll_GetRandomRgn]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x34]
imul eax, dword [rsp + 0x3c]
imul eax, eax, 0xaec4
shl eax, 0xe6
and eax, dword [rsp + 0x3c]
mov dword [0x140037ae4], eax
imul eax, dword [rsp + 0x34], 0x14968
mov ecx, dword [rsp + 0x3c]
sub ecx, eax
mov eax, ecx
imul ecx, dword [rsp + 0x30], 0xa4dc
add eax, ecx
mov dword [0x140037b08], eax
mov edx, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x34]
call qword [sym.imp.KERNEL32.dll_WaitForThreadpoolWaitCallbacks]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x34]
imul eax, dword [rsp + 0x38]
imul eax, dword [rsp + 0x38]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x34]
imul eax, dword [rsp + 0x30]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x3c]
mov dword [0x140037b00], eax
mov dword [rsp + 0x3c], 0x2cbc
mov eax, dword [rsp + 0x34]
cdq
idiv dword [rsp + 0x34]
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x38]
cdq
idiv dword [rsp + 0x34]
mov ecx, dword [rsp + 0x84]
sub ecx, eax
mov eax, ecx
mov dword [0x140037bc8], eax
mov eax, dword [rsp + 0x34]
cdq
idiv dword [rsp + 0x38]
mov eax, edx
mov ecx, dword [rsp + 0x38]
sub ecx, eax
mov eax, ecx
sub eax, 0x13fec
mov dword [rsp + 0x38], eax
jmp 0x14000a62b
jmp 0x14000a339
jmp 0x14000ac86
mov eax, dword [0x140037ae4]
cmp dword [rsp + 0x30], eax
jl 0x14000a7bb
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x34], eax
jl 0x14000aa71
mov eax, dword [0x140037bc8]
cmp dword [rsp + 0x34], eax
jle 0x14000a92f
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x54], eax
jmp 0x14000a7df
mov eax, dword [rsp + 0x54]
dec eax
mov dword [rsp + 0x54], eax
mov eax, dword [0x140037b84]
cmp dword [rsp + 0x54], eax
jl 0x14000a92a
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x30]
mov edx, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x3c]
call fcn.140007700
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x30]
cdq
idiv dword [rsp + 0x30]
mov ecx, dword [rsp + 0x38]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x3c]
cdq
idiv dword [rsp + 0x34]
mov ecx, dword [rsp + 0x88]
sub ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x34]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x3c]
add ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x30]
imul ecx, dword [rsp + 0x38]
sub eax, ecx
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x38]
add ecx, eax
mov eax, ecx
imul ecx, dword [rsp + 0x38], 0x5c43
add ecx, dword [rsp + 0x3c]
sub ecx, dword [rsp + 0x34]
or eax, ecx
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x3c]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
mov eax, 1
cdq
idiv dword [rsp + 0x38]
mov eax, edx
mov dword [0x140037bc8], eax
mov eax, dword [rsp + 0x30]
cdq
mov ecx, 0x3a1d
idiv ecx
cdq
idiv dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x34]
lea eax, [rax + rcx - 0x11225]
mov dword [0x140037c2c], eax
mov eax, dword [rsp + 0x30]
mov ecx, 0xe17e
mov dword [rsp + 0x8c], ecx
movzx ecx, al
mov eax, dword [rsp + 0x8c]
shl eax, cl
mov ecx, dword [rsp + 0x38]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
mov eax, 0xbb0d
cdq
idiv dword [rsp + 0x38]
mov eax, edx
imul eax, dword [rsp + 0x34]
sub eax, 0x8faf
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x34]
cmp dword [0x140037ae4], eax
jne 0x14000a86d
jmp 0x14000a7d5
jmp 0x14000aa5c
mov eax, dword [rsp + 0x38]
cmp dword [rsp + 0x34], eax
je 0x14000aa5c
mov eax, dword [0x140037c2c]
mov dword [rsp + 0x58], eax
jmp 0x14000a953
mov eax, dword [rsp + 0x58]
inc eax
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x38]
cmp dword [rsp + 0x58], eax
jg 0x14000aa5c
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x5c], eax
jmp 0x14000a975
mov eax, dword [rsp + 0x5c]
dec eax
mov dword [rsp + 0x5c], eax
mov eax, dword [0x140037bc8]
cmp dword [rsp + 0x5c], eax
jge 0x14000aa57
mov r8d, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x3c]
call fcn.140002ee0
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x34]
sub eax, 0x568e
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x60], eax
jmp 0x14000a9bc
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
mov eax, dword [0x140037b04]
cmp dword [rsp + 0x60], eax
jle 0x14000aa42
mov ecx, dword [rsp + 0x3c]
call fcn.140001210
lea rcx, str.MJ_yU46_uninhabited_skyline_poky_zp_7CXx
call fcn.1400011a0
mov eax, dword [rsp + 0x38]
cdq
idiv dword [rsp + 0x3c]
mov eax, edx
imul ecx, dword [rsp + 0x38], 0x139e5
sub eax, ecx
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x30]
imul eax, dword [rsp + 0x30]
movzx ecx, al
mov eax, dword [rsp + 0x38]
sar eax, cl
and eax, dword [rsp + 0x34]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x38]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x30], 0x6320
mov eax, dword [rsp + 0x30]
add eax, 0xb53d
mov ecx, dword [rsp + 0x34]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
jmp 0x14000a9b2
mov eax, dword [rsp + 0x34]
cmp dword [0x140037b04], eax
je 0x14000a985
jmp 0x14000a96b
jmp 0x14000a949
mov eax, dword [0x140037bc8]
cmp dword [rsp + 0x38], eax
jg 0x14000a7bb
jmp 0x14000ac86
mov eax, dword [rsp + 0x38]
cmp dword [0x140037c2c], eax
jl 0x14000aaa3
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x3c], eax
je 0x14000aaa3
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x3c], eax
je 0x14000ab7b
mov eax, dword [rsp + 0x3c]
cmp dword [rsp + 0x34], eax
jge 0x14000ab7b
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x64], eax
jmp 0x14000aab7
mov eax, dword [rsp + 0x64]
dec eax
mov dword [rsp + 0x64], eax
mov eax, dword [0x140037c2c]
cmp dword [rsp + 0x64], eax
jle 0x14000ab76
mov eax, dword [rsp + 0x3c]
movzx ecx, al
mov eax, dword [rsp + 0x34]
sar eax, cl
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x30]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x34]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x30]
cdq
idiv dword [rsp + 0x34]
mov ecx, dword [rsp + 0x90]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x3c]
imul eax, dword [rsp + 0x38]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x3c]
lea eax, [rax + rcx - 0x15bc1]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], 0x2d4b
mov ecx, dword [rsp + 0x3c]
call qword [sym.imp.UxTheme.dll_IsThemeDialogTextureEnabled]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x30], eax
mov r8d, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x38]
call fcn.140006d20
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x3c]
add ecx, eax
mov eax, ecx
mov dword [0x140037b00], eax
jmp 0x14000aaad
jmp 0x14000ac86
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x68], eax
jmp 0x14000ab8f
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [0x140037b04]
cmp dword [rsp + 0x68], eax
jle 0x14000ac86
mov eax, dword [rsp + 0x3c]
cdq
idiv dword [rsp + 0x3c]
add eax, dword [rsp + 0x3c]
mov dword [rsp + 0x3c], eax
lea rcx, str.79:volxZF_pulse_alkalinity
call fcn.1400011a0
mov eax, dword [rsp + 0x38]
cdq
idiv dword [rsp + 0x38]
mov eax, edx
cdq
idiv dword [rsp + 0x30]
mov eax, edx
mov dword [rsp + 0x34], eax
mov ecx, dword [rsp + 0x38]
call fcn.1400026d0
mov eax, dword [rsp + 0x34]
imul eax, dword [rsp + 0x34]
mov dword [rsp + 0x34], eax
imul eax, dword [rsp + 0x34], 0xf581
add eax, dword [rsp + 0x34]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x30]
cdq
idiv dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x94]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
mov edx, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x30]
call fcn.140004cf0
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x34]
sub ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x30]
sub eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x30]
sar eax, cl
mov dword [rsp + 0x3c], eax
mov edx, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x30]
call fcn.1400022d0
mov eax, dword [rsp + 0x34]
cdq
mov ecx, 0xe0ff
idiv ecx
add eax, dword [rsp + 0x3c]
mov dword [rsp + 0x38], eax
mov eax, 0x2319
cdq
idiv dword [rsp + 0x34]
imul eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x3c]
lea eax, [rcx + rax + 0xf1f5]
mov dword [rsp + 0x30], eax
jmp 0x14000ab85
mov eax, dword [rsp + 0x44]
inc eax
mov eax, eax
imul rax, rax, 0x10
mov rcx, qword [rsp + 0xb0]
add rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x44]
imul rcx, rcx, 0x10
mov rdx, qword [rsp + 0xb0]
add rdx, rcx
mov rcx, rdx
mov rdx, rax
call fcn.14000a160
mov byte [rsp + 0x40], 1
jmp 0x14000a2d1
movzx eax, byte [rsp + 0x40]
test eax, eax
jne 0x14000acd3
jmp 0x14000acd8
jmp 0x14000a2a5
add rsp, 0xa8
ret