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

Disassembly:
sub esp, 0x88
push ebx
mov ebx, dword [esp + 0x90]
test ebx, ebx
push ebp
push esi
mov ebp, ecx
je 0x43eb19
mov byte [ebx], 0
mov cl, byte [ebp + 0x14]
movzx eax, cl
cmp eax, 0x50
mov dword [esp + 0x10], ebx
ja case.0x43f72d.4
jmp dword [eax*4 + 0x43f7e0]
mov eax, dword [ebp + 4]
test eax, eax
jne 0x43eb6a
mov ecx, dword [ebp + 0x10]
mov esi, dword [sym.imp.KERNEL32.DLL_GetEnvironmentVariableA]
push 1
lea eax, [esp + 0x13]
push eax
push ecx
call esi
test eax, eax
je 0x43ebc3
test ebx, ebx
je 0x43f627
mov edx, dword [ebp + 0x10]
push 0x7fff
push ebx
push edx
call esi
jmp 0x43f7c5
test ebx, ebx
je 0x43f7d2
cmp eax, 0x186a0
jbe 0x43eb96
mov esi, dword [ebp]
push edi
mov ecx, eax
shr ecx, 2
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
pop edi
jmp 0x43f7c5
mov ecx, dword [ebp]
mov al, byte [ecx]
test al, al
je case.0x43f72d.4
mov byte [ebx], al
mov al, byte [ecx + 1]
inc ebx
inc ecx
test al, al
jne 0x43eba3
jmp case.0x43f72d.4
push ebx
mov ecx, 0x45ef58
call fcn.00402890
cmp eax, 0xffffffff
jne 0x43ebd1
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 4
test ebx, ebx
je 0x43f7d2
jmp 0x43f7c5
test ebx, ebx
jne 0x43ec2e
lea ecx, [esp + 0xf]
push ecx
push 1
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryA]
test eax, eax
jne 0x43ec18
push 0x44f4f8
push str.GetCurrentDirectory___failed.
mov ecx, 0x45ebb8
call fcn.0041e570
pop esi
pop ebp
mov eax, 0x104
pop ebx
add esp, 0x88
ret 4
cmp eax, 1
jbe 0x43f7d2
pop esi
pop ebp
dec eax
pop ebx
add esp, 0x88
ret 4
push ebx
push 0x270f
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryA]
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43ec5a
push ebx
call fcn.0043d520
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043d520
jmp 0x43f7c5
test ebx, ebx
je 0x43f648
push ebx
mov ecx, 0x45ebb8
call fcn.0043d5e0
jmp 0x43f7c5
test ebx, ebx
je 0x43f6a6
push ebx
mov ecx, 0x45ebb8
call fcn.0043d620
jmp 0x43f7c5
test ebx, ebx
je 0x43ecd5
push ebx
mov ecx, 0x45ebb8
call fcn.0043d660
jmp 0x43f7c5
test ebx, ebx
je 0x43ecd5
push ebx
mov ecx, 0x45ebb8
call fcn.0043d6a0
jmp 0x43f7c5
test ebx, ebx
je 0x43ecd5
push ebx
mov ecx, 0x45ebb8
call fcn.0043d6e0
jmp 0x43f7c5
test ebx, ebx
jne 0x43ece6
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043d720
jmp 0x43f7c5
test ebx, ebx
je 0x43f788
push ebx
mov ecx, 0x45ebb8
call fcn.0043d760
jmp 0x43f7c5
test ebx, ebx
jne 0x43ed35
mov eax, 0x45d62d
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43ed20
pop esi
pop ebp
sub eax, edx
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043d790
jmp 0x43f7c5
test ebx, ebx
je 0x43f648
push ebx
mov ecx, 0x45ebb8
call fcn.0043d7f0
jmp 0x43f7c5
test ebx, ebx
je 0x43f648
push ebx
mov ecx, 0x45ebb8
call fcn.0043d830
jmp 0x43f7c5
test ebx, ebx
je 0x43f648
push ebx
mov ecx, 0x45ebb8
call fcn.0043d870
jmp 0x43f7c5
test ebx, ebx
je 0x43f648
push ebx
mov ecx, 0x45ebb8
call fcn.0043d8b0
jmp 0x43f7c5
test ebx, ebx
je 0x43f648
push ebx
mov ecx, 0x45ebb8
call fcn.0043d8f0
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43edd8
push ebx
call fcn.00414ad0
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.00414ad0
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43edfe
push ebx
call fcn.00414b00
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.00414b00
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43ee24
push ebx
call fcn.00414b60
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.00414b60
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43ee4a
push ebx
call fcn.00414bc0
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.00414bc0
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43ee70
push ebx
call fcn.0043d930
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043d930
jmp 0x43f7c5
test ebx, ebx
jne 0x43eeaa
mov al, byte [0x45f110]
test al, al
mov eax, str.WIN32_NT
jne 0x43ee92
mov eax, str.WIN32_WINDOWS
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43ee95
pop esi
pop ebp
sub eax, edx
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043e760
add esp, 4
jmp 0x43f7c5
test ebx, ebx
jne 0x43eed1
push ebx
call fcn.0043e7a0
add esp, 4
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043e7a0
add esp, 4
jmp 0x43f7c5
test ebx, ebx
je 0x43f788
push ebx
call fcn.0043e820
add esp, 4
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43ef10
push ebx
call fcn.00414ca0
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.00414ca0
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43ef38
push ebx
push 0x29
call fcn.00414eb0
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
push 0x29
call fcn.00414eb0
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43ef62
push ebx
push 0x2a
call fcn.00414eb0
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
push 0x2a
call fcn.00414eb0
jmp 0x43f7c5
add eax, 0xffffffd5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43ef8e
push ebx
push eax
call fcn.00415050
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
push eax
call fcn.00415050
jmp 0x43f7c5
test ebx, ebx
jne 0x43efbb
mov eax, dword [0x45ef04]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43efa6
pop esi
pop ebp
sub eax, edx
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043d9e0
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43efe6
push ebx
call fcn.0043da10
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043da10
jmp 0x43f7c5
test ebx, ebx
jne 0x43f02c
mov eax, dword [0x45ef00]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f000
sub eax, edx
mov edx, eax
mov eax, dword [0x45ef04]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f013
sub eax, esi
pop esi
pop ebp
lea eax, [eax + edx + 1]
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043dab0
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43f057
push ebx
call fcn.0043db10
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043db10
jmp 0x43f7c5
test ebx, ebx
jne 0x43f0b5
mov ecx, dword [0x45eed8]
test ecx, ecx
mov eax, 0x44f4f8
je 0x43f097
lea eax, [ecx + 0x130]
cmp byte [eax], 0
jne 0x43f097
push ebx
mov ecx, 0x45ebb8
call fcn.0043db10
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f0a0
pop esi
pop ebp
sub eax, edx
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043db70
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43f0e0
push ebx
call fcn.0043dbc0
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043dbc0
jmp 0x43f7c5
test ebx, ebx
jne 0x43f119
mov ecx, dword [0x45eed8]
test ecx, ecx
mov eax, 0x44f4f8
je 0x43f101
lea eax, [ecx + 0x2c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f104
pop esi
pop ebp
sub eax, edx
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043dc30
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43f144
push ebx
call fcn.0043dc70
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043dc70
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43f16a
push ebx
call fcn.0043dce0
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043dce0
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43f190
push ebx
call fcn.0043dd50
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043dd50
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43f1b6
push ebx
call fcn.0043ddc0
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043ddc0
jmp 0x43f7c5
test ebx, ebx
jne 0x43f245
mov ecx, dword [0x45eed8]
test ecx, ecx
mov byte [esp + 0x14], bl
je 0x43f228
mov dl, byte [0x45d64d]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x20]
test dl, dl
lea edx, [esp + 0x14]
je 0x43f21b
test eax, eax
jg 0x43f1fe
jl 0x43f1f5
test ecx, ecx
jae 0x43f1fe
mov byte [esp + 0x14], 0x2d
lea edx, [esp + 0x15]
mov byte [edx], 0x30
inc edx
mov byte [edx], 0x78
inc edx
test eax, eax
jg 0x43f217
jl 0x43f210
test ecx, ecx
jae 0x43f217
neg ecx
adc eax, 0
neg eax
push 0x10
jmp 0x43f21d
push 0xa
push edx
push eax
push ecx
call fcn.0044497b
add esp, 0x10
lea eax, [esp + 0x14]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f230
pop esi
pop ebp
sub eax, edx
pop ebx
add esp, 0x88
ret 4
push 0
push ebx
mov ecx, 0x45ebb8
call fcn.0043de30
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
push 0x400
jne 0x43f297
push ebx
call fcn.0043de30
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
test ebx, ebx
mov ecx, 0x45ebb8
push 0x100000
jne 0x43f297
push ebx
call fcn.0043de30
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043de30
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43f2bd
push ebx
call fcn.0043df70
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043df70
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43f2e3
push ebx
call fcn.0043dff0
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043dff0
jmp 0x43f7c5
test ebx, ebx
jne 0x43f31c
mov ecx, dword [0x45eedc]
test ecx, ecx
mov eax, 0x44f4f8
je 0x43f304
lea eax, [ecx + 8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f307
pop esi
pop ebp
sub eax, edx
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043e070
jmp 0x43f7c5
test ebx, ebx
jne 0x43f35d
mov ecx, dword [0x45eedc]
test ecx, ecx
mov eax, 0x44f4f8
je 0x43f345
lea eax, [ecx + 0x10c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f348
pop esi
pop ebp
sub eax, edx
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043e0b0
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43f388
push ebx
call fcn.0043e0f0
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.0043e0f0
jmp 0x43f7c5
test ebx, ebx
jne 0x43f3c8
mov ecx, dword [0x45eee0]
test ecx, ecx
mov eax, 0x44f4f8
je 0x43f3b0
lea eax, [ecx + 8]
lea esp, [esp]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f3b3
pop esi
pop ebp
sub eax, edx
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043e170
jmp 0x43f7c5
test ebx, ebx
jne 0x43f408
mov ecx, dword [0x45eee4]
test ecx, ecx
mov eax, 0x44f4f8
je 0x43f3f0
mov eax, ecx
lea ecx, [ecx]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f3f3
pop esi
pop ebp
sub eax, edx
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043e1b0
jmp 0x43f7c5
test ebx, ebx
je 0x43f648
push ebx
mov ecx, 0x45ebb8
call fcn.0043e1f0
jmp 0x43f7c5
test ebx, ebx
jne 0x43f455
mov eax, 0x45ede0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f440
pop esi
pop ebp
sub eax, edx
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043e290
jmp 0x43f7c5
test ebx, ebx
je 0x43f648
push ebx
mov ecx, 0x45ebb8
call fcn.0043e2d0
jmp 0x43f7c5
test ebx, ebx
jne 0x43f4a5
mov eax, 0x45ee45
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f490
pop esi
pop ebp
sub eax, edx
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043e380
jmp 0x43f7c5
test ebx, ebx
jne 0x43f4d6
mov eax, dword [0x45eeac]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f4c1
pop esi
pop ebp
sub eax, edx
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043e3c0
jmp 0x43f7c5
test ebx, ebx
jne 0x43f507
mov eax, dword [0x45eeb0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43f4f2
pop esi
pop ebp
sub eax, edx
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043e3f0
jmp 0x43f7c5
test ebx, ebx
je 0x43f648
push ebx
mov ecx, 0x45ebb8
call fcn.0043e420
jmp 0x43f7c5
test ebx, ebx
je 0x43f648
push ebx
mov ecx, 0x45ebb8
call fcn.0043e4b0
jmp 0x43f7c5
test ebx, ebx
je 0x43f788
push ebx
mov ecx, 0x45ebb8
call fcn.0043e540
jmp 0x43f7c5
test ebx, ebx
je 0x43f648
push ebx
mov ecx, 0x45ebb8
call fcn.004100f0
jmp 0x43f7c5
test ebx, ebx
mov ecx, 0x45ebb8
jne 0x43f592
push ebx
call fcn.00414c20
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4
push ebx
call fcn.00414c20
jmp 0x43f7c5
test ebx, ebx
je 0x43f788
push ebx
push ecx
mov ecx, 0x45ebb8
call fcn.0043e670
jmp 0x43f7c5
test ebx, ebx
jne 0x43f5c3
push ebx
push ebx
push str.MMMM
jmp 0x43f618
push ebx
mov ecx, 0x45ebb8
call fcn.0043e6a0
jmp 0x43f7c5
test ebx, ebx
jne 0x43f5e0
push ebx
push ebx
push 0x457888
jmp 0x43f618
push ebx
mov ecx, 0x45ebb8
call fcn.0043e6d0
jmp 0x43f7c5
test ebx, ebx
jne 0x43f5fd
push ebx
push ebx
push str.dddd
jmp 0x43f618
push ebx
mov ecx, 0x45ebb8
call fcn.0043e700
jmp 0x43f7c5
test ebx, ebx
jne 0x43f634
push ebx
push ebx
push 0x457894
push 0
push 0
push 0x400
call dword [sym.imp.KERNEL32.DLL_GetDateFormatA]
pop esi
pop ebp
dec eax
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043e730
jmp 0x43f7c5
test ebx, ebx
jne 0x43f659
pop esi
pop ebp
mov eax, 0x14
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043e560
jmp 0x43f7c5
test ebx, ebx
je 0x43f681
push ebx
mov ecx, 0x45ebb8
call fcn.0043e5d0
jmp 0x43f7c5
test ebx, ebx
jne 0x43f692
pop esi
pop ebp
mov eax, 0xe
pop ebx
add esp, 0x88
ret 4
push ebx
mov ecx, 0x45ebb8
call fcn.0043e620
jmp 0x43f7c5
test ebx, ebx
jne case.0x43eb2c.7
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x88
ret 4
test ebx, ebx
jne case.0x43eb2c.7
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x88
ret 4
test ebx, ebx
je 0x43f788
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov edx, dword [0x463248]
mov dword [0x463244], eax
sub eax, edx
cmp eax, 0x32
ja 0x43f6f5
mov eax, dword [0x463240]
test eax, eax
jne 0x43f71d
push 0x46323c
call fcn.00444bad
push 0x46323c
call fcn.00445a98
mov ecx, dword [0x463244]
add esp, 8
mov dword [0x463240], eax
mov dword [0x463248], ecx
movzx ecx, byte [ebp + 0x14]
add ecx, 0xfffffffe
cmp ecx, 0xb
ja case.0x43f72d.4
jmp dword [ecx*4 + 0x43f924]
mov edx, dword [eax + 0x14]
add edx, 0x76c
jmp 0x43f7b6
mov eax, dword [eax + 0x10]
inc eax
push eax
push 0x457940
jmp 0x43f7bc
mov ecx, dword [eax + 0xc]
push ecx
push 0x457940
jmp 0x43f7bc
mov edx, dword [eax + 8]
push edx
push 0x457940
jmp 0x43f7bc
mov eax, dword [eax + 4]
push eax
push 0x457940
jmp 0x43f7bc
mov ecx, dword [eax]
push ecx
push 0x457940
jmp 0x43f7bc
mov edx, dword [eax + 0x18]
jmp 0x43f7b5
test ebx, ebx
jne 0x43f7b2
mov eax, dword [eax + 0x1c]
inc eax
cmp eax, 0xa
jge 0x43f799
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x88
ret 4
xor ecx, ecx
cmp eax, 0x64
setge cl
pop esi
pop ebp
pop ebx
add ecx, 2
mov eax, ecx
add esp, 0x88
ret 4
mov edx, dword [eax + 0x1c]
inc edx
push edx
push 0x44f694
push ebx
call fcn.00444ff0
add esp, 0xc
add ebx, eax
mov ecx, dword [esp + 0x10]
mov eax, ebx
mov byte [ebx], 0
sub eax, ecx
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4