Function at 0x40d8ce
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc8
mov eax, dword [0x52efc0]
mov edi, str.CRASH_CAUSED_BY_MS_IME
xor eax, ebp
mov dword [esp + 0xc0], eax
push edi
call fcn.004ceea0
add esp, 4
lea esi, [esp + 0x30]
push eax
push edi
push esi
call fcn.00446d20
add esp, 0xc
xor ebx, ebx
cmp byte [esi + 0xb], bl
jns 0x40d913
mov esi, dword [esp + 0x30]
push ebx
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp byte [esp + 0x3b], bl
mov esi, eax
jns 0x40d930
push dword [esp + 0x30]
call fcn.004aeac6
add esp, 4
test esi, esi
je 0x40da08
lea edi, [esp + 0x18]
push edi
call fcn.00430070
add esp, 4
mov esi, dword [edi]
mov ebx, str.CRASH_CAUSED_BY_MS_IME
push ebx
call fcn.004ceea0
add esp, 4
mov edx, dword [esi]
mov ecx, esi
push eax
push ebx
call dword [edx + 0x10]
mov esi, dword [edi]
mov edi, str.CHROME_CRASHED
push edi
call fcn.004ceea0
add esp, 4
mov edx, dword [esi]
mov ecx, esi
push eax
push edi
call dword [edx + 0x10]
push 0x31
push 0x4e2f3c
push 0x4e2f4e
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 1
jne 0x40dd27
lea esi, [esp + 0xb4]
mov ecx, esi
call fcn.0042cb10
push esi
call fcn.004325a0
add esp, 4
test al, al
je 0x40dc8d
lea edi, [esp + 0x98]
mov ecx, edi
push esi
call fcn.0042c440
lea esi, [esp + 0x88]
mov ecx, esi
push 0x4e2f9c
call fcn.00402d2c
mov ecx, edi
push esi
call fcn.0042dc20
lea ebx, [esp + 0x30]
mov ecx, ebx
call fcn.00440780
lea esi, [esp + 0x80]
push ebx
push edi
push esi
call fcn.00440830
add esp, 0xc
mov ecx, esi
call fcn.0040e9a0
mov ecx, ebx
jmp 0x40dcee
mov edi, str.CRASH_CAUSED_BY_IME
push edi
call fcn.004ceea0
add esp, 4
lea esi, [esp + 0x30]
push eax
push edi
push esi
call fcn.00446d20
add esp, 0xc
xor ebx, ebx
cmp byte [esi + 0xb], bl
jns 0x40da30
mov esi, dword [esp + 0x30]
push ebx
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp byte [esp + 0x3b], bl
mov edi, eax
jns 0x40da4d
push dword [esp + 0x30]
call fcn.004aeac6
add esp, 4
test edi, edi
je 0x40dd4a
mov eax, edi
inc eax
xor ecx, ecx
dec ecx
add eax, eax
cmovb eax, ecx
push eax
call fcn.004aeaf3
add esp, 4
mov esi, str.CRASH_CAUSED_BY_IME
mov dword [esp], eax
push esi
call fcn.004ceea0
add esp, 4
lea ebx, [esp + 0x30]
push eax
push esi
push ebx
call fcn.00446d20
add esp, 0xc
xor eax, eax
cmp byte [ebx + 0xb], al
jns 0x40da94
mov ebx, dword [esp + 0x30]
push edi
mov esi, dword [esp + 4]
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
xor eax, eax
cmp byte [esp + 0x3b], al
jns 0x40dab5
push dword [esp + 0x30]
call fcn.004aeac6
add esp, 4
mov word [esi + edi*2], 0
lea esi, [esp + 0x24]
push esi
call fcn.00430070
add esp, 4
mov edi, dword [esi]
mov ebx, str.CRASH_CAUSED_BY_IME
push ebx
call fcn.004ceea0
add esp, 4
mov edx, dword [edi]
mov ecx, edi
push eax
push ebx
call dword [edx + 0x10]
mov edi, dword [esi]
mov esi, str.CHROME_CRASHED
push esi
call fcn.004ceea0
add esp, 4
mov edx, dword [edi]
mov ecx, edi
push eax
push esi
call dword [edx + 0x10]
lea edi, [esp + 0xb4]
mov ecx, edi
push dword [esp]
call fcn.00402d2c
xor eax, eax
mov ecx, dword [edi + 4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], eax
mov al, byte [edi + 0xb]
movzx edx, al
test al, al
mov esi, edx
cmovs esi, ecx
cmp esi, 6
jne 0x40db67
lea ecx, [esp + 0xb4]
push 6
push str.dx_ime
push 0xffffffffffffffff
push 0
call fcn.004290ca
test eax, eax
je 0x40dda3
mov al, byte [esp + 0xbf]
mov ecx, dword [esp + 0xb8]
movzx edx, al
test al, al
mov esi, edx
cmovs esi, ecx
cmp esi, 0xa
jne 0x40dba3
lea ecx, [esp + 0xb4]
push 0xa
push str.sulang_ime
push 0xffffffffffffffff
push 0
call fcn.004290ca
test eax, eax
je 0x40ddad
mov al, byte [esp + 0xbf]
mov ecx, dword [esp + 0xb8]
movzx edx, al
test al, al
mov esi, edx
cmovs esi, ecx
cmp esi, 9
jne 0x40dbdf
lea ecx, [esp + 0xb4]
push 9
push str.jipin_ime
push 0xffffffffffffffff
push 0
call fcn.004290ca
test eax, eax
je 0x40ddb7
mov al, byte [esp + 0xbf]
mov ecx, dword [esp + 0xb8]
movzx edx, al
test al, al
mov esi, edx
cmovs esi, ecx
cmp esi, 6
jne 0x40dc1b
lea ecx, [esp + 0xb4]
push 6
push str.wn_ime
push 0xffffffffffffffff
push 0
call fcn.004290ca
test eax, eax
je 0x40ddc1
mov al, byte [esp + 0xbf]
mov ecx, dword [esp + 0xb8]
movzx edx, al
test al, al
mov esi, edx
cmovs esi, ecx
cmp esi, 0xe
mov esi, dword [esp]
jne 0x40dc5a
lea ecx, [esp + 0xb4]
push 0xe
push str.xiaochenpy_ime
push 0xffffffffffffffff
push 0
call fcn.004290ca
test eax, eax
je 0x40ddcb
mov al, byte [esp + 0xbf]
mov ecx, dword [esp + 0xb8]
movzx edx, al
test al, al
cmovs edx, ecx
cmp edx, 8
jne 0x40dc83
lea ecx, [esp + 0xb4]
push 8
push str.sppy_ime
push 0xffffffffffffffff
push 0
call fcn.004290ca
test eax, eax
je 0x40ddd2
mov eax, 0x4e3146
jmp 0x40ddd7
call fcn.0042ca80
lea esi, [esp + 0x30]
mov ecx, eax
push esi
call fcn.0042ce00
lea edi, [esp + 0x98]
mov ecx, edi
push esi
call fcn.0042c440
mov ecx, esi
call fcn.0042cba0
lea ebx, [esp + 0x88]
mov ecx, ebx
push str.http:__download.microsoft.com_download_F_F_F_FFFECF33_D8A0_4949_838B_703FF05E58CA_IME2010_zh_cn.exe
call fcn.00402d2c
mov ecx, edi
push ebx
call fcn.0042dc20
mov ecx, esi
call fcn.00440780
lea ebx, [esp + 0x28]
push esi
push edi
push ebx
call fcn.00440830
add esp, 0xc
mov ecx, ebx
call fcn.0040e9a0
mov ecx, esi
call fcn.00440800
lea eax, [esp + 0x88]
cmp byte [eax + 0xb], 0
jns 0x40dd0f
push dword [esp + 0x88]
call fcn.004aeac6
add esp, 4
lea ecx, [esp + 0x98]
call fcn.0042c790
lea ecx, [esp + 0xb4]
call fcn.0042cba0
mov eax, dword [ebp + 8]
mov byte [eax], 1
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x40df45
mov eax, dword [ecx]
push 1
call dword [eax]
jmp 0x40df45
lea edi, [esp + 0x30]
mov ecx, edi
push str.chrome_elf.dll
call fcn.00402d2c
push 0
push edi
call fcn.0040d89a
add esp, 8
cmp byte [edi + 0xb], 0
mov esi, eax
jns 0x40dd79
push dword [esp + 0x30]
call fcn.004aeac6
add esp, 4
test esi, esi
je 0x40dd9c
push str.SignalIfShowCrashDialog
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40dd9c
push dword [ebp + 8]
call eax
add esp, 4
mov ebx, eax
jmp 0x40df47
xor ebx, ebx
jmp 0x40df47
mov esi, dword [esp]
mov eax, 0x4e3096
jmp 0x40ddd7
mov esi, dword [esp]
mov eax, 0x4e30b8
jmp 0x40ddd7
mov esi, dword [esp]
mov eax, 0x4e30d8
jmp 0x40ddd7
mov esi, dword [esp]
mov eax, 0x4e30f2
jmp 0x40ddd7
mov eax, 0x4e311c
jmp 0x40ddd7
mov eax, 0x4e313a
lea ebx, [esp + 0x88]
mov ecx, ebx
push eax
call fcn.00428a50
lea edi, [esp + 0x30]
push ebx
push 0x4e31ae
push edi
call fcn.0040d191
add esp, 0xc
mov ecx, edi
push 0x4e314e
call fcn.004288d4
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
xor ecx, ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x18], xmm0
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax], ecx
cmp byte [edi + 0xb], 0
jns 0x40de32
push dword [esp + 0x30]
call fcn.004aeac6
add esp, 4
push esi
call fcn.004aeafc
add esp, 4
cmp byte [esp + 0x23], 0
jns 0x40de48
mov eax, dword [esp + 0x18]
jmp 0x40de4c
lea eax, [esp + 0x18]
push 0x31
push 0x4e2f3c
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 1
jne 0x40dee6
call fcn.0042ca80
mov ecx, eax
push edi
call fcn.0042ce00
lea esi, [esp + 0x98]
mov ecx, esi
push edi
call fcn.0042c440
mov ecx, edi
call fcn.0042cba0
lea ebx, [esp + 0xc]
mov ecx, ebx
push str.http:__bbs.360safe.com_thread_4452447_1_1.html
call fcn.00402d2c
mov ecx, esi
push ebx
call fcn.0042dc20
mov ecx, edi
call fcn.00440780
lea ebx, [esp + 4]
push edi
push esi
push ebx
call fcn.00440830
add esp, 0xc
mov ecx, ebx
call fcn.0040e9a0
mov ecx, edi
call fcn.00440800
lea eax, [esp + 0xc]
cmp byte [eax + 0xb], 0
jns 0x40deda
push dword [esp + 0xc]
call fcn.004aeac6
add esp, 4
lea ecx, [esp + 0x98]
call fcn.0042c790
cmp byte [esp + 0x23], 0
jns 0x40def9
push dword [esp + 0x18]
call fcn.004aeac6
add esp, 4
cmp byte [esp + 0x93], 0
jns 0x40df12
push dword [esp + 0x88]
call fcn.004aeac6
add esp, 4
cmp byte [esp + 0xbf], 0
jns 0x40df2b
push dword [esp + 0xb4]
call fcn.004aeac6
add esp, 4
mov ecx, dword [esp + 0x24]
xor eax, eax
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x40df3f
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebp + 8]
mov byte [eax], 1
mov bl, 1
mov ecx, dword [esp + 0xc0]
xor ecx, ebp
call fcn.004aeb01
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret