Function at 0x100023f0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x17c
mov dword [ebp - 4], 0
lea eax, [ebp - 0x109]
mov dword [esp], 0x105
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
sub esp, 8
cmp eax, 0
jbe 0x100028b9
mov byte [ebp - 0x106], 0
mov eax, dword [0x10021080]
mov eax, dword [eax - 0x5ba6e19f]
mov dword [ebp - 0x128], eax
mov eax, dword [0x10021084]
mov eax, dword [eax - 0x5ba6e19f]
mov dword [ebp - 0x130], eax
lea ecx, [0x10021e78]
lea eax, [0x1001a190]
add eax, 0x291
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10009df0
mov eax, dword [ebp - 0x130]
lea ecx, [0x10021e78]
mov dword [esp], ecx
call eax
sub esp, 4
mov dword [ebp - 0x12c], eax
lea ecx, [0x10021e5c]
lea eax, [0x1001a190]
add eax, 0x252
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10009d60
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x128]
lea ecx, [0x10021e5c]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
lea edx, [ebp - 0x109]
xor ecx, ecx
lea ecx, [ebp - 4]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
call eax
sub esp, 0x20
cmp eax, 0
jne 0x100028b4
mov eax, dword [0x10022d60]
mov ecx, dword [0x10022d5c]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1000254b
jmp 0x100028c4
mov dword [ebp - 0x114], 0x105
mov dword [ebp - 4], 1
mov eax, dword [0x10021080]
mov eax, dword [eax - 0x5ba6e19f]
mov dword [ebp - 0x138], eax
mov eax, dword [0x10021084]
mov eax, dword [eax - 0x5ba6e19f]
mov dword [ebp - 0x140], eax
lea ecx, [0x10021e78]
lea eax, [0x1001a190]
add eax, 0x291
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10009df0
mov eax, dword [ebp - 0x140]
lea ecx, [0x10021e78]
mov dword [esp], ecx
call eax
sub esp, 4
mov dword [ebp - 0x13c], eax
lea ecx, [0x10021e8c]
lea eax, [0x1001a190]
add eax, 0x2c7
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10009fc0
mov edx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x138]
lea ecx, [0x10021e8c]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
lea edx, [ebp - 0x109]
lea ecx, [ebp - 0x114]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
cmp eax, 0
setne al
mov byte [ebp - 0x131], al
mov eax, dword [0x10022d60]
mov ecx, dword [0x10022d5c]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10002651
jmp 0x100028c4
mov al, byte [ebp - 0x131]
test al, 1
jne 0x10002664
jmp 0x10002712
lea eax, [ebp - 0x109]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x11c]
movsx eax, byte [eax]
cmp eax, 0
je 0x1000270d
mov eax, dword [0x10022d60]
mov ecx, dword [0x10022d5c]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x100026b3
jmp 0x10002992
mov eax, dword [ebp - 0x11c]
movsx eax, byte [eax]
imul eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov eax, dword [0x10022d60]
mov ecx, dword [0x10022d5c]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x100026f4
jmp 0x10002992
jmp 0x100026f9
mov eax, dword [ebp - 0x11c]
add eax, 1
mov dword [ebp - 0x11c], eax
jmp 0x10002670
jmp 0x10002712
mov eax, dword [0x10022d60]
mov ecx, dword [0x10022d5c]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10002743
jmp 0x100029a9
mov eax, 1
cmp eax, dword [ebp - 4]
sete al
mov byte [ebp - 0x141], al
mov eax, dword [0x10022d60]
mov ecx, dword [0x10022d5c]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10002785
jmp 0x100029a9
mov al, byte [ebp - 0x141]
test al, 1
jne 0x10002798
jmp 0x100028af
mov dword [ebp - 0x114], 0x105
mov eax, dword [0x10021080]
mov eax, dword [eax - 0x5ba6e19f]
mov dword [ebp - 0x148], eax
mov eax, dword [0x10021084]
mov eax, dword [eax - 0x5ba6e19f]
mov dword [ebp - 0x150], eax
lea ecx, [0x10021eb8]
lea eax, [0x1001a190]
add eax, 0x339
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000a160
mov eax, dword [ebp - 0x150]
lea ecx, [0x10021eb8]
mov dword [esp], ecx
call eax
sub esp, 4
mov dword [ebp - 0x14c], eax
lea ecx, [0x10021ea4]
lea eax, [0x1001a190]
add eax, 0x2fe
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000a0d0
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x148]
lea ecx, [0x10021ea4]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
lea edx, [ebp - 0x109]
lea ecx, [ebp - 0x114]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
cmp eax, 0
je 0x100028aa
lea eax, [ebp - 0x109]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
movsx eax, byte [eax]
cmp eax, 0
je 0x100028a5
mov eax, dword [ebp - 0x124]
movsx eax, byte [eax]
imul eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x124]
add eax, 1
mov dword [ebp - 0x124], eax
jmp 0x1000286f
jmp 0x100028aa
jmp 0x100028af
jmp 0x100028b4
jmp 0x100028b9
mov eax, dword [ebp - 4]
add esp, 0x17c
pop ebp
ret
mov dword [ebp - 0x114], 0x105
mov dword [ebp - 4], 1
mov eax, dword [0x10021080]
mov eax, dword [eax - 0x5ba6e19f]
mov dword [ebp - 0x154], eax
mov eax, dword [0x10021084]
mov eax, dword [eax - 0x5ba6e19f]
mov dword [ebp - 0x15c], eax
lea ecx, [0x10021e78]
lea eax, [0x1001a190]
add eax, 0x291
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10009df0
mov eax, dword [ebp - 0x15c]
lea ecx, [0x10021e78]
mov dword [esp], ecx
call eax
sub esp, 4
mov dword [ebp - 0x158], eax
lea ecx, [0x10021e8c]
lea eax, [0x1001a190]
add eax, 0x2c7
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10009fc0
mov edx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x154]
lea ecx, [0x10021e8c]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
lea edx, [ebp - 0x109]
lea ecx, [ebp - 0x114]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
jmp 0x1000254b
mov eax, dword [ebp - 0x11c]
movsx ecx, byte [eax]
mov eax, dword [ebp - 4]
imul eax, ecx
mov dword [ebp - 4], eax
jmp 0x100026b3
jmp 0x10002743