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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x408
cmp dword [ebx + 4], 0
push esi
push edi
je 0x4249c8
cmp dword [ebx + 0x10], 0
je 0x4246d9
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor edi, edi
test byte [ebx + 0x18], 0x10
je 0x42499b
push 0x1000
call fcn.004331b8
mov edi, eax
add esp, 4
test edi, edi
jne 0x424708
push 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov byte [edi], 0
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x424734
push eax
push 0x1000
push edi
call fcn.0044815e
add esp, 0xc
push 0x499528
push 0x1000
push edi
call fcn.0044815e
add esp, 0xc
push 0x49952c
push 0x1000
push edi
call fcn.0044815e
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
jbe 0x424789
lea ecx, [esp + 0x10]
push ecx
push 0x1000
push edi
mov byte [esp + 0x41b], 0
call fcn.0044815e
add esp, 0xc
push 0x499528
push 0x1000
push edi
call fcn.0044815e
add esp, 0xc
push 0x400
lea edx, [esp + 0x14]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jbe 0x424819
lea eax, [esp + 0x10]
mov byte [esp + 0x40f], 0
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4247b0
sub eax, edx
lea ecx, [esp + eax + 0xf]
lea eax, [esp + 0x10]
cmp ecx, eax
jb 0x4247e1
mov al, byte [ecx]
cmp al, 0x5c
je 0x4247de
cmp al, 0x2f
je 0x4247de
cmp al, 0x3a
je 0x4247de
dec ecx
lea edx, [esp + 0x10]
cmp ecx, edx
jae 0x4247c5
jmp 0x4247e1
mov byte [ecx], 0
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4247e8
sub eax, edx
je 0x424819
lea eax, [esp + 0x10]
push eax
push 0x1000
push edi
call fcn.0044815e
add esp, 0xc
push 0x499528
push 0x1000
push edi
call fcn.0044815e
add esp, 0xc
mov esi, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
push 0x400
lea ecx, [esp + 0x14]
push ecx
push str._NT_SYMBOL_PATH
call esi
test eax, eax
jbe 0x424862
lea edx, [esp + 0x10]
push edx
push 0x1000
push edi
mov byte [esp + 0x41b], 0
call fcn.0044815e
add esp, 0xc
push 0x499528
push 0x1000
push edi
call fcn.0044815e
add esp, 0xc
push 0x400
lea eax, [esp + 0x14]
push eax
push str._NT_ALTERNATE_SYMBOL_PATH
call esi
test eax, eax
jbe 0x4248a5
lea ecx, [esp + 0x10]
push ecx
push 0x1000
push edi
mov byte [esp + 0x41b], 0
call fcn.0044815e
add esp, 0xc
push 0x499528
push 0x1000
push edi
call fcn.0044815e
add esp, 0xc
push 0x400
lea edx, [esp + 0x14]
push edx
push str.SYSTEMROOT
call esi
test eax, eax
jbe 0x424925
lea eax, [esp + 0x10]
push eax
push 0x1000
push edi
mov byte [esp + 0x41b], 0
call fcn.0044815e
add esp, 0xc
push 0x499528
push 0x1000
push edi
call fcn.0044815e
add esp, 0xc
push str._system32
lea ecx, [esp + 0x14]
push 0x400
push ecx
call fcn.0044815e
add esp, 0xc
lea edx, [esp + 0x10]
push edx
push 0x1000
push edi
call fcn.0044815e
add esp, 0xc
push 0x499528
push 0x1000
push edi
call fcn.0044815e
add esp, 0xc
test byte [ebx + 0x18], 0x10
je 0x42499b
push 0x400
lea eax, [esp + 0x14]
push eax
push str.SYSTEMDRIVE
call esi
test eax, eax
jbe 0x424988
push str.SRV
push 0x1000
push edi
mov byte [esp + 0x41b], 0
call fcn.0044815e
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push 0x1000
push edi
call fcn.0044815e
add esp, 0xc
push str.websymbols
push 0x1000
push edi
call fcn.0044815e
add esp, 0xc
push str.http:__msdl.microsoft.com_download_symbols_
jmp 0x42498d
push str.SRVc:websymbolshttp:__msdl.microsoft.com_download_symbols_
push 0x1000
push edi
call fcn.0044815e
add esp, 0xc
mov esi, dword [ebx + 4]
push edi
call fcn.00423b90
mov esi, eax
test edi, edi
je 0x4249b3
push edi
call fcn.00430e51
add esp, 4
test esi, esi
jne 0x4249db
mov edx, dword [ebx]
mov eax, dword [edx + 0x10]
push esi
push esi
push esi
push str.Error_while_initializing_dbghelp.dll
mov ecx, ebx
call eax
push 0x45a
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 8]
mov esi, dword [ebx + 4]
push eax
push edi
push esi
call fcn.00423f00
test eax, eax
je 0x4249fe
mov eax, 1
mov dword [ebx + 0x10], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push esi
call fcn.00424040
test eax, eax
je 0x424a0f
mov dword [ebx + 0x10], 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret