Function at 0x10008a20
Capabilities:
Create thread
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x374
mov dword [ebp - 8], 0
lea eax, [ebp - 0x14c]
mov dword [esp], 0x104
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
sub esp, 8
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
jbe 0x10008c03
mov eax, dword [0x10022cd0]
mov ecx, dword [0x10022ccc]
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 0x10008a8e
jmp 0x100090df
mov byte [ebp - 0x149], 0
mov eax, dword [0x100212c0]
mov eax, dword [eax + 0x716b7852]
mov dword [ebp - 0x318], eax
mov eax, dword [0x100212c4]
mov eax, dword [eax + 0x716b7852]
mov dword [ebp - 0x320], 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 - 0x320]
lea ecx, [0x10021e78]
mov dword [esp], ecx
call eax
sub esp, 4
mov dword [ebp - 0x31c], 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 - 0x31c]
mov eax, dword [ebp - 0x318]
lea ecx, [0x10021e5c]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x300]
lea edx, [ebp - 0x14c]
xor ecx, ecx
lea ecx, [ebp - 0x168]
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
mov dword [ebp - 0x2fc], eax
cmp dword [ebp - 0x2fc], 0
setne al
mov byte [ebp - 0x311], al
mov eax, dword [0x10022cd0]
mov ecx, dword [0x10022ccc]
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 0x10008bc6
jmp 0x100090df
mov al, byte [ebp - 0x311]
test al, 1
jne 0x10008bd9
jmp 0x10008bea
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x324], eax
jmp 0x10008bf7
xor eax, eax
mov dword [ebp - 0x324], eax
jmp 0x10008bf7
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x150]
lea ecx, [ebp - 0x164]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.100040b0
mov eax, dword [0x100212d0]
mov word [eax + 0x716b7852], 0x32b
lea ecx, [0x10022160]
lea eax, [0x1001a190]
add eax, 0xab3
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000bb00
lea ecx, [0x10021d60]
lea eax, [0x10022160]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
sub esp, 8
lea ecx, [0x10021d20]
lea eax, [0x10022160]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
sub esp, 8
mov eax, dword [0x100212c0]
mov eax, dword [eax + 0x716b7852]
mov dword [ebp - 0x33c], eax
mov eax, dword [0x100212c4]
mov eax, dword [eax + 0x716b7852]
mov dword [ebp - 0x344], eax
lea ecx, [0x10021df8]
lea eax, [0x1001a190]
add eax, 0xc7
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10009630
mov eax, dword [ebp - 0x344]
lea ecx, [0x10021df8]
mov dword [esp], ecx
call eax
sub esp, 4
mov dword [ebp - 0x340], eax
lea ecx, [0x1002217c]
lea eax, [0x1001a190]
add eax, 0xaff
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000bc10
mov edx, dword [ebp - 0x340]
mov eax, dword [ebp - 0x33c]
lea ecx, [0x1002217c]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov dword [ebp - 0x304], eax
lea eax, [ebp - 0x2f8]
mov dword [esp], 0x202
mov dword [esp + 4], eax
call dword [ebp - 0x304]
sub esp, 8
mov eax, dword [0x100212e8]
mov dword [eax + 0x716b7852], 1
lea eax, [ebp - 0x164]
mov dword [ebp - 0x334], eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0x338], eax
lea ecx, [0x1002218c]
lea eax, [0x1001a190]
add eax, 0xb2e
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000bd20
mov edx, dword [ebp - 0x338]
mov eax, dword [ebp - 0x334]
lea ecx, [0x1002218c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x100212c0]
mov eax, dword [eax + 0x716b7852]
mov dword [ebp - 0x328], eax
mov eax, dword [0x100212c4]
mov eax, dword [eax + 0x716b7852]
mov dword [ebp - 0x330], 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 - 0x330]
lea ecx, [0x10021e78]
mov dword [esp], ecx
call eax
sub esp, 4
mov dword [ebp - 0x32c], eax
lea ecx, [0x1002219c]
lea eax, [0x1001a190]
add eax, 0xb62
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000be70
mov edx, dword [ebp - 0x32c]
mov eax, dword [ebp - 0x328]
lea ecx, [0x1002219c]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x308]
lea ecx, [ebp - 0x48]
xor edx, edx
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call eax
sub esp, 0xc
mov dword [ebp - 0x30c], eax
xor eax, eax
cmp eax, dword [ebp - 0x30c]
je 0x10009067
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov eax, 0xb7
cmp eax, ecx
jne 0x10008e98
mov eax, dword [ebp - 0x30c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x30c], 0
mov eax, dword [0x10022cd0]
mov ecx, dword [0x10022ccc]
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 0x10008ec9
jmp 0x100091db
xor eax, eax
cmp eax, dword [ebp - 0x30c]
setne al
mov byte [ebp - 0x345], al
mov eax, dword [0x10022cd0]
mov ecx, dword [0x10022ccc]
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 0x10008f0b
jmp 0x100091db
mov al, byte [ebp - 0x345]
test al, 1
jne 0x10008f1e
jmp 0x10009000
xor eax, eax
lea eax, [0x10007b30]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
sub esp, 0x18
mov dword [ebp - 0x310], eax
xor eax, eax
cmp eax, dword [ebp - 0x310]
je 0x10008fee
mov eax, dword [0x10022cd0]
mov ecx, dword [0x10022ccc]
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 0x10008f9f
jmp 0x100091e0
mov eax, dword [ebp - 0x310]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 4], 1
mov eax, dword [0x10022cd0]
mov ecx, dword [0x10022ccc]
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 0x10008fe9
jmp 0x100091e0
jmp 0x100090d4
mov eax, dword [ebp - 0x30c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [0x10022cd0]
mov ecx, dword [0x10022ccc]
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 0x10009031
jmp 0x100091fe
mov eax, dword [0x10022cd0]
mov ecx, dword [0x10022ccc]
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 0x10009062
jmp 0x100091fe
jmp 0x10009067
mov eax, dword [0x10022cd0]
mov ecx, dword [0x10022ccc]
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 0x10009098
jmp 0x10009203
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov eax, dword [0x10022cd0]
mov ecx, dword [0x10022ccc]
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 0x100090cf
jmp 0x10009203
jmp 0x100090d4
mov eax, dword [ebp - 4]
add esp, 0x374
pop ebp
ret
mov byte [ebp - 0x149], 0
mov eax, dword [0x100212c0]
mov eax, dword [eax + 0x716b7852]
mov dword [ebp - 0x34c], eax
mov eax, dword [0x100212c4]
mov eax, dword [eax + 0x716b7852]
mov dword [ebp - 0x354], 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 - 0x354]
lea ecx, [0x10021e78]
mov dword [esp], ecx
call eax
sub esp, 4
mov dword [ebp - 0x350], 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 - 0x350]
mov eax, dword [ebp - 0x34c]
lea ecx, [0x10021e5c]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x300]
lea edx, [ebp - 0x14c]
xor ecx, ecx
lea ecx, [ebp - 0x168]
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
mov dword [ebp - 0x2fc], eax
jmp 0x10008a8e
jmp 0x10008ec9
mov eax, dword [ebp - 0x310]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 4], 1
jmp 0x10008f9f
jmp 0x10009031
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
jmp 0x10009098