Function at 0x10038dbd
Capabilities:
Get common file path
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006df17
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa8c
push esi
push edi
mov dword [ebp - 0x98], 0x24ec2e0c
mov dword [ebp - 0x98], 0xffffffeb
jmp 0x10038e00
mov eax, dword [ebp - 0x98]
dec eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0xffffffe9
jge 0x10038eb8
push 2
lea ecx, [ebp - 0x6fc]
call fcn.1002b6f7
and dword [ebp - 4], 0
mov dword [ebp - 0x138], 0xd86e52d8
mov dword [ebp - 0x13c], 0
jmp 0x10038e41
mov eax, dword [ebp - 0x13c]
inc eax
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 2
jge 0x10038e63
push dword [ebp - 0x13c]
lea ecx, [ebp - 0x6fc]
call fcn.1002b7f6
mov dword [eax], 9
jmp 0x10038e34
mov dword [ebp - 0x138], 0
jmp 0x10038e7c
mov eax, dword [ebp - 0x138]
inc eax
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 1
jg 0x10038ea4
mov byte [ebp - 0x8e], 0
movzx eax, byte [ebp - 0x8e]
test eax, eax
je 0x10038ea2
push 0x2629
call dword [sym.imp.GDI32.dll_GetBkColor]
jmp 0x10038e6f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6fc]
call fcn.1002b77b
jmp 0x10038df3
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa0], 0x24ec2e0c
mov dword [ebp - 0xa0], 0xffffffeb
jmp 0x10038ee7
mov eax, dword [ebp - 0xa0]
dec eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0xffffffe9
jge 0x10038fa2
push 2
lea ecx, [ebp - 0x70c]
call fcn.1002b6f7
mov dword [ebp - 4], 1
mov dword [ebp - 0x120], 0xd86e52d8
mov dword [ebp - 0x100], 0
jmp 0x10038f2b
mov eax, dword [ebp - 0x100]
inc eax
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 2
jge 0x10038f4d
push dword [ebp - 0x100]
lea ecx, [ebp - 0x70c]
call fcn.1002b7f6
mov dword [eax], 9
jmp 0x10038f1e
mov dword [ebp - 0x120], 0
jmp 0x10038f66
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 1
jg 0x10038f8e
mov byte [ebp - 0x85], 0
movzx eax, byte [ebp - 0x85]
test eax, eax
je 0x10038f8c
push 0x2629
call dword [sym.imp.GDI32.dll_GetBkColor]
jmp 0x10038f59
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70c]
call fcn.1002b77b
jmp 0x10038eda
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa0], eax
movzx eax, byte [0x108ad238]
test eax, eax
je 0x10038fcc
mov esi, 0x10074890
mov edi, dword [ebp + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
jmp 0x1003c153
mov dword [ebp - 0x608], 0x10074890
mov dword [ebp - 0x468], 0xffff
mov dword [ebp - 0x108], 0
jmp 0x10038ff9
mov eax, dword [ebp - 0x108]
inc eax
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 2
jge 0x10039015
mov eax, dword [ebp - 0x108]
mov dword [ebp + eax*4 - 0x648], 0xffffffff
jmp 0x10038fec
mov byte [ebp - 0x90], 0
movzx eax, byte [ebp - 0x90]
test eax, eax
je 0x10039031
push 0
push 0
call dword [sym.imp.GDI32.dll_GetRgnBox]
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x468]
mov dword [ebp + eax - 0x648], ecx
mov dword [ebp - 0x54c], 0xffff
mov dword [ebp - 0x130], 0
jmp 0x10039067
mov eax, dword [ebp - 0x130]
inc eax
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 2
jge 0x10039083
mov eax, dword [ebp - 0x130]
mov dword [ebp + eax*4 - 0x654], 0xffffffff
jmp 0x1003905a
mov byte [ebp - 0x6e], 0
movzx eax, byte [ebp - 0x6e]
test eax, eax
je 0x10039099
push 0
push 0
call dword [sym.imp.GDI32.dll_GetRgnBox]
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x54c]
mov dword [ebp + eax - 0x654], ecx
mov dword [ebp - 0x624], 0x10074894
mov dword [ebp - 0x34], 1
mov dword [ebp - 0xe0], 0x97ec53a2
mov dword [ebp - 0xc0], 0x81b2706
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x1d0], 1
mov dword [ebp - 0x34], 0xfffffff1
jmp 0x100390f5
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0xfffffffd
jge 0x100395ee
mov dword [ebp - 0x1c], 1
push 3
lea ecx, [ebp - 0x1a8]
call fcn.1002b6f7
mov dword [ebp - 4], 2
mov dword [ebp - 0x128], 0xbf748bbe
mov dword [ebp - 0x110], 0
jmp 0x1003913d
mov eax, dword [ebp - 0x110]
inc eax
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 3
jge 0x1003915f
push dword [ebp - 0x110]
lea ecx, [ebp - 0x1a8]
call fcn.1002b7f6
mov dword [eax], 0x8974b66
jmp 0x10039130
cmp dword [ebp - 0x1c], 0
je 0x100391bc
mov dword [ebp - 0x554], 0xa97963ba
cmp dword [ebp - 0x34], 0
jne 0x10039181
mov dword [ebp - 0x254], 1
jmp 0x10039188
and dword [ebp - 0x254], 0
push 2
lea ecx, [ebp - 0x1a8]
call fcn.1002b7f6
mov ecx, dword [ebp - 0x254]
mov dword [eax], ecx
push 2
lea ecx, [ebp - 0x1a8]
call fcn.1002b7f6
mov dword [eax], 0x9a924c00
mov dword [ebp - 0x554], 0x9a924c00
jmp 0x100391ea
cmp dword [ebp - 0x1c], 0
jne 0x100391ce
mov dword [ebp - 0x44c], 1
jmp 0x100391d5
and dword [ebp - 0x44c], 0
push 1
lea ecx, [ebp - 0x1a8]
call fcn.1002b7f6
mov ecx, dword [ebp - 0x44c]
mov dword [eax], ecx
mov dword [ebp - 0x55c], 0x17f3
cmp dword [ebp - 0x55c], 0x468
jge 0x1003935e
lea eax, [ebp - 0x17c]
push eax
mov ecx, 0x1065eb30
call fcn.1002ad65
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x4f4], eax
mov eax, dword [ebp - 0x17c]
dec eax
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x4f4], 0
je 0x1003935e
lea eax, [ebp - 0x538]
push eax
mov ecx, 0x1065eb30
call fcn.1002ad65
push 0x30c
push 0
lea eax, [ebp - 0xa98]
push eax
call fcn.1003755a
add esp, 0xc
and dword [ebp - 0x15c], 0
jmp 0x10039278
mov eax, dword [ebp - 0x15c]
inc eax
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x15c]
cmp eax, dword [ebp - 0x538]
jge 0x100392fd
lea eax, [ebp - 0x478]
push eax
lea eax, [ebp - 0x48c]
push eax
lea edx, [ebp - 0x189]
mov ecx, 0x1065eb30
call fcn.1002ff7f
mov ecx, eax
call fcn.1002ad65
mov ecx, eax
call fcn.1002ad65
mov eax, dword [ebp - 0x48c]
mov dword [ebp - 0xd0], eax
jmp 0x100392cd
mov eax, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0x478]
jge 0x100392f8
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp + eax*4 - 0xa98]
inc eax
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + ecx*4 - 0xa98], eax
jmp 0x100392c0
jmp 0x1003926b
and dword [ebp - 0xb0], 0
jmp 0x10039313
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0xc3
jge 0x1003934e
mov eax, dword [ebp - 0xb0]
cmp dword [ebp + eax*4 - 0xa98], 0
jle 0x1003934c
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp + eax*4 - 0xa98]
add eax, 0x40
push eax
push 0x10007758
call fcn.10056438
pop ecx
pop ecx
jmp 0x10039306
push 0x1000775c
call fcn.10056438
pop ecx
jmp 0x10039215
cmp dword [ebp - 0x1c], 0
jne 0x10039463
cmp dword [ebp - 0x34], 0
jne 0x10039463
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x1c], eax
jl 0x10039386
mov dword [ebp - 0x400], 1
jmp 0x1003938d
and dword [ebp - 0x400], 0
cmp dword [ebp - 0x400], 9
je 0x100393a2
mov dword [ebp - 0x40c], 1
jmp 0x100393a9
and dword [ebp - 0x40c], 0
push 2
lea ecx, [ebp - 0x1a8]
call fcn.1002b7f6
mov esi, dword [ebp - 0x128]
push 2
lea ecx, [ebp - 0x1a8]
call fcn.1002b7f6
cmp esi, dword [eax]
jne 0x100393d9
mov dword [ebp - 0x500], 1
jmp 0x100393e0
and dword [ebp - 0x500], 0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x34], 0xef8169c1
jae 0x100393fe
mov dword [ebp - 0x480], 1
jmp 0x10039405
and dword [ebp - 0x480], 0
push 0
lea ecx, [ebp - 0x1a8]
call fcn.1002b7f6
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x128], eax
jne 0x10039432
mov dword [ebp - 0x1b8], 1
jmp 0x10039439
and dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x128]
cmp dword [ebp - 0x1b8], eax
jne 0x10039453
mov dword [ebp - 0x550], 1
jmp 0x1003945a
and dword [ebp - 0x550], 0
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x128], eax
cmp dword [ebp - 0x34], 0
je 0x100394b0
mov dword [ebp - 0x488], 0x49a5c1b0
mov dword [ebp - 0x1c], 0
jmp 0x10039483
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1003949f
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1a8]
call fcn.1002b7f6
mov dword [eax], 0xfffffff9
jmp 0x1003947c
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0xe0], eax
jmp 0x100395da
push 2
lea ecx, [ebp - 0x5f0]
call fcn.1002b6f7
mov byte [ebp - 4], 3
mov dword [ebp - 0x4fc], 0xfffffffc
mov dword [ebp - 0x118], 0
jmp 0x100394e4
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 2
jge 0x10039506
push dword [ebp - 0x118]
lea ecx, [ebp - 0x5f0]
call fcn.1002b7f6
mov dword [eax], 0xa932da3b
jmp 0x100394d7
push 0
lea ecx, [ebp - 0x5f0]
call fcn.1002b7f6
mov dword [ebp - 0x414], eax
push 1
lea ecx, [ebp - 0x1a8]
call fcn.1002b7f6
mov ecx, dword [ebp - 0x414]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 0x414]
mov eax, dword [eax]
mov dword [ebp - 0xe0], eax
mov esi, dword [ebp - 0xe0]
push 1
lea ecx, [ebp - 0x1a8]
call fcn.1002b7f6
cmp esi, dword [eax]
jl 0x10039561
mov dword [ebp - 0x1c8], 1
jmp 0x10039568
and dword [ebp - 0x1c8], 0
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0xc0], eax
je 0x1003957f
mov dword [ebp - 0x1c0], 1
jmp 0x10039586
and dword [ebp - 0x1c0], 0
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x41c]
cmp dword [ebp - 0x1c8], eax
je 0x100395ac
mov dword [ebp - 0x424], 1
jmp 0x100395b3
and dword [ebp - 0x424], 0
mov eax, dword [ebp - 0x424]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x4fc], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x5f0]
call fcn.1002b77b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a8]
call fcn.1002b77b
jmp 0x100390ee
mov dword [ebp - 0xc0], 0xffffffe6
jmp 0x10039607
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x2b
jge 0x10039637
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xe0], eax
mov byte [ebp - 0x6d], 0
movzx eax, byte [ebp - 0x6d]
test eax, eax
je 0x10039635
push 0x15f0
push 0
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
jmp 0x100395fa
mov byte [0x108ad238], 1
mov dword [ebp - 0xc8], 0x9f9b3198
mov dword [ebp - 0xc8], 0
jmp 0x10039661
mov eax, dword [ebp - 0xc8]
dec eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0xffffffe6
jl 0x1003968d
cmp dword [ebp - 0xc8], 0
je 0x10039675
jmp 0x1003968d
mov byte [ebp - 0x71], 0
movzx eax, byte [ebp - 0x71]
test eax, eax
je 0x1003968b
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
jmp 0x10039654
mov dword [ebp - 0x28], 1
mov dword [ebp - 0xb4], 0x97ec53a2
mov dword [ebp - 0xd8], 0x81b2706
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x3b8], 1
mov dword [ebp - 0x28], 0xfffffff1
jmp 0x100396cc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret