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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d0b69
mov eax, dword fs:[0]
push eax
sub esp, 0xa88
mov eax, dword [0x51352c]
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.0041ac10
mov ecx, eax
call fcn.0040fc20
call fcn.00432440
mov ecx, eax
call fcn.004324d0
call fcn.0040d0d0
mov ecx, eax
test ecx, ecx
je 0x427231
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa6c], eax
mov dword [ebp - 4], 0
call fcn.0040d0d0
mov ecx, eax
test ecx, ecx
je 0x42723b
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 0x425955
movzx eax, ax
push eax
call fcn.0040dd40
jmp 0x425961
push 5
push str.__pep
call fcn.0040e030
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041ac10
mov ecx, eax
call fcn.0040f9e0
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 0x4259a3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xa6c]
call fcn.004aabed
add esp, 4
mov dword [ebp - 0xa80], eax
call fcn.0040d0d0
mov ecx, eax
test ecx, ecx
je 0x427245
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 0x4259f5
movzx eax, ax
push eax
call fcn.0040dd40
jmp 0x425a01
push 5
push str.__pid
call fcn.0040e030
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041ac10
mov ecx, eax
call fcn.0040f9e0
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 0x425a40
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xa6c]
call fcn.004aabed
add esp, 4
mov dword [ebp - 0xa68], eax
call fcn.0040d0d0
mov ecx, eax
test ecx, ecx
je 0x42724f
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 0x425a92
movzx eax, ax
push eax
call fcn.0040dd40
jmp 0x425a9e
push 5
push str.__tid
call fcn.0040e030
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041ac10
mov ecx, eax
call fcn.0040f9e0
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 0x425add
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xa6c]
call fcn.004aabed
add esp, 4
mov dword [ebp - 0xa78], eax
call fcn.0040d0d0
mov ecx, eax
test ecx, ecx
je 0x427259
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 0x425b2f
movzx eax, ax
push eax
call fcn.0040dd40
jmp 0x425b3b
push 5
push str.__dir
call fcn.0040e030
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041ac10
mov ecx, eax
call fcn.0040f9e0
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 0x425b7a
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.0040ce60
add esp, 4
lea edi, [eax + 0x10]
mov dword [ebp - 0xa94], edi
mov byte [ebp - 4], 9
call fcn.0040d0d0
mov ecx, eax
test ecx, ecx
je 0x427263
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 0x425bd7
movzx eax, ax
push eax
call fcn.0040dd40
jmp 0x425be3
push 7
push str.__direx
call fcn.0040e030
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041ac10
mov ecx, eax
call fcn.0040f9e0
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 0x425c22
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.0040ce60
add esp, 4
lea esi, [eax + 0x10]
mov dword [ebp - 0xa88], esi
cmp dword [edi - 0xc], 0
mov byte [ebp - 4], 0xc
jne 0x425d7d
push dword [ebp - 0xa78]
mov ecx, dword [ebp - 0xa74]
push dword [ebp - 0xa68]
add ecx, 0x8c
push dword [ebp - 0xa80]
call fcn.0041af20
test eax, eax
jne 0x425d7d
call fcn.00455070
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x425d5e
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.00418050
push 3
push 0x4dea84
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.00418050
mov byte [ebp - 4], 0xe
call fcn.00455070
mov dword [ebp - 0xa68], eax
lea ecx, [ebp - 0xa8]
push 0x144
lea eax, [ebp - 0xa60]
push eax
lea eax, [ebp - 0xa48]
push eax
call fcn.00411d60
mov ebx, eax
push str.init_MiniDumpWriteDump_failed.
push ebx
mov byte [ebp - 4], 0xf
call fcn.00410fc0
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.004134e0
lea ecx, [ebp - 0xa48]
call fcn.00412930
lea ecx, [ebp - 0xa60]
call fcn.00412930
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 0x426baf
mov ecx, dword [esi]
push esi
jmp 0x426baa
call fcn.0040d0d0
mov ecx, eax
test ecx, ecx
je 0x42726d
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 0x425dbb
movzx eax, ax
push eax
call fcn.0040dd40
jmp 0x425dc7
push 5
push str.__ver
call fcn.0040e030
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041ac10
mov ecx, eax
call fcn.0040f9e0
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 0x425e12
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xa78]
test eax, eax
je 0x425e38
mov eax, dword [ebp - 0xa74]
lea ecx, [ebp - 0xa6c]
sub eax, 0xffffff80
push ecx
mov ecx, eax
mov dword [ebp - 0xa70], eax
call fcn.0040f500
jmp 0x425f77
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0047cba0
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.00424c40
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.0047cba0
push 0x100
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0041a960
add esp, 0x18
call fcn.0040d0d0
mov ecx, eax
test ecx, ecx
je 0x427277
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 0x425f00
movzx eax, ax
lea ecx, [ebp - 0xa64]
push eax
call fcn.0040dd40
jmp 0x425f32
lea ecx, [ebp - 0x418]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425f10
sub ecx, edx
lea eax, [ebp - 0x418]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xa64]
call fcn.0040e030
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.0040f500
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 0x425f77
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.0040f500
call fcn.0040d0d0
mov ecx, eax
test ecx, ecx
je 0x427281
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 0x425fc9
movzx eax, ax
push eax
call fcn.0040dd40
jmp 0x425fd5
push 5
push str.__src
call fcn.0040e030
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041ac10
mov ecx, eax
call fcn.0040f9e0
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 0x426020
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 0x426045
add eax, 0x84
lea ecx, [ebp - 0xa6c]
push ecx
mov ecx, eax
mov dword [ebp - 0xa8c], eax
call fcn.0040f500
jmp 0x42605e
add eax, 0x84
push 6
push str.halowp
mov ecx, eax
mov dword [ebp - 0xa8c], eax
call fcn.0040e030
call fcn.0040d0d0
mov ecx, eax
test ecx, ecx
je 0x42728b
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 0x42609c
movzx eax, ax
push eax
call fcn.0040dd40
jmp 0x4260a8
push 5
push str.__rep
call fcn.0040e030
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041ac10
mov ecx, eax
call fcn.0040f9e0
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 0x4260e7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xa6c]
call fcn.004aabed
mov ecx, dword [ebp - 0xa74]
dec eax
add esp, 4
neg eax
sbb eax, eax
inc eax
mov dword [ecx + 0x88], eax
call fcn.00455070
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x42625a
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.00418050
push 3
push 0x4dea84
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.00418050
mov byte [ebp - 4], 0x19
call fcn.00455070
mov dword [ebp - 0xa78], eax
lea ecx, [ebp - 0xa8]
push 0x159
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411d60
mov dword [ebp - 0xa64], eax
push str.src
push eax
mov byte [ebp - 4], 0x1a
call fcn.00410fc0
mov ecx, dword [ebp - 0xa8c]
mov ebx, 0x4de984
mov edx, ebx
mov ecx, dword [ecx]
test ecx, ecx
cmovne edx, ecx
push edx
push dword [ebp - 0xa64]
call fcn.00410fc0
push str._ver
push dword [ebp - 0xa64]
call fcn.00410fc0
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.00410fc0
push str._rep
push ebx
call fcn.00410fc0
mov eax, dword [ebp - 0xa74]
add esp, 0x28
mov ecx, ebx
push dword [eax + 0x88]
call fcn.00413120
mov ecx, dword [ebp - 0xa78]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.004134e0
lea ecx, [ebp - 0xa60]
call fcn.00412930
lea ecx, [ebp - 0xa48]
mov byte [ebp - 4], 0xc
call fcn.00412930
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.00476db0
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 0x4262b0
push 0x104
lea ecx, [ebp - 0xa70]
call fcn.0040def0
mov edx, dword [ebp - 0xa70]
cmp dword [edx - 8], 0x104
jl 0x427295
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.00489fa3
mov edx, eax
add esp, 8
test edx, edx
js 0x427295
mov ecx, dword [ebp - 0xa70]
cmp edx, dword [ecx - 8]
jg 0x427295
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 0x42641c
call fcn.00455070
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x426412
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.00418050
push 3
push 0x4dea84
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.00418050
mov byte [ebp - 4], 0x1d
call fcn.00455070
mov dword [ebp - 0xa80], eax
lea ecx, [ebp - 0xa8]
push 0x164
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411d60
mov ebx, eax
push str.test_mode__no_delete__no_upload
push ebx
mov byte [ebp - 4], 0x1e
call fcn.004133b0
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.004134e0
lea ecx, [ebp - 0xa60]
call fcn.00412930
lea ecx, [ebp - 0xa48]
call fcn.00412930
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 0x426440
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.00430af0
cmp dword [ebp - 0xa78], 0
jne 0x426570
mov eax, dword [ebp - 0xa74]
cmp dword [eax + 0x88], 0
jne 0x426570
mov ecx, eax
call fcn.00427e80
test eax, eax
je 0x426570
call fcn.00455070
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x425d5e
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.00418050
push 3
push 0x4dea84
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.00418050
mov byte [ebp - 4], 0x20
call fcn.00455070
mov dword [ebp - 0xa68], eax
lea ecx, [ebp - 0xa8]
push 0x16c
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411d60
mov ebx, eax
push str.repeat_upload_disabled.
push ebx
mov byte [ebp - 4], 0x21
call fcn.00410fc0
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.004134e0
lea ecx, [ebp - 0xa60]
call fcn.00412930
lea ecx, [ebp - 0xa48]
jmp 0x425d56
call fcn.0040d0d0
mov ecx, eax
test ecx, ecx
je 0x42729f
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 0x426bf3
call fcn.0040d0d0
mov ecx, eax
test ecx, ecx
je 0x4272a9
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 0x42673b
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 0x426701
call fcn.00455070
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x426738
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.00418050
push 3
push 0x4dedc4
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.00418050
mov byte [ebp - 4], 0x25
call fcn.00455070
mov dword [ebp - 0xa64], eax
lea ecx, [ebp - 0xa8]
push 0x38
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411d60
mov ebx, eax
push str._Method1__GetModuleFileNameEx_failed._errcode:
push ebx
mov byte [ebp - 4], 0x26
call fcn.004133b0
add esp, 8
mov ecx, ebx
push dword [ebp - 0xa68]
call fcn.0041a1f0
mov ecx, dword [ebp - 0xa64]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.004134e0
lea ecx, [ebp - 0xa60]
call fcn.00412930
lea ecx, [ebp - 0xa48]
mov byte [ebp - 4], 0x23
call fcn.00412930
jmp 0x426738
lea ecx, [ebp - 0x828]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426710
sub ecx, edx
lea eax, [ebp - 0x828]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xa8c]
call fcn.0040e030
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.0041a4f0
push eax
lea ecx, [ebp - 0xa7c]
mov byte [ebp - 4], 0x27
call fcn.0040f500
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 0x426784
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 0x426a6a
mov eax, dword [ebp - 0xa7c]
cmp dword [eax - 0xc], 0
je 0x426a6a
call fcn.0040d0d0
mov ecx, eax
test ecx, ecx
je 0x4272b3
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 0x4267e7
movzx eax, ax
push eax
call fcn.0040dd40
jmp 0x4267f3
push 9
push str.__restart
call fcn.0040e030
lea eax, [ebp - 0xa6c]
mov byte [ebp - 4], 0x2c
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.0041ac10
mov ecx, eax
call fcn.0040f9e0
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 0x42683e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xa68]
test eax, eax
je 0x426a18
push 0
push 0
push 0
push 1
push 0
call fcn.0041ac10
mov ecx, eax
call fcn.0040f9d0
push eax
push esi
call fcn.00479f60
add esp, 0x1c
test eax, eax
je 0x42692c
call fcn.00455070
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x426a18
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.00418050
push 3
push 0x4dea84
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.00418050
mov byte [ebp - 4], 0x2e
call fcn.00455070
mov dword [ebp - 0xa68], eax
lea ecx, [ebp - 0xa8]
push 0x17d
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411d60
mov ebx, eax
push str.run_tray_suc
push ebx
mov byte [ebp - 4], 0x2f
call fcn.004133b0
mov eax, dword [ebp - 0xa68]
jmp 0x4269e5
call fcn.00455070
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x426a18
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.00418050
push 3
push 0x4dedc4
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.00418050
mov byte [ebp - 4], 0x31
call fcn.00455070
mov dword [ebp - 0xa68], eax
lea ecx, [ebp - 0xa8]
push 0x17f
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411d60
mov ebx, eax
push str.run_tray_err
push ebx
mov byte [ebp - 4], 0x32
call fcn.004133b0
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.004134e0
lea ecx, [ebp - 0xa60]
call fcn.00412930
lea ecx, [ebp - 0xa48]
mov byte [ebp - 4], 0x23
call fcn.00412930
or ebx, 0xffffffff
mov ecx, dword [ebp - 0xa74]
lea eax, [ebp - 0xa7c]
push eax
lea ecx, [ecx + 0x7c]
call fcn.0040f500
mov byte [ebp - 4], 0x22
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x426a48
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 0x426da7
mov dword [ebp - 0xa68], 0
jmp 0x427196
call fcn.00455070
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x426b52
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.00418050
push 3
push 0x4dea84
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.00418050
mov byte [ebp - 4], 0x29
call fcn.00455070
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.00411d60
mov ebx, eax
push str.generate_dump_file_failed.
push ebx
mov byte [ebp - 4], 0x2a
call fcn.00410fc0
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.004134e0
lea ecx, [ebp - 0xa60]
call fcn.00412930
lea ecx, [ebp - 0xa48]
call fcn.00412930
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 0x426b6d
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 0x426b8e
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 0x426baf
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 0x426bca
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 0x426bec
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
jmp 0x427215
mov eax, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push edi
call eax
test eax, eax
jne 0x426cfa
call fcn.00455070
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x426a5b
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.00418050
push 3
push 0x4dea84
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.00418050
mov byte [ebp - 4], 0x34
call fcn.00455070
mov dword [ebp - 0xa68], eax
lea ecx, [ebp - 0xa8]
push 0x186
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411d60
mov ebx, eax
push str.no_found_dir
push ebx
mov byte [ebp - 4], 0x35
call fcn.004133b0
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.004134e0
lea ecx, [ebp - 0xa60]
call fcn.00412930
lea ecx, [ebp - 0xa48]
call fcn.00412930
or ebx, 0xffffffff
mov dword [ebp - 0xa68], 0
jmp 0x427196
push 0x208
lea eax, [ebp - 0x620]
push 0
push eax
call fcn.0047cba0
add esp, 0xc
lea eax, [ebp - 0x620]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push str.HaloWPDumper
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.0047cba0
add esp, 0xc
lea eax, [ebp - 0xa30]
push 0x104
push eax
call fcn.0045ea00
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 0x426d80
sub ecx, edx
lea eax, [ebp - 0x620]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xa7c]
call fcn.0040e030
jmp 0x426a4e
mov eax, dword [ebp - 0xa74]
lea ecx, [ebp - 0xa7c]
add eax, 0x78
push ecx
mov ecx, eax
mov dword [ebp - 0xa64], eax
call fcn.0040f500
mov ecx, dword [ebp - 0xa64]
push str..zip
mov eax, dword [ecx]
mov eax, dword [eax - 0xc]
add eax, 5
push eax
call fcn.00427380
push eax
call dword [sym.imp.SHLWAPI.dll_PathRenameExtensionW]
mov ecx, dword [ebp - 0xa64]
mov eax, dword [ecx]
test eax, eax
jne 0x426df4
xor edx, edx
jmp 0x426e10
push dword [eax - 8]
push eax
call fcn.00489fa3
mov edx, eax
add esp, 8
test edx, edx
js 0x427295
mov ecx, dword [ebp - 0xa64]
mov eax, dword [ecx]
cmp edx, dword [eax - 8]
jg 0x427295
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.00432e70
cmp dword [edi - 0xc], esi
mov esi, dword [ebp - 0xa88]
mov byte [ebp - 4], 0x36
jne 0x427040
lea ecx, [ebp - 0xa84]
call fcn.00433320
test eax, eax
je 0x42702c
lea eax, [ebp - 0xa7c]
push eax
lea ecx, [ebp - 0xa84]
call fcn.00432f50
test eax, eax
je 0x42702c
cmp dword [esi - 0xc], 0
je 0x426ff5
push 0x5c
push dword [ebp - 0xa7c]
call fcn.0047d346
mov ecx, dword [ebp - 0xa7c]
add esp, 8
test eax, eax
jne 0x426e9b
or eax, 0xffffffff
jmp 0x426e9f
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 0x4272d6
lea eax, [esi + edx]
mov esi, dword [ecx - 0xc]
cmp eax, esi
jle 0x426ee2
mov eax, esi
sub eax, edx
jmp 0x426ee8
mov eax, dword [ebp - 0xa78]
xor esi, esi
cmp edx, dword [ecx - 0xc]
cmovle esi, eax
test edx, edx
jne 0x426f13
cmp esi, dword [ecx - 0xc]
jne 0x426f13
add ecx, 0xfffffff0
push ecx
call fcn.0040ce60
add esp, 4
add eax, 0x10
mov dword [ebp - 0xa70], eax
jmp 0x426fb8
mov ecx, dword [ecx - 0x10]
test ecx, ecx
je 0x426f29
mov eax, dword [ecx]
call dword [eax + 0x10]
mov dword [ebp - 0xa78], eax
test eax, eax
jne 0x426f3b
call fcn.0040d0d0
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 0x4272bd
test ecx, ecx
jne 0x426f64
test esi, esi
jne 0x4272c7
mov eax, dword [eax]
mov ecx, dword [ebp - 0xa78]
push 2
push esi
call dword [eax]
test eax, eax
je 0x4272d1
add eax, 0x10
mov dword [ebp - 0xa70], eax
test esi, esi
js 0x427295
cmp esi, dword [eax - 8]
jg 0x427295
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.0040cec0
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.004253d0
lea ecx, [ebp - 0xa70]
mov byte [ebp - 4], 0x36
call fcn.0040cbb0
mov esi, dword [ebp - 0xa88]
lea ecx, [ebp - 0xa84]
call fcn.00433210
cmp dword [esi - 0xc], 0
je 0x427018
mov ecx, dword [ebp - 0xa74]
lea eax, [ebp - 0xa7c]
push eax
call fcn.00427cb0
mov ecx, dword [ebp - 0xa64]
push ecx
mov ecx, dword [ebp - 0xa80]
call fcn.0042fd20
jmp 0x42708d
mov ecx, dword [ebp - 0xa80]
lea eax, [ebp - 0xa7c]
push eax
call fcn.0042fd20
jmp 0x42708d
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.00424fb0
mov ecx, dword [ebp - 0xa64]
push ecx
mov ecx, dword [ebp - 0xa80]
call fcn.0042fd20
lea ecx, [ebp - 0xa84]
call fcn.00433210
mov edi, dword [ebp - 0xa94]
mov ecx, dword [ebp - 0xa74]
mov eax, dword [ecx + 4]
mov dword [ecx + 0x74], eax
call fcn.00455070
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x427181
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.00418050
push 3
push 0x4dea84
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.00418050
mov byte [ebp - 4], 0x39
call fcn.00455070
mov dword [ebp - 0xa68], eax
lea ecx, [ebp - 0xa8]
push 0x1d4
lea eax, [ebp - 0xa48]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.00411d60
mov ebx, eax
push str.generate_upload_zip_file_suc
push ebx
mov byte [ebp - 4], 0x3a
call fcn.00410fc0
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.004134e0
lea ecx, [ebp - 0xa60]
call fcn.00412930
lea ecx, [ebp - 0xa48]
call fcn.00412930
or ebx, 0xffffffff
lea ecx, [ebp - 0xa84]
mov dword [ebp - 0xa68], 1
call fcn.00432f30
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 0x4271b7
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 0x4271d2
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 0x4271ed
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 0x42720f
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.0046522d
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.0040ce10
push 0x80004005
call fcn.0040ce10
push 0x80004005
call fcn.0040ce10
push 0x80004005
call fcn.0040ce10
push 0x80004005
call fcn.0040ce10
push 0x80004005
call fcn.0040ce10
push 0x80004005
call fcn.0040ce10
push 0x80004005
call fcn.0040ce10
push 0x80004005
call fcn.0040ce10
push 0x80004005
call fcn.0040ce10
push 0x80070057
call fcn.0040ce10
push 0x80004005
call fcn.0040ce10
push 0x80004005
call fcn.0040ce10
push 0x80004005
call fcn.0040ce10
push 0x80004005
call fcn.0040ce10
push 0x80070057
call fcn.0040ce10
call fcn.0040e160
push 0x80070216
call fcn.0040ce10
int3