Function at 0x425340
Capabilities:
Accept command line arguments
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d0e19
mov eax, dword fs:[0]
push eax
sub esp, 0xa88
mov eax, dword [0x51452c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xa74], ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call fcn.0041a6d0
mov ecx, eax
call fcn.0040f6d0
call fcn.00431ef0
mov ecx, eax
call fcn.00431f80
call fcn.0040cb80
mov ecx, eax
test ecx, ecx
je 0x426cd1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa6c], eax
mov dword [ebp - 4], 0
call fcn.0040cb80
mov ecx, eax
test ecx, ecx
je 0x426cdb
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa64], eax
mov eax, str.__pep
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xa64]
test eax, 0xffff0000
jne 0x4253f5
movzx eax, ax
push eax
call fcn.0040d7f0
jmp 0x425401
push 5
push str.__pep
call fcn.0040dae0
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041a6d0
mov ecx, eax
call fcn.0040f490
mov edx, dword [ebp - 0xa64]
or ebx, 0xffffffff
mov byte [ebp - 4], 0
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x425443
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xa6c]
call fcn.004aae9d
add esp, 4
mov dword [ebp - 0xa80], eax
call fcn.0040cb80
mov ecx, eax
test ecx, ecx
je 0x426ce5
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa64], eax
mov eax, str.__pid
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa64]
test eax, 0xffff0000
jne 0x425495
movzx eax, ax
push eax
call fcn.0040d7f0
jmp 0x4254a1
push 5
push str.__pid
call fcn.0040dae0
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041a6d0
mov ecx, eax
call fcn.0040f490
mov edx, dword [ebp - 0xa64]
mov eax, ebx
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4254e0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xa6c]
call fcn.004aae9d
add esp, 4
mov dword [ebp - 0xa68], eax
call fcn.0040cb80
mov ecx, eax
test ecx, ecx
je 0x426cef
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa64], eax
mov eax, str.__tid
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xa64]
test eax, 0xffff0000
jne 0x425532
movzx eax, ax
push eax
call fcn.0040d7f0
jmp 0x42553e
push 5
push str.__tid
call fcn.0040dae0
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041a6d0
mov ecx, eax
call fcn.0040f490
mov edx, dword [ebp - 0xa64]
mov eax, ebx
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42557d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xa6c]
call fcn.004aae9d
add esp, 4
mov dword [ebp - 0xa78], eax
call fcn.0040cb80
mov ecx, eax
test ecx, ecx
je 0x426cf9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa64], eax
mov eax, str.__dir
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xa64]
test eax, 0xffff0000
jne 0x4255cf
movzx eax, ax
push eax
call fcn.0040d7f0
jmp 0x4255db
push 5
push str.__dir
call fcn.0040dae0
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041a6d0
mov ecx, eax
call fcn.0040f490
mov edx, dword [ebp - 0xa64]
mov eax, ebx
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42561a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xa6c]
add eax, 0xfffffff0
push eax
call fcn.0040c910
add esp, 4
lea edi, [eax + 0x10]
mov dword [ebp - 0xa94], edi
mov byte [ebp - 4], 9
call fcn.0040cb80
mov ecx, eax
test ecx, ecx
je 0x426d03
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa64], eax
mov eax, str.__direx
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa64]
test eax, 0xffff0000
jne 0x425677
movzx eax, ax
push eax
call fcn.0040d7f0
jmp 0x425683
push 7
push str.__direx
call fcn.0040dae0
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041a6d0
mov ecx, eax
call fcn.0040f490
mov edx, dword [ebp - 0xa64]
mov eax, ebx
mov byte [ebp - 4], 9
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4256c2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xa6c]
add eax, 0xfffffff0
push eax
call fcn.0040c910
add esp, 4
lea esi, [eax + 0x10]
mov dword [ebp - 0xa88], esi
cmp dword [edi - 0xc], 0
mov byte [ebp - 4], 0xc
jne 0x42581d
push dword [ebp - 0xa78]
mov ecx, dword [ebp - 0xa74]
push dword [ebp - 0xa68]
add ecx, 0x8c
push dword [ebp - 0xa80]
call fcn.0041a9e0
test eax, eax
jne 0x42581d
call fcn.004563e0
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x4257fe
push 0xb
push str.MainWnd.cpp
lea ecx, [ebp - 0xa60]
mov dword [ebp - 0xa50], eax
mov dword [ebp - 0xa4c], 0xf
mov byte [ebp - 0xa60], al
call fcn.00417b10
push 3
push 0x4dfa84
lea ecx, [ebp - 0xa48]
mov byte [ebp - 4], 0xd
mov dword [ebp - 0xa38], 0
mov dword [ebp - 0xa34], 0xf
mov byte [ebp - 0xa48], 0
call fcn.00417b10
mov byte [ebp - 4], 0xe
call fcn.004563e0
mov dword [ebp - 0xa68], eax
lea ecx, [ebp - 0xa8]
push 0x13c
lea eax, [ebp - 0xa60]
push eax
lea eax, [ebp - 0xa48]
push eax
call fcn.00411810
mov ebx, eax
push str.init_MiniDumpWriteDump_failed.
push ebx
mov byte [ebp - 4], 0xf
call fcn.00410a70
mov eax, dword [ebp - 0xa68]
add esp, 8
mov ecx, eax
mov edx, dword [eax]
push ebx
call dword [edx + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.00412fa0
lea ecx, [ebp - 0xa48]
call fcn.004123e0
lea ecx, [ebp - 0xa60]
call fcn.004123e0
or ebx, 0xffffffff
mov byte [ebp - 4], 9
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x42664f
mov ecx, dword [esi]
push esi
jmp 0x42664a
call fcn.0040cb80
mov ecx, eax
test ecx, ecx
je 0x426d0d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa64], eax
mov eax, str.__ver
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xa64]
test eax, 0xffff0000
jne 0x42585b
movzx eax, ax
push eax
call fcn.0040d7f0
jmp 0x425867
push 5
push str.__ver
call fcn.0040dae0
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041a6d0
mov ecx, eax
call fcn.0040f490
mov edx, dword [ebp - 0xa64]
mov ecx, ebx
mov dword [ebp - 0xa78], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xc
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x4258b2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xa78]
test eax, eax
je 0x4258d8
mov eax, dword [ebp - 0xa74]
lea ecx, [ebp - 0xa6c]
sub eax, 0xffffff80
push ecx
mov ecx, eax
mov dword [ebp - 0xa70], eax
call fcn.0040efb0
jmp 0x425a17
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0047ce50
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ebx, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x218]
push eax
call ebx
lea eax, [ebp - 0x218]
push eax
call ebx
lea ecx, [ebp - 0xa8d]
call fcn.004246e0
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push 0x200
lea eax, [ebp - 0x418]
push 0
push eax
call fcn.0047ce50
push 0x100
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0041a420
add esp, 0x18
call fcn.0040cb80
mov ecx, eax
test ecx, ecx
je 0x426d17
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa64], eax
lea eax, [ebp - 0x418]
mov byte [ebp - 4], 0x12
test eax, 0xffff0000
jne 0x4259a0
movzx eax, ax
lea ecx, [ebp - 0xa64]
push eax
call fcn.0040d7f0
jmp 0x4259d2
lea ecx, [ebp - 0x418]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4259b0
sub ecx, edx
lea eax, [ebp - 0x418]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xa64]
call fcn.0040dae0
mov eax, dword [ebp - 0xa74]
lea ecx, [ebp - 0xa64]
sub eax, 0xffffff80
mov byte [ebp - 4], 0x13
push ecx
mov ecx, eax
mov dword [ebp - 0xa70], eax
call fcn.0040efb0
mov edx, dword [ebp - 0xa64]
or ebx, 0xffffffff
mov byte [ebp - 4], 0xc
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x425a17
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xa74]
push dword [ebp - 0xa70]
lea ecx, [ecx + 0x60]
call fcn.0040efb0
call fcn.0040cb80
mov ecx, eax
test ecx, ecx
je 0x426d21
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa64], eax
mov eax, str.__src
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0xa64]
test eax, 0xffff0000
jne 0x425a69
movzx eax, ax
push eax
call fcn.0040d7f0
jmp 0x425a75
push 5
push str.__src
call fcn.0040dae0
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041a6d0
mov ecx, eax
call fcn.0040f490
mov edx, dword [ebp - 0xa64]
mov ecx, ebx
mov dword [ebp - 0xa78], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0xc
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x425ac0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xa78]
test eax, eax
mov eax, dword [ebp - 0xa74]
je 0x425ae5
add eax, 0x84
lea ecx, [ebp - 0xa6c]
push ecx
mov ecx, eax
mov dword [ebp - 0xa8c], eax
call fcn.0040efb0
jmp 0x425afe
add eax, 0x84
push 7
push str.pcjiami
mov ecx, eax
mov dword [ebp - 0xa8c], eax
call fcn.0040dae0
call fcn.0040cb80
mov ecx, eax
test ecx, ecx
je 0x426d2b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa64], eax
mov eax, str.__rep
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa64]
test eax, 0xffff0000
jne 0x425b3c
movzx eax, ax
push eax
call fcn.0040d7f0
jmp 0x425b48
push 5
push str.__rep
call fcn.0040dae0
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041a6d0
mov ecx, eax
call fcn.0040f490
mov edx, dword [ebp - 0xa64]
mov eax, ebx
mov byte [ebp - 4], 0xc
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x425b87
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xa6c]
call fcn.004aae9d
mov ecx, dword [ebp - 0xa74]
dec eax
add esp, 4
neg eax
sbb eax, eax
inc eax
mov dword [ecx + 0x88], eax
call fcn.004563e0
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x425cfa
push 0xb
push str.MainWnd.cpp
lea ecx, [ebp - 0xa48]
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xa34], 0xf
mov byte [ebp - 0xa48], al
call fcn.00417b10
push 3
push 0x4dfa84
lea ecx, [ebp - 0xa60]
mov byte [ebp - 4], 0x18
mov dword [ebp - 0xa50], 0
mov dword [ebp - 0xa4c], 0xf
mov byte [ebp - 0xa60], 0
call fcn.00417b10
mov byte [ebp - 4], 0x19
call fcn.004563e0
mov dword [ebp - 0xa78], eax
lea ecx, [ebp - 0xa8]
push 0x151
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411810
mov dword [ebp - 0xa64], eax
push str.src
push eax
mov byte [ebp - 4], 0x1a
call fcn.00410a70
mov ecx, dword [ebp - 0xa8c]
mov ebx, 0x4df984
mov edx, ebx
mov ecx, dword [ecx]
test ecx, ecx
cmovne edx, ecx
push edx
push dword [ebp - 0xa64]
call fcn.00410a70
push str._ver
push dword [ebp - 0xa64]
call fcn.00410a70
mov eax, dword [ebp - 0xa70]
mov eax, dword [eax]
test eax, eax
cmovne ebx, eax
push ebx
mov ebx, dword [ebp - 0xa64]
push ebx
call fcn.00410a70
push str._rep
push ebx
call fcn.00410a70
mov eax, dword [ebp - 0xa74]
add esp, 0x28
mov ecx, ebx
push dword [eax + 0x88]
call fcn.00412bd0
mov ecx, dword [ebp - 0xa78]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.00412fa0
lea ecx, [ebp - 0xa60]
call fcn.004123e0
lea ecx, [ebp - 0xa48]
mov byte [ebp - 4], 0xc
call fcn.004123e0
xor eax, eax
cmp dword [ebp - 0xa80], eax
push 1
sete al
mov dword [ebp - 0xa78], eax
lea eax, [ebp - 0xa70]
push eax
call fcn.00477060
add esp, 8
mov edx, dword [ebp - 0xa70]
mov ecx, 1
mov byte [ebp - 4], 0x1b
mov eax, dword [edx - 8]
sub ecx, dword [edx - 4]
sub eax, 0x104
or eax, ecx
jge 0x425d50
push 0x104
lea ecx, [ebp - 0xa70]
call fcn.0040d9a0
mov edx, dword [ebp - 0xa70]
cmp dword [edx - 8], 0x104
jl 0x426d35
mov dword [edx - 0xc], 0x104
xor ecx, ecx
mov eax, dword [ebp - 0xa70]
push str.logdumpuper.log.on
push edx
mov word [eax + 0x208], cx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov eax, dword [ebp - 0xa70]
push dword [eax - 8]
push eax
call fcn.0048a253
mov edx, eax
add esp, 8
test edx, edx
js 0x426d35
mov ecx, dword [ebp - 0xa70]
cmp edx, dword [ecx - 8]
jg 0x426d35
mov dword [ecx - 0xc], edx
xor ecx, ecx
mov eax, dword [ebp - 0xa70]
mov word [eax + edx*2], cx
push dword [ebp - 0xa70]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x425ebc
call fcn.004563e0
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x425eb2
push 0xb
push str.MainWnd.cpp
lea ecx, [ebp - 0xa48]
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xa34], 0xf
mov byte [ebp - 0xa48], al
call fcn.00417b10
push 3
push 0x4dfa84
lea ecx, [ebp - 0xa60]
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0xa50], 0
mov dword [ebp - 0xa4c], 0xf
mov byte [ebp - 0xa60], 0
call fcn.00417b10
mov byte [ebp - 4], 0x1d
call fcn.004563e0
mov dword [ebp - 0xa80], eax
lea ecx, [ebp - 0xa8]
push 0x15c
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411810
mov ebx, eax
push str.test_mode__no_delete__no_upload
push ebx
mov byte [ebp - 4], 0x1e
call fcn.00412e60
mov eax, dword [ebp - 0xa80]
add esp, 8
mov ecx, eax
mov edx, dword [eax]
push ebx
call dword [edx + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.00412fa0
lea ecx, [ebp - 0xa60]
call fcn.004123e0
lea ecx, [ebp - 0xa48]
call fcn.004123e0
mov dword [ebp - 0xa78], 1
mov edx, dword [ebp - 0xa70]
or ebx, 0xffffffff
mov byte [ebp - 4], 0xc
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x425ee0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xa74]
push dword [ebp - 0xa8c]
add eax, 0x44
mov ecx, eax
mov dword [ebp - 0xa80], eax
call fcn.004305a0
cmp dword [ebp - 0xa78], 0
jne 0x426010
mov eax, dword [ebp - 0xa74]
cmp dword [eax + 0x88], 0
jne 0x426010
mov ecx, eax
call fcn.00427920
test eax, eax
je 0x426010
call fcn.004563e0
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x4257fe
push 0xb
push str.MainWnd.cpp
lea ecx, [ebp - 0xa48]
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xa34], 0xf
mov byte [ebp - 0xa48], al
call fcn.00417b10
push 3
push 0x4dfa84
lea ecx, [ebp - 0xa60]
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0xa50], 0
mov dword [ebp - 0xa4c], 0xf
mov byte [ebp - 0xa60], 0
call fcn.00417b10
mov byte [ebp - 4], 0x20
call fcn.004563e0
mov dword [ebp - 0xa68], eax
lea ecx, [ebp - 0xa8]
push 0x164
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411810
mov ebx, eax
push str.repeat_upload_disabled.
push ebx
mov byte [ebp - 4], 0x21
call fcn.00410a70
mov eax, dword [ebp - 0xa68]
add esp, 8
mov ecx, eax
mov edx, dword [eax]
push ebx
call dword [edx + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.00412fa0
lea ecx, [ebp - 0xa60]
call fcn.004123e0
lea ecx, [ebp - 0xa48]
jmp 0x4257f6
call fcn.0040cb80
mov ecx, eax
test ecx, ecx
je 0x426d3f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa7c], eax
cmp dword [edi - 0xc], 0
mov byte [ebp - 4], 0x22
jne 0x426693
call fcn.0040cb80
mov ecx, eax
test ecx, ecx
je 0x426d49
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0xa8c], esi
push dword [ebp - 0xa68]
mov byte [ebp - 4], 0x23
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0xa68], eax
test eax, eax
je 0x4261db
push 0x104
lea ecx, [ebp - 0x828]
push ecx
push 0
push eax
call sub.PSAPI.DLL_GetModuleFileNameExW
push dword [ebp - 0xa68]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
jne 0x4261a1
call fcn.004563e0
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x4261d8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0xb
push str.MainWnd.cpp
lea ecx, [ebp - 0xa48]
mov dword [ebp - 0xa68], eax
mov dword [ebp - 0xa38], ebx
mov dword [ebp - 0xa34], 0xf
mov byte [ebp - 0xa48], bl
call fcn.00417b10
push 3
push 0x4dfdcc
lea ecx, [ebp - 0xa60]
mov byte [ebp - 4], 0x24
mov dword [ebp - 0xa50], ebx
mov dword [ebp - 0xa4c], 0xf
mov byte [ebp - 0xa60], bl
call fcn.00417b10
mov byte [ebp - 4], 0x25
call fcn.004563e0
mov dword [ebp - 0xa64], eax
lea ecx, [ebp - 0xa8]
push 0x36
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411810
mov ebx, eax
push str._Method1__GetModuleFileNameEx_failed._errcode:
push ebx
mov byte [ebp - 4], 0x26
call fcn.00412e60
add esp, 8
mov ecx, ebx
push dword [ebp - 0xa68]
call fcn.00419cb0
mov ecx, dword [ebp - 0xa64]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.00412fa0
lea ecx, [ebp - 0xa60]
call fcn.004123e0
lea ecx, [ebp - 0xa48]
mov byte [ebp - 4], 0x23
call fcn.004123e0
jmp 0x4261d8
lea ecx, [ebp - 0x828]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4261b0
sub ecx, edx
lea eax, [ebp - 0x828]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xa8c]
call fcn.0040dae0
mov esi, dword [ebp - 0xa8c]
or ebx, 0xffffffff
mov ecx, dword [ebp - 0xa74]
lea eax, [ebp - 0xa68]
push eax
lea ecx, [ecx + 0x8c]
call fcn.00419fb0
push eax
lea ecx, [ebp - 0xa7c]
mov byte [ebp - 4], 0x27
call fcn.0040efb0
mov edx, dword [ebp - 0xa68]
mov eax, ebx
mov byte [ebp - 4], 0x23
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x426224
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xa7c]
mov eax, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
call eax
test eax, eax
je 0x42650a
mov eax, dword [ebp - 0xa7c]
cmp dword [eax - 0xc], 0
je 0x42650a
call fcn.0040cb80
mov ecx, eax
test ecx, ecx
je 0x426d53
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa64], eax
mov eax, str.__restart
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0xa64]
test eax, 0xffff0000
jne 0x426287
movzx eax, ax
push eax
call fcn.0040d7f0
jmp 0x426293
push 9
push str.__restart
call fcn.0040dae0
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 0x2c
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041a6d0
mov ecx, eax
call fcn.0040f490
mov edx, dword [ebp - 0xa64]
mov ecx, ebx
mov dword [ebp - 0xa68], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0x23
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x4262de
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xa68]
test eax, eax
je 0x4264b8
push 0
push 0
push 0
push 1
push 0
call fcn.0041a6d0
mov ecx, eax
call fcn.0040f480
push eax
push esi
call fcn.0047a210
add esp, 0x1c
test eax, eax
je 0x4263cc
call fcn.004563e0
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x4264b8
push 0xb
push str.MainWnd.cpp
lea ecx, [ebp - 0xa48]
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xa34], 0xf
mov byte [ebp - 0xa48], al
call fcn.00417b10
push 3
push 0x4dfa84
lea ecx, [ebp - 0xa60]
mov byte [ebp - 4], 0x2d
mov dword [ebp - 0xa50], 0
mov dword [ebp - 0xa4c], 0xf
mov byte [ebp - 0xa60], 0
call fcn.00417b10
mov byte [ebp - 4], 0x2e
call fcn.004563e0
mov dword [ebp - 0xa68], eax
lea ecx, [ebp - 0xa8]
push 0x175
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411810
mov ebx, eax
push str.run_tray_suc
push ebx
mov byte [ebp - 4], 0x2f
call fcn.00412e60
mov eax, dword [ebp - 0xa68]
jmp 0x426485
call fcn.004563e0
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x4264b8
push 0xb
push str.MainWnd.cpp
lea ecx, [ebp - 0xa48]
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xa34], 0xf
mov byte [ebp - 0xa48], al
call fcn.00417b10
push 3
push 0x4dfdcc
lea ecx, [ebp - 0xa60]
mov byte [ebp - 4], 0x30
mov dword [ebp - 0xa50], 0
mov dword [ebp - 0xa4c], 0xf
mov byte [ebp - 0xa60], 0
call fcn.00417b10
mov byte [ebp - 4], 0x31
call fcn.004563e0
mov dword [ebp - 0xa68], eax
lea ecx, [ebp - 0xa8]
push 0x177
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411810
mov ebx, eax
push str.run_tray_err
push ebx
mov byte [ebp - 4], 0x32
call fcn.00412e60
mov eax, dword [ebp - 0xa68]
mov edx, dword [eax]
add esp, 8
mov ecx, eax
push ebx
call dword [edx + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.00412fa0
lea ecx, [ebp - 0xa60]
call fcn.004123e0
lea ecx, [ebp - 0xa48]
mov byte [ebp - 4], 0x23
call fcn.004123e0
or ebx, 0xffffffff
mov ecx, dword [ebp - 0xa74]
lea eax, [ebp - 0xa7c]
push eax
lea ecx, [ecx + 0x7c]
call fcn.0040efb0
mov byte [ebp - 4], 0x22
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4264e8
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0xa88]
cmp dword [ebp - 0xa78], 0
je 0x426847
mov dword [ebp - 0xa68], 0
jmp 0x426c36
call fcn.004563e0
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x4265f2
push 0xb
push str.MainWnd.cpp
lea ecx, [ebp - 0xa48]
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xa34], 0xf
mov byte [ebp - 0xa48], al
call fcn.00417b10
push 3
push 0x4dfa84
lea ecx, [ebp - 0xa60]
mov byte [ebp - 4], 0x28
mov dword [ebp - 0xa50], 0
mov dword [ebp - 0xa4c], 0xf
mov byte [ebp - 0xa60], 0
call fcn.00417b10
mov byte [ebp - 4], 0x29
call fcn.004563e0
mov dword [ebp - 0xa68], eax
lea ecx, [ebp - 0xa8]
push 0x16d
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411810
mov ebx, eax
push str.generate_dump_file_failed.
push ebx
mov byte [ebp - 4], 0x2a
call fcn.00410a70
mov eax, dword [ebp - 0xa68]
add esp, 8
mov ecx, eax
mov edx, dword [eax]
push ebx
call dword [edx + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.00412fa0
lea ecx, [ebp - 0xa60]
call fcn.004123e0
lea ecx, [ebp - 0xa48]
call fcn.004123e0
or ebx, 0xffffffff
mov byte [ebp - 4], 0x22
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x42660d
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xa7c]
mov eax, ebx
mov byte [ebp - 4], 0xc
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42662e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xa88]
mov eax, ebx
mov byte [ebp - 4], 9
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42664f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x42666a
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xa6c]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x42668c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
jmp 0x426cb5
mov eax, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push edi
call eax
test eax, eax
jne 0x42679a
call fcn.004563e0
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x4264fb
push 0xb
push str.MainWnd.cpp
lea ecx, [ebp - 0xa48]
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xa34], 0xf
mov byte [ebp - 0xa48], al
call fcn.00417b10
push 3
push 0x4dfa84
lea ecx, [ebp - 0xa60]
mov byte [ebp - 4], 0x33
mov dword [ebp - 0xa50], 0
mov dword [ebp - 0xa4c], 0xf
mov byte [ebp - 0xa60], 0
call fcn.00417b10
mov byte [ebp - 4], 0x34
call fcn.004563e0
mov dword [ebp - 0xa68], eax
lea ecx, [ebp - 0xa8]
push 0x17e
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411810
mov ebx, eax
push str.no_found_dir
push ebx
mov byte [ebp - 4], 0x35
call fcn.00412e60
mov eax, dword [ebp - 0xa68]
add esp, 8
mov ecx, eax
mov edx, dword [eax]
push ebx
call dword [edx + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.00412fa0
lea ecx, [ebp - 0xa60]
call fcn.004123e0
lea ecx, [ebp - 0xa48]
call fcn.004123e0
or ebx, 0xffffffff
mov dword [ebp - 0xa68], 0
jmp 0x426c36
push 0x208
lea eax, [ebp - 0x620]
push 0
push eax
call fcn.0047ce50
add esp, 0xc
lea eax, [ebp - 0x620]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0x4dfad4
lea eax, [ebp - 0x620]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push 0x208
lea eax, [ebp - 0xa30]
push 0
push eax
call fcn.0047ce50
add esp, 0xc
lea eax, [ebp - 0xa30]
push 0x104
push eax
call fcn.0045fd70
lea eax, [ebp - 0xa30]
push eax
lea eax, [ebp - 0x620]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [ebp - 0x620]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426820
sub ecx, edx
lea eax, [ebp - 0x620]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xa7c]
call fcn.0040dae0
jmp 0x4264ee
mov eax, dword [ebp - 0xa74]
lea ecx, [ebp - 0xa7c]
add eax, 0x78
push ecx
mov ecx, eax
mov dword [ebp - 0xa64], eax
call fcn.0040efb0
mov ecx, dword [ebp - 0xa64]
push str..zip
mov eax, dword [ecx]
mov eax, dword [eax - 0xc]
add eax, 5
push eax
call fcn.00426e20
push eax
call dword [sym.imp.SHLWAPI.dll_PathRenameExtensionW]
mov ecx, dword [ebp - 0xa64]
mov eax, dword [ecx]
test eax, eax
jne 0x426894
xor edx, edx
jmp 0x4268b0
push dword [eax - 8]
push eax
call fcn.0048a253
mov edx, eax
add esp, 8
test edx, edx
js 0x426d35
mov ecx, dword [ebp - 0xa64]
mov eax, dword [ecx]
cmp edx, dword [eax - 8]
jg 0x426d35
mov dword [eax - 0xc], edx
xor esi, esi
mov eax, dword [ecx]
push ecx
lea ecx, [ebp - 0xa84]
mov word [eax + edx*2], si
call fcn.00432920
cmp dword [edi - 0xc], esi
mov esi, dword [ebp - 0xa88]
mov byte [ebp - 4], 0x36
jne 0x426ae0
lea ecx, [ebp - 0xa84]
call fcn.00432dd0
test eax, eax
je 0x426acc
lea eax, [ebp - 0xa7c]
push eax
lea ecx, [ebp - 0xa84]
call fcn.00432a00
test eax, eax
je 0x426acc
cmp dword [esi - 0xc], 0
je 0x426a95
push 0x5c
push dword [ebp - 0xa7c]
call fcn.0047d5f6
mov ecx, dword [ebp - 0xa7c]
add esp, 8
test eax, eax
jne 0x42693b
or eax, 0xffffffff
jmp 0x42693f
sub eax, ecx
sar eax, 1
mov edx, dword [ecx - 0xc]
xor esi, esi
add eax, 1
cmovns esi, eax
mov dword [ebp - 0xa68], esi
xor esi, esi
sub edx, eax
mov eax, SysReAllocString
cmovns esi, edx
mov edx, dword [ebp - 0xa68]
sub eax, edx
mov dword [ebp - 0xa78], esi
cmp eax, esi
jl 0x426d76
lea eax, [esi + edx]
mov esi, dword [ecx - 0xc]
cmp eax, esi
jle 0x426982
mov eax, esi
sub eax, edx
jmp 0x426988
mov eax, dword [ebp - 0xa78]
xor esi, esi
cmp edx, dword [ecx - 0xc]
cmovle esi, eax
test edx, edx
jne 0x4269b3
cmp esi, dword [ecx - 0xc]
jne 0x4269b3
add ecx, 0xfffffff0
push ecx
call fcn.0040c910
add esp, 4
add eax, 0x10
mov dword [ebp - 0xa70], eax
jmp 0x426a58
mov ecx, dword [ecx - 0x10]
test ecx, ecx
je 0x4269c9
mov eax, dword [ecx]
call dword [eax + 0x10]
mov dword [ebp - 0xa78], eax
test eax, eax
jne 0x4269db
call fcn.0040cb80
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov dword [ebp - 0xa78], eax
mov edx, dword [ebp - 0xa68]
mov ecx, dword [ebp - 0xa7c]
lea ecx, [ecx + edx*2]
mov dword [ebp - 0xa68], ecx
test eax, eax
je 0x426d5d
test ecx, ecx
jne 0x426a04
test esi, esi
jne 0x426d67
mov eax, dword [eax]
mov ecx, dword [ebp - 0xa78]
push 2
push esi
call dword [eax]
test eax, eax
je 0x426d71
add eax, 0x10
mov dword [ebp - 0xa70], eax
test esi, esi
js 0x426d35
cmp esi, dword [eax - 8]
jg 0x426d35
mov dword [eax - 0xc], esi
xor ecx, ecx
mov eax, dword [ebp - 0xa70]
push esi
push dword [ebp - 0xa68]
mov word [eax + esi*2], cx
push esi
push dword [ebp - 0xa70]
call fcn.0040c970
add esp, 0x10
mov ecx, dword [ebp - 0xa74]
lea eax, [ebp - 0xa70]
push 0xa
push 0
push eax
lea eax, [ebp - 0xa88]
mov byte [ebp - 4], 0x37
push eax
lea eax, [ebp - 0xa84]
push eax
call fcn.00424e70
lea ecx, [ebp - 0xa70]
mov byte [ebp - 4], 0x36
call fcn.0040c660
mov esi, dword [ebp - 0xa88]
lea ecx, [ebp - 0xa84]
call fcn.00432cc0
cmp dword [esi - 0xc], 0
je 0x426ab8
mov ecx, dword [ebp - 0xa74]
lea eax, [ebp - 0xa7c]
push eax
call fcn.00427750
mov ecx, dword [ebp - 0xa64]
push ecx
mov ecx, dword [ebp - 0xa80]
call fcn.0042f7d0
jmp 0x426b2d
mov ecx, dword [ebp - 0xa80]
lea eax, [ebp - 0xa7c]
push eax
call fcn.0042f7d0
jmp 0x426b2d
mov ecx, dword [ebp - 0xa74]
lea eax, [ebp - 0xa68]
push eax
lea eax, [ebp - 0xa94]
mov dword [ebp - 0xa68], 0xa
push eax
lea eax, [ebp - 0xa84]
push eax
call fcn.00424a50
mov ecx, dword [ebp - 0xa64]
push ecx
mov ecx, dword [ebp - 0xa80]
call fcn.0042f7d0
lea ecx, [ebp - 0xa84]
call fcn.00432cc0
mov edi, dword [ebp - 0xa94]
mov ecx, dword [ebp - 0xa74]
mov eax, dword [ecx + 4]
mov dword [ecx + 0x74], eax
call fcn.004563e0
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x426c21
push 0xb
push str.MainWnd.cpp
lea ecx, [ebp - 0xa48]
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xa34], 0xf
mov byte [ebp - 0xa48], al
call fcn.00417b10
push 3
push 0x4dfa84
lea ecx, [ebp - 0xa60]
mov byte [ebp - 4], 0x38
mov dword [ebp - 0xa50], 0
mov dword [ebp - 0xa4c], 0xf
mov byte [ebp - 0xa60], 0
call fcn.00417b10
mov byte [ebp - 4], 0x39
call fcn.004563e0
mov dword [ebp - 0xa68], eax
lea ecx, [ebp - 0xa8]
push 0x1ca
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411810
mov ebx, eax
push str.generate_upload_zip_file_suc
push ebx
mov byte [ebp - 4], 0x3a
call fcn.00410a70
mov eax, dword [ebp - 0xa68]
add esp, 8
mov ecx, eax
mov edx, dword [eax]
push ebx
call dword [edx + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.00412fa0
lea ecx, [ebp - 0xa60]
call fcn.004123e0
lea ecx, [ebp - 0xa48]
call fcn.004123e0
or ebx, 0xffffffff
lea ecx, [ebp - 0xa84]
mov dword [ebp - 0xa68], 1
call fcn.004329e0
mov edx, dword [ebp - 0xa7c]
mov eax, ebx
mov byte [ebp - 4], 0xc
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x426c57
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x426c72
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x426c8d
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xa6c]
mov dword [ebp - 4], 0xffffffff
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x426caf
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0xa68]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046659c
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.0040c8c0
push 0x80004005
call fcn.0040c8c0
push 0x80004005
call fcn.0040c8c0
push 0x80004005
call fcn.0040c8c0
push 0x80004005
call fcn.0040c8c0
push 0x80004005
call fcn.0040c8c0
push 0x80004005
call fcn.0040c8c0
push 0x80004005
call fcn.0040c8c0
push 0x80004005
call fcn.0040c8c0
push 0x80004005
call fcn.0040c8c0
push 0x80070057
call fcn.0040c8c0
push 0x80004005
call fcn.0040c8c0
push 0x80004005
call fcn.0040c8c0
push 0x80004005
call fcn.0040c8c0
push 0x80004005
call fcn.0040c8c0
push 0x80070057
call fcn.0040c8c0
call fcn.0040dc10
push 0x80070216
call fcn.0040c8c0
int3