Function at 0x100021d0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x4c
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 0x10002208
jmp 0x10002688
push eax
mov ecx, esp
mov dword [ebp - 0x28], ecx
sub esp, 0x108
mov eax, esp
mov dword [ebp - 0x24], eax
push eax
mov edx, esp
mov dword [ebp - 0x20], edx
push eax
mov edx, esp
mov dword [ebp - 0x1c], edx
push eax
mov edx, esp
mov dword [ebp - 0x18], edx
push eax
mov edx, esp
mov dword [ebp - 0x14], edx
push eax
mov edx, esp
mov dword [ebp - 0x10], edx
push eax
mov edx, esp
mov dword [ebp - 0xc], edx
mov dword [ecx], 0
sub esp, 8
mov dword [esp], 0x105
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
cmp eax, 0
seta al
mov byte [ebp - 5], 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 0x10002291
jmp 0x10002688
mov al, byte [ebp - 5]
test al, 1
jne 0x100022a1
jmp 0x1000267d
mov eax, dword [ebp - 0x24]
mov byte [eax + 3], 0
mov eax, dword [0x10021080]
mov eax, dword [eax - 0x755512ab]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x10021084]
mov eax, dword [eax - 0x755512ab]
mov dword [ebp - 0x34], eax
lea ecx, [0x10021e78]
lea eax, [0x1001a190]
add eax, 0x29d
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000a120
mov eax, dword [ebp - 0x34]
add esp, 8
lea ecx, [0x10021e78]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x30], eax
lea ecx, [0x10021e5c]
lea eax, [0x1001a190]
add eax, 0x251
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000a010
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
add esp, 8
lea ecx, [0x10021e5c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov esi, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], esi
mov eax, dword [eax]
xor esi, esi
sub esp, 0x20
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
cmp eax, 0
jne 0x10002678
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov dword [ecx], 0x105
mov dword [eax], 1
mov eax, dword [0x10021080]
mov eax, dword [eax - 0x755512ab]
mov dword [ebp - 0x38], eax
mov eax, dword [0x10021084]
mov eax, dword [eax - 0x755512ab]
mov dword [ebp - 0x40], eax
lea ecx, [0x10021e78]
lea eax, [0x1001a190]
add eax, 0x29d
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000a120
mov eax, dword [ebp - 0x40]
add esp, 8
lea ecx, [0x10021e78]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x3c], eax
lea ecx, [0x10021e8c]
lea eax, [0x1001a190]
add eax, 0x2d6
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000a220
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
add esp, 8
lea ecx, [0x10021e8c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
mov esi, eax
mov eax, dword [ebp - 0x18]
mov dword [eax], esi
mov eax, dword [eax]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
cmp eax, 0
je 0x100024f4
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 0x10002481
jmp 0x100026b2
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
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 0x100024ba
jmp 0x100026b2
jmp 0x100024bf
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
movsx eax, byte [eax]
cmp eax, 0
je 0x100024ef
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
movsx ecx, byte [ecx]
imul ecx, dword [eax]
mov dword [eax], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x100024bf
jmp 0x100024f4
mov ecx, dword [ebp - 0x28]
mov eax, 1
cmp eax, dword [ecx]
jne 0x10002673
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0x105
mov eax, dword [0x10021080]
mov eax, dword [eax - 0x755512ab]
mov dword [ebp - 0x44], eax
mov eax, dword [0x10021084]
mov eax, dword [eax - 0x755512ab]
mov dword [ebp - 0x4c], eax
lea ecx, [0x10021eb8]
lea eax, [0x1001a190]
add eax, 0x35b
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000a3b0
mov eax, dword [ebp - 0x4c]
add esp, 8
lea ecx, [0x10021eb8]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x48], eax
lea ecx, [0x10021ea4]
lea eax, [0x1001a190]
add eax, 0x31e
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000a320
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
add esp, 8
lea ecx, [0x10021ea4]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
mov esi, eax
mov eax, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [eax]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
cmp eax, 0
je 0x1000266e
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
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 0x100025f8
jmp 0x100026bf
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
movsx eax, byte [eax]
cmp eax, 0
setne al
mov byte [ebp - 0x4d], 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 0x1000263a
jmp 0x100026bf
mov al, byte [ebp - 0x4d]
test al, 1
jne 0x1000264a
jmp 0x10002669
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx]
movsx ecx, byte [ecx]
imul ecx, dword [eax]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x100025c7
jmp 0x1000266e
jmp 0x10002673
jmp 0x10002678
jmp 0x1000267d
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
lea esp, [ebp - 4]
pop esi
pop ebp
ret
push eax
mov ecx, esp
sub esp, 0x108
mov eax, esp
mov dword [ecx], 0
sub esp, 8
mov dword [esp], 0x105
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
jmp 0x10002208
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
jmp 0x10002481
jmp 0x100025f8