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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0x214]
push ebx
mov ebx, eax
sub esp, 0x630
mov dword [esp + 8], 0x104
mov dword [esp + 4], esi
mov dword [esp], 0x4370a6
call dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
dec eax
sub esp, 0xc
cmp eax, 0x102
jbe 0x41db5b
xor eax, eax
mov edx, 0x24
jmp 0x41db4f
movzx edx, word [eax + str._P_G]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x41db48
test ebx, ebx
je 0x41dc08
mov dword [ebp - 0x624], 0xa000d
lea ebx, [ebp - 0x620]
lea edi, [ebp - 0x624]
xor eax, eax
mov word [ebx], ax
movzx eax, word [ebp - 0x214]
test ax, ax
jne 0x41dba6
jmp 0x41dbf0
mov word [ebx], ax
add esi, 2
xor eax, eax
add ebx, 2
mov word [ebx], ax
movzx eax, word [esi]
test ax, ax
je 0x41dbf0
cmp ax, 0x24
jne 0x41db90
movzx eax, word [esi + 2]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_towupper]
sub eax, 0x24
cmp ax, 0x3b
ja case.0x41dbc5.1
movzx eax, ax
jmp dword [eax*4 + 0x4370c0]
mov eax, 0x24
add ebx, 2
mov word [ebx - 2], ax
lea esi, [esi]
nop
xor eax, eax
add esi, 4
mov word [ebx], ax
movzx eax, word [esi]
test ax, ax
jne 0x41dba6
mov edx, edi
mov eax, 0xfffffff5
call sym._WCMD_output_asis_handle
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea edi, [ebp - 0x624]
mov ebx, edi
jmp 0x41db79
mov edx, 0xa
add ebx, 2
xor eax, eax
add esi, 4
mov word [ebx - 2], dx
mov word [ebx], ax
jmp 0x41dbe8
mov eax, dword [0x430568]
test eax, eax
je case.0x41dbc5.1
mov eax, dword [eax + 4]
mov dword [esp], ebx
mov dword [esp + 4], 0x2b
mov dword [esp + 8], eax
call dword [sym.imp.ucrtbase.dll_memset]
mov eax, dword [0x430568]
mov eax, dword [eax + 4]
lea ebx, [ebx + eax*2]
jmp case.0x41dbc5.1
mov eax, 0x26
add ebx, 2
add esi, 4
mov word [ebx - 2], ax
xor eax, eax
mov word [ebx], ax
jmp 0x41dbe8
mov eax, 0x7c
add ebx, 2
add esi, 4
mov word [ebx - 2], ax
xor eax, eax
mov word [ebx], ax
jmp 0x41dbe8
mov ecx, 0x28
add ebx, 2
xor eax, eax
add esi, 4
mov word [ebx - 2], cx
mov word [ebx], ax
jmp 0x41dbe8
mov eax, ebx
mov dword [esp + 0x10], ebx
sub eax, edi
mov dword [esp + 0xc], 0
sar eax, 1
mov dword [esp + 8], 0
neg eax
mov dword [esp + 4], 1
add eax, 0x104
mov dword [esp], 0x400
mov dword [esp + 0x14], eax
call dword [sym.imp.kernel32.dll_GetDateFormatW]
sub esp, 0x18
cmp word [ebx], 0
je case.0x41dbc5.1
lea esi, [esi]
nop
add ebx, 2
cmp word [ebx], 0
jne 0x41dcf0
xor eax, eax
add esi, 4
mov word [ebx], ax
jmp 0x41dbe8
mov edx, 0x1b
add ebx, 2
xor eax, eax
add esi, 4
mov word [ebx - 2], dx
mov word [ebx], ax
jmp 0x41dbe8
mov eax, 0x29
add ebx, 2
add esi, 4
mov word [ebx - 2], ax
xor eax, eax
mov word [ebx], ax
jmp 0x41dbe8
mov eax, 0x3e
add ebx, 2
add esi, 4
mov word [ebx - 2], ax
xor eax, eax
mov word [ebx], ax
jmp 0x41dbe8
mov eax, 8
add ebx, 2
add esi, 4
mov word [ebx - 2], ax
xor eax, eax
mov word [ebx], ax
jmp 0x41dbe8
mov eax, 0x3c
add ebx, 2
add esi, 4
mov word [ebx - 2], ax
xor eax, eax
mov word [ebx], ax
jmp 0x41dbe8
lea eax, [ebp - 0x41c]
mov dword [esp], 0x104
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
sub esp, 8
test eax, eax
je case.0x41dbc5.1
movzx eax, word [ebp - 0x41c]
add ebx, 2
mov word [ebx - 2], ax
jmp case.0x41dbc5.1
lea eax, [ebp - 0x41c]
mov dword [esp], 0x104
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
sub esp, 8
test eax, eax
je case.0x41dbc5.1
cmp word [ebx], 0
mov edx, ebx
je 0x41ddf1
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x41dde8
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [ebp + eax - 0x41c]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x41ddf8
cmp word [ebx], 0
je case.0x41dbc5.1
lea esi, [esi]
lea esi, [esi]
add ebx, 2
cmp word [ebx], 0
jne 0x41de20
jmp case.0x41dbc5.1
mov eax, 0x3d
add ebx, 2
add esi, 4
mov word [ebx - 2], ax
xor eax, eax
mov word [ebx], ax
jmp 0x41dbe8
mov ecx, 0x20
add ebx, 2
xor eax, eax
add esi, 4
mov word [ebx - 2], cx
mov word [ebx], ax
jmp 0x41dbe8
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x400
call dword [sym.imp.kernel32.dll_GetTimeFormatW]
sub esp, 0x18
cmp word [ebx], 0
je case.0x41dbc5.1
nop
add ebx, 2
cmp word [ebx], 0
jne 0x41dea0
xor eax, eax
add esi, 4
mov word [ebx], ax
jmp 0x41dbe8
cmp word [ebx], 0
mov edx, ebx
je 0x41dec9
nop
add edx, 2
cmp word [edx], 0
jne 0x41dec0
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [eax + 0x434700]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x41ded0
cmp word [ebx], 0
je case.0x41dbc5.1
lea esi, [esi]
add ebx, 2
cmp word [ebx], 0
jne 0x41def0
xor eax, eax
add esi, 4
mov word [ebx], ax
jmp 0x41dbe8