Function at 0x40145a
Capabilities:
Query environment variable

Disassembly:
push ebp
lea ebp, [esp - 0xe4]
sub esp, 0x164
mov eax, dword [0x404004]
xor eax, ebp
mov dword [ebp + 0xe0], eax
mov eax, dword [ebp + 0xf4]
push ebx
mov ebx, dword [ebp + 0xf0]
push esi
push edi
xor edi, edi
push str.XUL_APP_FILE
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], edi
call dword [sym.imp.MSVCR100.dll_getenv]
mov esi, eax
pop ecx
cmp esi, edi
je 0x4014ef
cmp byte [esi], 0
je 0x4014ef
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], edi
cmp eax, edi
je 0x4014b3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x28]
push eax
push esi
call dword [0x404040]
shr eax, 0x1f
pop ecx
pop ecx
test al, 1
je 0x4015c6
push esi
push str.Invalid_path_found:__s
call fcn.004011f7
pop ecx
pop ecx
mov eax, dword [ebp - 0x28]
cmp eax, edi
je 0x4014e5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0xff
jmp 0x401719
cmp dword [ebp + 0xec], 1
jle 0x4015c6
mov eax, dword [ebx + 4]
mov cl, byte [eax]
cmp cl, 0x2d
jne 0x401522
inc eax
cmp byte [eax], cl
jne 0x40150c
inc eax
push 0x4034b0
push eax
call dword [sym.imp.MSVCR100.dll__stricmp]
neg eax
pop ecx
sbb al, al
pop ecx
inc al
jmp 0x401529
cmp cl, 0x2f
je 0x40150b
xor al, al
test al, al
je 0x4015c6
cmp dword [ebp + 0xec], 2
jne 0x401546
push str.Incorrect_number_of_arguments_passed_to__app
call fcn.004011f7
jmp 0x4014d7
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], edi
cmp eax, edi
je 0x401556
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 8]
call dword [0x404040]
pop ecx
shr eax, 0x1f
pop ecx
push dword [ebx + 8]
test al, 1
je 0x401585
push str.application.ini_path_not_recognized:__s
call fcn.004011f7
mov eax, dword [ebp - 0x28]
pop ecx
pop ecx
test eax, eax
jmp 0x4014dd
push str.XUL_APP_FILE_s
lea eax, [ebp - 0x24]
push 0x104
push eax
call dword [sym.imp.MSVCR100.dll__snprintf]
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.MSVCR100.dll__putenv]
add esp, 0x14
test eax, eax
je 0x4015b5
lea eax, [ebp - 0x24]
push eax
push str.Couldnt_set__s._n
jmp 0x401574
mov eax, dword [ebx]
sub dword [ebp + 0xec], 2
mov dword [ebx + 8], eax
add ebx, 8
xor edi, edi
cmp dword [ebp - 0x28], edi
je 0x40161d
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x28]
call dword [0x40402c]
shr eax, 0x1f
pop ecx
pop ecx
test al, 1
je 0x4015eb
push str.Couldnt_read_application.ini
jmp 0x40153f
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
push edi
mov dword [eax + 0x24], ecx
push dword [ebp - 0x2c]
push ebx
push dword [ebp + 0xec]
call dword [0x40403c]
push dword [ebp - 0x2c]
mov esi, eax
call dword [0x404034]
mov eax, dword [ebp - 0x28]
add esp, 0x14
cmp eax, edi
jmp 0x40170f
push 0x4032e8
lea ecx, [ebp - 0x80]
call fcn.00401f29
lea eax, [ebp - 0x34]
push eax
push dword [ebx]
mov dword [ebp - 0x34], edi
call fcn.00401392
shr eax, 0x1f
pop ecx
pop ecx
test al, 1
je 0x401666
push str.Couldnt_find_the_application_directory._n
call fcn.004011f7
mov eax, dword [ebp - 0x34]
pop ecx
cmp eax, edi
je 0x401659
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x80]
call fcn.00402003
jmp 0x4014d8
mov dword [ebp - 0x30], edi
mov edi, dword [ebp - 0x34]
mov eax, dword [edi]
lea ecx, [ebp - 0x30]
push ecx
push edi
call dword [eax + 0xbc]
mov eax, dword [ebp - 0x30]
and dword [ebp - 0x2c], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0xb0]
mov esi, dword [ebp - 0x2c]
push 2
push 7
lea eax, [ebp - 0x44]
push str.browser
push eax
call fcn.00401ca2
mov eax, dword [esi]
add esp, 0x10
lea ecx, [ebp - 0x44]
push ecx
push esi
call dword [eax + 0xc]
lea eax, [ebp - 0x44]
push eax
call fcn.00401cb3
push dword [ebp - 0x2c]
lea eax, [ebp - 0x7c]
push eax
call fcn.0040136c
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x5c], eax
push 0
lea eax, [ebp - 0x80]
push eax
push ebx
push dword [ebp + 0xec]
call dword [0x40403c]
mov esi, eax
mov eax, dword [ebp - 0x2c]
add esp, 0x1c
test eax, eax
je 0x4016ef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4016fc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0x80]
call fcn.00402003
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x401717
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
mov ecx, dword [ebp + 0xe0]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004024b7
add ebp, 0xe4
leave
ret