Function at 0x1002b3d0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a57d7
mov eax, dword fs:[0]
push eax
sub esp, 0x4f8
mov eax, dword [0x100d10d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x458], ecx
mov esi, dword [ebp + 8]
mov dword [ebp - 0x46c], 0
mov dword [ebp - 0x444], esi
push dword [esi]
push str.CRunTray_enter_app_s
call fcn.1000d740
lea eax, [ebp - 0x440]
push eax
call fcn.1003c060
add esp, 0xc
mov dword [ebp - 4], 0
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x431], al
mov dword [ebp - 4], 0xffffffff
or edi, 0xffffffff
mov edx, dword [ebp - 0x43c]
mov dword [ebp - 0x44c], edx
test edx, edx
je 0x1002b484
mov ecx, edi
lock xadd dword [edx + 4], ecx
jne 0x1002b484
mov eax, dword [edx]
mov ecx, edx
call dword [eax]
mov ecx, dword [ebp - 0x44c]
mov eax, edi
lock xadd dword [ecx + 8], eax
jne 0x1002b484
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x431], 0
je 0x1002b535
lea eax, [ebp - 0x440]
push eax
call fcn.1003c060
add esp, 4
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x504]
mov eax, dword [eax]
mov dword [ebp - 0x44c], eax
call fcn.1000aa80
mov edi, eax
mov byte [ebp - 4], 2
push str.CRunTray_enter_app
push edi
call fcn.1000ca10
mov edx, dword [esi]
test edx, edx
mov esi, 0x100adaac
cmovne esi, edx
push esi
push edi
call fcn.10008960
mov ecx, dword [ebp - 0x44c]
add esp, 0x10
mov eax, dword [ecx]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x504]
call fcn.1000cc10
mov dword [ebp - 4], 0xffffffff
or edi, 0xffffffff
mov esi, dword [ebp - 0x43c]
test esi, esi
je 0x1002b52f
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x1002b52f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x1002b52f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x444]
lea eax, [ebp - 0x464]
push eax
call fcn.1002aee0
mov ecx, eax
call fcn.1001c370
mov dword [ebp - 4], 4
push dword [ebp - 0x464]
push str.current_product_nick_name:_s
call fcn.1000d740
push dword [esi + 8]
call fcn.10040710
push dword [esi + 0x10]
push dword [esi + 0xc]
push eax
lea eax, [ebp - 0x44c]
push eax
call fcn.10040460
add esp, 0x1c
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x458]
push eax
call fcn.1001a9d0
mov byte [ebp - 4], 4
mov eax, edi
mov edx, dword [ebp - 0x44c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002b5ae
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x458]
push dword [eax]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1002b6c6
lea eax, [ebp - 0x440]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 7
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x431], al
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x43c]
test esi, esi
je 0x1002b619
mov ecx, edi
lock xadd dword [esi + 4], ecx
jne 0x1002b619
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x1002b613
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x431]
test al, al
je 0x1002c835
lea eax, [ebp - 0x440]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x504]
mov edi, dword [eax]
call fcn.1000aa80
mov esi, eax
mov byte [ebp - 4], 9
push str.no_exists__runtray_rootdir:
push esi
call fcn.10008960
mov eax, dword [ebp - 0x458]
mov edx, dword [eax]
test edx, edx
mov eax, 0x100adaac
cmovne eax, edx
push eax
push esi
call fcn.10008960
mov eax, dword [edi]
add esp, 0x10
mov ecx, edi
push esi
call dword [eax + 8]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x504]
call fcn.1000cc10
mov byte [ebp - 4], 4
or edi, 0xffffffff
mov esi, dword [ebp - 0x43c]
test esi, esi
je 0x1002c835
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x1002c835
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x1002c835
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
jmp 0x1002c835
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.1006e460
mov eax, dword [ebp - 0x458]
add esp, 0xc
push dword [esi + 0x14]
push dword [eax]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1002b7d2
lea eax, [ebp - 0x440]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 0xb
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x431], al
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x43c]
test esi, esi
je 0x1002b75e
mov ecx, edi
lock xadd dword [esi + 4], ecx
jne 0x1002b75e
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x1002b758
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x431]
test al, al
je 0x1002c835
lea eax, [ebp - 0x440]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x504]
mov edi, dword [eax]
call fcn.1000aa80
mov esi, eax
mov byte [ebp - 4], 0xd
push str.runtray_app__not_exist_file:
push esi
call fcn.10008960
lea eax, [ebp - 0x218]
push eax
push esi
call fcn.10008960
mov eax, dword [edi]
add esp, 0x10
mov ecx, edi
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x504]
call fcn.1000cc10
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x440]
call fcn.1000bc10
jmp 0x1002c832
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x44c], 0
cmp dword [eax - 0xc], 0
je 0x1002b94d
call fcn.1000db70
mov ecx, eax
test ecx, ecx
je 0x1002c8e7
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x438], eax
mov byte [ebp - 4], 0x10
call fcn.1000db70
mov ecx, eax
test ecx, ecx
je 0x1002c8f1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x448], eax
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x448]
call fcn.10025710
test al, al
jne 0x1002b882
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1002b860
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x448]
call fcn.10014ae0
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x448]
push eax
call fcn.1002aa70
add esp, 8
mov byte [ebp - 4], 0x10
mov eax, edi
mov edx, dword [ebp - 0x448]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002b8bd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [esi + 0x50]
push dword [ebp - 0x438]
call fcn.1003eff0
add esp, 8
test eax, eax
jns 0x1002b92c
push str.runtray_oldver
call fcn.1000d740
add esp, 4
lea ecx, [ebp - 0x448]
push str.lah_oldver
call fcn.1000a1a0
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x448]
push 0
push esi
push eax
call fcn.10025840
mov ecx, eax
call fcn.10039e40
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x448]
call fcn.1000b530
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x438]
call fcn.1000b530
jmp 0x1002c4be
mov byte [ebp - 4], 4
mov eax, edi
mov edx, dword [ebp - 0x438]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002b94d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x458]
push esi
call fcn.1002a8b0
test eax, eax
jne 0x1002b9a8
push str.runtray_disabled
call fcn.1000d740
add esp, 4
lea ecx, [ebp - 0x438]
push str.lah_disabled
call fcn.1000a1a0
mov byte [ebp - 4], 0x16
push 0
lea eax, [ebp - 0x438]
push esi
push eax
call fcn.10025840
mov ecx, eax
call fcn.10039e40
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x438]
call fcn.1000b530
jmp 0x1002c4be
cmp dword [esi + 0x38], 0
je 0x1002ba29
lea eax, [esi + 0x18]
push eax
call fcn.1003dd60
add esp, 4
test eax, eax
jne 0x1002b9e1
push str.runtray_qg
call fcn.1000d740
add esp, 4
lea ecx, [ebp - 0x438]
push str.lah_qg
call fcn.1000a1a0
mov byte [ebp - 4], 0x17
jmp 0x1002b97e
mov eax, dword [esi + 0x1c]
cmp dword [eax - 0xc], 0
je 0x1002ba29
call fcn.1002b0e0
test eax, eax
je 0x1002ba29
lea eax, [esi + 0x1c]
push eax
call fcn.1003dd60
add esp, 4
test eax, eax
jne 0x1002ba29
push str.runtray_qg
call fcn.1000d740
add esp, 4
lea ecx, [ebp - 0x438]
push str.lah_qg
call fcn.1000a1a0
mov byte [ebp - 4], 0x18
jmp 0x1002b97e
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call fcn.1003f800
add esp, 4
test eax, eax
je 0x1002baad
push str.runtray_alive
call fcn.1000d740
add esp, 4
lea ecx, [ebp - 0x438]
push str.lah_alive
call fcn.1000a1a0
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x438]
push 0
push esi
push eax
call fcn.10025840
mov ecx, eax
call fcn.10039e40
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x438]
call fcn.1000b530
push dword [ebp - 0x464]
mov ecx, esi
call fcn.1002aa40
test eax, eax
jne 0x1002c4be
mov dword [ebp - 0x44c], 1
jmp 0x1002c4be
lea eax, [ebp - 0x440]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x440], xmm0
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
xorps xmm0, xmm0
mov eax, 1
movups xmmword [ebp - 0x430], xmm0
mov word [ebp - 0x42a], ax
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x430]
movlpd qword [ebp - 0x454], xmm0
push eax
mov dword [ebp - 0x430], 0x107b2
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov ecx, dword [ebp - 0x440]
sub ecx, dword [ebp - 0x454]
mov eax, dword [ebp - 0x43c]
sbb eax, dword [ebp - 0x450]
push 0
push 0x989680
push eax
push ecx
call fcn.10061ed0
push dword [esi + 0x40]
mov dword [ebp - 0x448], eax
push 0
push 0x100aee40
call fcn.1002b2b0
imul edx, dword [esi + 4], 0x15180
mov ecx, dword [ebp - 0x448]
sub ecx, eax
cmp ecx, edx
jae 0x1002bb75
push str.runtray_dayslimit
call fcn.1000d740
add esp, 4
lea ecx, [ebp - 0x438]
push str.lah_dayslimit
call fcn.1000a1a0
mov byte [ebp - 4], 0x1a
jmp 0x1002b97e
cmp dword [esi + 0x34], 0
je 0x1002be63
lea eax, [esi + 0x18]
push eax
call fcn.1003d4f0
add esp, 4
test eax, eax
jne 0x1002bd27
mov eax, dword [ebp - 0x458]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002be73
push esi
call fcn.1000eb40
test eax, eax
je 0x1002be73
call fcn.1000db70
mov ecx, eax
test ecx, ecx
je 0x1002c8fb
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x438], eax
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x438]
push str.lah_force
call fcn.10025710
test al, al
jne 0x1002bbfb
push 9
push str.lah_force
lea ecx, [ebp - 0x438]
call fcn.10014ae0
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x438]
push 0
push esi
push eax
call fcn.10025840
mov ecx, eax
call fcn.10039e40
mov byte [ebp - 4], 4
mov eax, edi
mov edx, dword [ebp - 0x438]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002bc36
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x100af060
call fcn.1000d740
lea eax, [ebp - 0x440]
push eax
call fcn.1003c060
add esp, 8
mov byte [ebp - 4], 0x1e
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x431], al
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x43c]
mov dword [ebp - 0x438], edx
test edx, edx
je 0x1002bc99
mov ecx, edi
lock xadd dword [edx + 4], ecx
jne 0x1002bc99
mov eax, dword [edx]
mov ecx, edx
call dword [eax]
mov ecx, dword [ebp - 0x438]
mov eax, edi
lock xadd dword [ecx + 8], eax
jne 0x1002bc99
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x431], 0
je 0x1002bd27
lea eax, [ebp - 0x440]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x504]
mov edi, dword [eax]
call fcn.1000aa80
mov esi, eax
mov byte [ebp - 4], 0x20
push str.runtray_rescue
push esi
call fcn.1000ca10
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 8]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x504]
call fcn.1000cc10
mov byte [ebp - 4], 4
or edi, 0xffffffff
mov esi, dword [ebp - 0x43c]
test esi, esi
je 0x1002bd21
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x1002bd21
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x1002bd21
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x444]
mov eax, dword [esi + 0x1c]
cmp dword [eax - 0xc], 0
je 0x1002be63
call fcn.1002b0e0
test eax, eax
je 0x1002be63
lea eax, [esi + 0x1c]
push eax
call fcn.1003d4f0
add esp, 4
test eax, eax
jne 0x1002be63
mov eax, dword [ebp - 0x458]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002be99
push esi
call fcn.1000eb40
test eax, eax
je 0x1002be99
push str.lah_force
lea ecx, [ebp - 0x438]
call fcn.1000a1a0
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x438]
push 0
push esi
push eax
call fcn.10025840
mov ecx, eax
call fcn.10039e40
mov byte [ebp - 4], 4
mov eax, edi
mov edx, dword [ebp - 0x438]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002bdbf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x100af060
call fcn.1000d740
lea eax, [ebp - 0x440]
push eax
call fcn.1003c060
add esp, 8
mov byte [ebp - 4], 0x25
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x431], al
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x440]
call fcn.1000bc10
cmp byte [ebp - 0x431], 0
je 0x1002be63
lea eax, [ebp - 0x440]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x504]
mov edi, dword [eax]
call fcn.1000aa80
mov esi, eax
mov byte [ebp - 4], 0x27
push str.runtray_rescue
push esi
call fcn.1000ca10
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 8]
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x504]
call fcn.1000cc10
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x440]
call fcn.1000bc10
mov esi, dword [ebp - 0x444]
mov eax, dword [ebp - 0x464]
test eax, eax
je 0x1002c905
jmp 0x1002bebf
push str.runtray_safe
call fcn.1000d740
add esp, 4
lea ecx, [ebp - 0x438]
push str.lah_safe
call fcn.1000a1a0
mov byte [ebp - 4], 0x22
jmp 0x1002b97e
push str.runtray_safe
call fcn.1000d740
add esp, 4
lea ecx, [ebp - 0x438]
push str.lah_safe
call fcn.1000a1a0
mov byte [ebp - 4], 0x29
jmp 0x1002b97e
push eax
push dword [esi]
call fcn.10075f0f
add esp, 8
test eax, eax
jne 0x1002bfb5
lea eax, [ebp - 0x440]
mov dword [ebp - 0x468], 1
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 0x2a
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x431], al
mov byte [ebp - 4], 4
mov edi, dword [ebp - 0x43c]
test edi, edi
je 0x1002bf34
or esi, 0xffffffff
mov ecx, esi
lock xadd dword [edi + 4], ecx
jne 0x1002bf34
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1002bf2e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov al, byte [ebp - 0x431]
test al, al
je 0x1002bfb5
lea eax, [ebp - 0x440]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x504]
mov edi, dword [eax]
call fcn.1000aa80
mov esi, eax
mov byte [ebp - 4], 0x2c
push str.current_tray_will_run
push esi
call fcn.1000ca10
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 8]
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x504]
call fcn.1000cc10
mov byte [ebp - 4], 4
or edi, 0xffffffff
mov esi, dword [ebp - 0x43c]
test esi, esi
je 0x1002bfb8
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x1002bfb8
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x1002bfb8
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
jmp 0x1002bfb8
or edi, 0xffffffff
mov esi, dword [ebp - 0x444]
push dword [esi + 0x40]
push dword [ebp - 0x448]
push 0x100aee40
call fcn.1002b1a0
push dword [esi + 0x40]
push 0
push 0x100aee38
call fcn.1002b1a0
call fcn.1000db70
mov ecx, eax
test ecx, ecx
je 0x1002c90f
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x448], eax
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x454]
push eax
mov byte [ebp - 0x431], 0
call fcn.10042189
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x454]
mov dword [ebp - 0x460], eax
lea eax, [ebp - 0x431]
mov dword [ebp - 0x45c], eax
lea eax, [ebp - 0x460]
push eax
push 0x10009040
push 0x100d24dc
call fcn.10042e51
add esp, 0x10
test eax, eax
je 0x1002c8ac
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x454]
push eax
call fcn.100421c3
mov ecx, dword [0x100d24d8]
lea eax, [ebp - 0x438]
add esp, 4
push eax
call fcn.1001c3e0
mov byte [ebp - 4], 0x32
push dword [eax]
lea eax, [ebp - 0x448]
push str._frmsvc__autorun___fromsvc___src_s
push eax
call fcn.1000da40
add esp, 0xc
mov byte [ebp - 4], 0x2f
mov eax, edi
mov edx, dword [ebp - 0x438]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002c0b3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x454]
mov byte [ebp - 0x431], 0
push eax
call fcn.10042189
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x454]
mov dword [ebp - 0x460], eax
lea eax, [ebp - 0x431]
mov dword [ebp - 0x45c], eax
lea eax, [ebp - 0x460]
push eax
push 0x10024a40
push 0x100d345c
call fcn.10042e51
add esp, 0x10
test eax, eax
je 0x1002c890
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x454]
push eax
call fcn.100421c3
mov ecx, dword [0x100d3458]
lea eax, [ebp - 0x218]
add esp, 4
push eax
call fcn.10018610
mov esi, dword [ebp - 0x448]
test eax, eax
je 0x1002c150
lea eax, [ebp - 0x438]
mov dword [ebp - 0x438], 0
push eax
push esi
lea eax, [ebp - 0x218]
push eax
call fcn.10027180
lea eax, [ebp - 0x440]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 0x36
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x431], al
mov byte [ebp - 4], 0x2f
mov edx, dword [ebp - 0x43c]
mov dword [ebp - 0x438], edx
test edx, edx
je 0x1002c1a9
mov ecx, edi
lock xadd dword [edx + 4], ecx
jne 0x1002c1a9
mov eax, dword [edx]
mov ecx, edx
call dword [eax]
mov ecx, dword [ebp - 0x438]
mov eax, edi
lock xadd dword [ecx + 8], eax
jne 0x1002c1a9
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x431], 0
je 0x1002c3b8
lea eax, [ebp - 0x428]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 0x37
mov eax, dword [eax]
mov dword [ebp - 0x45c], eax
lea eax, [ebp - 0x504]
mov dword [ebp - 0x450], eax
lea eax, [ebp - 0x4b4]
mov dword [ebp - 0x504], 0x100ada9c
mov dword [ebp - 0x438], eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
mov byte [ebp - 4], 0x38
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
mov byte [ebp - 4], 0x39
lea eax, [ebp - 0x500]
push 0
push 0
push eax
lea ecx, [ebp - 0x504]
mov dword [ebp - 0x46c], 1
call fcn.1000a300
mov dword [ebp - 4], 0x3a
mov eax, dword [ebp - 0x504]
push 8
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0x504]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x508], eax
lea eax, [ebp - 0x500]
mov dword [ebp - 0x43c], eax
mov dword [ebp - method.std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__.0
call fcn.10061b12
add esp, 4
mov dword [ebp - 0x438], eax
test eax, eax
je 0x1002c29c
push 1
call fcn.10042928
mov ecx, dword [ebp - 0x438]
add esp, 4
mov dword [ecx + 4], eax
jmp 0x1002c29e
xor ecx, ecx
lea eax, [ebp - 0x4fc]
mov dword [ebp - 0x4cc], ecx
mov dword [ebp - 0x4f4], eax
lea eax, [ebp - 0x4f8]
mov dword [ebp - 0x4f0], eax
lea eax, [ebp - 0x4ec]
mov dword [ebp - 0x4e4], eax
lea eax, [ebp - 0x4e8]
mov dword [ebp - 0x4e0], eax
lea eax, [ebp - 0x4dc]
mov dword [ebp - 0x4d4], eax
lea eax, [ebp - 0x4d8]
mov dword [ebp - 0x4d0], eax
mov dword [ebp - 0x4f8], 0
mov dword [ebp - 0x4e8], 0
mov dword [ebp - 0x4d8], 0
mov dword [ebp - 0x4fc], 0
mov dword [ebp - 0x4ec], 0
mov dword [ebp - 0x4dc], 0
mov byte [ebp - 4], 0x3b
mov dword [ebp - method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov dword [ebp - 0x4c8], 0
mov dword [ebp - 0x4c4], 4
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x504]
push str.runtray_start
push eax
call fcn.10008960
mov ecx, dword [ebp - 0x45c]
lea edx, [ebp - 0x504]
add esp, 8
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x504]
call fcn.1000cc10
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x424]
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x1002c3b8
mov eax, edi
lock xadd dword [ecx + 4], eax
jne 0x1002c3b8
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x45c]
mov eax, edi
lock xadd dword [ecx + 8], eax
jne 0x1002c3b8
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.1000db70
mov ecx, eax
test ecx, ecx
je 0x1002c919
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x438], eax
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x438]
push str.lah_start
call fcn.10025710
test al, al
jne 0x1002c401
push 9
push str.lah_start
lea ecx, [ebp - 0x438]
call fcn.10014ae0
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x454]
push eax
mov byte [ebp - 0x431], 0
call fcn.10042189
mov byte [ebp - 4], 0x42
lea eax, [ebp - 0x454]
mov dword [ebp - 0x460], eax
lea eax, [ebp - 0x431]
mov dword [ebp - 0x45c], eax
lea eax, [ebp - 0x460]
push eax
push 0x10008c50
push 0x100d24e8
call fcn.10042e51
add esp, 0x10
test eax, eax
je 0x1002c874
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x454]
push eax
call fcn.100421c3
mov ecx, dword [0x100d24e4]
lea eax, [ebp - 0x438]
add esp, 4
push 0
push dword [ebp - 0x444]
push eax
call fcn.10039e40
mov byte [ebp - 4], 0x2f
mov eax, edi
mov edx, dword [ebp - 0x438]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002c4a3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1002c4be
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x428]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 0x46
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x431], al
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x424]
test esi, esi
je 0x1002c513
mov ecx, edi
lock xadd dword [esi + 4], ecx
jne 0x1002c513
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x1002c50d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x431]
test al, al
je 0x1002c5b3
lea eax, [ebp - 0x428]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x504]
mov edi, dword [eax]
call fcn.1000aa80
mov esi, eax
mov byte [ebp - 4], 0x48
push str.appid:
push esi
call fcn.1000ca10
mov eax, dword [ebp - 0x444]
mov edx, 0x100adaac
mov ecx, dword [eax]
test ecx, ecx
cmovne edx, ecx
push edx
push esi
call fcn.10008960
push str._nick_name:
push esi
call fcn.1000ca10
mov eax, dword [ebp - 0x464]
mov edx, 0x100adaac
test eax, eax
cmovne edx, eax
push edx
push esi
call fcn.10008960
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x504]
call fcn.1000cc10
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x428]
call fcn.1000bc10
or edi, 0xffffffff
lea eax, [ebp - 0x428]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 0x4a
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x431], al
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x424]
test esi, esi
je 0x1002c608
mov ecx, edi
lock xadd dword [esi + 4], ecx
jne 0x1002c608
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x1002c602
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x431]
test al, al
je 0x1002c680
lea eax, [ebp - 0x428]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x504]
mov edi, dword [eax]
call fcn.1000aa80
mov esi, eax
mov byte [ebp - 4], 0x4c
push str.stAppData.run_update_v3:
push esi
call fcn.1000ca10
mov eax, dword [ebp - 0x444]
mov edx, dword [eax + 0x30]
test edx, edx
mov eax, 0x100adaac
cmovne eax, edx
push eax
push esi
call fcn.10008960
mov eax, dword [edi]
add esp, 0x10
mov ecx, edi
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x504]
call fcn.1000cc10
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x428]
call fcn.1000bc10
mov esi, dword [ebp - 0x444]
mov eax, dword [esi]
test eax, eax
je 0x1002c923
push eax
push dword [ebp - 0x464]
call fcn.10075f0f
add esp, 8
test eax, eax
jne 0x1002c823
cmp dword [ebp - 0x468], eax
jne 0x1002c823
mov eax, dword [esi + 0x30]
cmp dword [eax - 0xc], 0
je 0x1002c823
cmp dword [ebp - 0x44c], 0
jne 0x1002c823
lea eax, [ebp - 0x428]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 0x4e
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x431], al
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x428]
call fcn.1000bc10
cmp byte [ebp - 0x431], 0
je 0x1002c767
lea eax, [ebp - 0x428]
push eax
call fcn.1003c060
add esp, 4
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x504]
mov edi, dword [eax]
call fcn.1000aa80
mov esi, eax
mov byte [ebp - 4], 0x50
push str.run_tray_check_v3
push esi
call fcn.1000ca10
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 8]
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x504]
call fcn.1000cc10
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x428]
call fcn.1000bc10
mov esi, dword [ebp - 0x444]
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.1006e460
mov eax, dword [ebp - 0x458]
add esp, 0xc
push dword [esi + 0x30]
push dword [eax]
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea ecx, [ebp - 0x438]
call fcn.1002a7c0
mov byte [ebp - 4], 0x52
lea eax, [ebp - 0x438]
push str.___svc_check_v3
push eax
mov dword [ebp - 0x45c], 0
call fcn.1000da40
add esp, 8
lea eax, [ebp - 0x45c]
push eax
push dword [ebp - 0x438]
lea eax, [ebp - 0x420]
push eax
call fcn.1002c980
push str.lah_aid
lea ecx, [ebp - 0x44c]
call fcn.1000a1a0
mov byte [ebp - 4], 0x53
lea eax, [ebp - 0x44c]
push 0
push esi
push eax
call fcn.10025840
mov ecx, eax
call fcn.10039e40
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x44c]
call fcn.1000b530
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x438]
call fcn.1000b530
push dword [esi]
push str.CRunTray_end_app_s
call fcn.1000d740
add esp, 8
or edi, 0xffffffff
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x464]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x1002c857
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10061eb3
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x454]
push eax
call fcn.100421e4
add esp, 4
test al, al
je 0x1002c951
jmp 0x1002c92d
lea eax, [ebp - 0x454]
push eax
call fcn.100421e4
add esp, 4
test al, al
jne 0x1002c956
jmp 0x1002c951
lea eax, [ebp - 0x454]
push eax
call fcn.100421e4
add esp, 4
test al, al
je 0x1002c951
sub esp, 8
lea eax, [ebp - 0x454]
mov ecx, esp
mov dword [ebp - 0x43c], esp
push eax
call fcn.1000afd0
mov byte [ebp - 4], 0x31
mov byte [ebp - 4], 0x30
call fcn.10017ed0
push 0x80004005
call fcn.1000d6a0
push 0x80004005
call fcn.1000d6a0
push 0x80004005
call fcn.1000d6a0
push 0x80004005
call fcn.1000d6a0
push 0x80004005
call fcn.1000d6a0
push 0x80004005
call fcn.1000d6a0
push 0x80004005
call fcn.1000d6a0
sub esp, 8
lea eax, [ebp - 0x454]
mov ecx, esp
mov dword [ebp - 0x43c], esp
push eax
call fcn.1000afd0
mov byte [ebp - 4], 0x43
mov byte [ebp - 4], 0x42
call fcn.10017ed0
call fcn.10042e69
sub esp, 8
lea eax, [ebp - 0x454]
mov ecx, esp
mov dword [ebp - 0x43c], esp
push eax
call fcn.1000afd0
mov byte [ebp - 4], 0x35
mov byte [ebp - 4], 0x34
call fcn.10017ed0
int3