Function at 0x4314b1
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x59ece0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x58], eax
mov eax, str.CHROME_CRASHED
mov dword [ebp - 0x44], eax
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4314d2
sub eax, ecx
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00412320
cmp dword [eax + 0x14], 8
pop ecx
pop ecx
jb 0x4314f5
mov eax, dword [eax]
push ebx
push edi
xor edi, edi
push edi
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ebx, eax
push edi
neg ebx
push 1
lea ecx, [ebp - 0x20]
sbb bl, bl
call fcn.00405df0
inc bl
je 0x431527
xor al, al
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.0049d4b1
leave
ret
push esi
call fcn.0040cca0
mov ecx, str.type
mov ebx, eax
mov eax, ecx
mov dword [ebp - 0xc], 0xf
mov dword [ebp - 0x10], edi
mov byte [ebp - 0x20], 0
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x431547
sub eax, esi
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.00402920
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x3c]
push eax
mov ecx, ebx
call fcn.0040d470
push edi
push 1
lea ecx, [ebp - 0x20]
call fcn.00402720
cmp dword [ebp - 0x2c], edi
je 0x43158b
xor bl, bl
push edi
push 1
lea ecx, [ebp - 0x3c]
call fcn.00402720
mov al, bl
pop esi
jmp 0x431519
mov esi, str.CHROME_RESTART
mov eax, esi
mov dword [ebp - 0x44], esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x431598
sub eax, edx
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00412320
cmp dword [eax + 0x14], 8
pop ecx
pop ecx
jb 0x4315bb
mov eax, dword [eax]
push edi
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
push 0
push 1
lea ecx, [ebp - 0x20]
mov edi, eax
call fcn.00405df0
test edi, edi
jne 0x4315dc
mov bl, 1
xor edi, edi
jmp 0x43157b
xor ecx, ecx
push 2
pop edx
lea eax, [edi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0049ca06
mov ebx, eax
mov eax, esi
mov dword [ebp - 0x44], esi
pop ecx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4315fe
sub eax, esi
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00412320
cmp dword [eax + 0x14], 8
pop ecx
pop ecx
jb 0x431621
mov eax, dword [eax]
push edi
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
xor esi, esi
push esi
push 1
lea ecx, [ebp - 0x20]
call fcn.00405df0
xor eax, eax
mov word [ebx + edi*2], ax
push ebx
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], esi
call fcn.004059e0
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x20]
push 0x7c
push eax
call fcn.004145f0
add esp, 0xc
push esi
push 1
lea ecx, [ebp - 0x20]
call fcn.00405df0
push ebx
call fcn.0049d97d
mov eax, dword [ebp - 0x50]
pop ecx
mov ecx, dword [ebp - 0x54]
sub eax, ecx
push 0x1c
cdq
pop esi
idiv esi
cmp eax, 3
jae 0x431693
lea ecx, [ebp - 0x54]
call fcn.00409240
jmp 0x4315d6
mov eax, str.RIGHT_TO_LEFT
push 0x31
pop edi
mov dword [ebp - 0x44], eax
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4316a1
sub eax, esi
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x20]
push eax
lea esi, [ecx + 0x38]
call fcn.00412320
pop ecx
pop ecx
push eax
mov ecx, esi
call fcn.00409360
mov ebx, eax
push 0
neg ebx
push 1
lea ecx, [ebp - 0x20]
sbb bl, bl
call fcn.00405df0
inc bl
je 0x4316e2
mov edi, 0x180031
mov eax, dword [ebp - 0x54]
cmp dword [eax + 0x14], 8
jb 0x4316ef
mov ecx, dword [eax]
jmp 0x4316f1
mov ecx, eax
add eax, 0x1c
cmp dword [eax + 0x14], 8
jb 0x4316fc
mov eax, dword [eax]
push dword [ebp - 0x58]
push edi
push ecx
push eax
call fcn.0042ff75
add esp, 0x10
lea ecx, [ebp - 0x54]
mov bl, al
call fcn.00409240
jmp 0x4315d8