Function at 0x4dcb40
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x627659
mov eax, dword fs:[0]
push eax
sub esp, 0x254
mov eax, dword [0x6ec7c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x238], esi
push 2
push 0
mov dword [ebp - 4], 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
push 0x65e518
call dword [0x63d2ac]
add esp, 4
lea edi, [esi + 0xdc]
mov ecx, edi
mov dword [ebp - 0x244], edi
call fcn.005601a0
call fcn.004c3910
test eax, eax
jne 0x4dce78
call fcn.0047c190
test eax, eax
jne 0x4dce78
lea eax, [ebp - 0x5c]
push eax
call fcn.004c32a0
add esp, 4
cmp dword [eax + 0x14], 7
jbe 0x4dcbd9
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov ecx, dword [ebp - 0x48]
cmp ecx, 7
jbe 0x4dcc1c
mov edx, dword [ebp - 0x5c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4dcc12
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4dcc12
call dword [0x63e2e0]
push ecx
push edx
call fcn.00604b8c
add esp, 8
push str._autorun
mov ecx, edi
call fcn.0055fae0
push str.__StartElevated
mov ecx, edi
mov byte [ebp - 0x231], al
call fcn.0055fae0
test al, al
je 0x4dcd10
lea ecx, [ebp - 0x230]
call dword [0x63f5ac]
mov byte [ebp - 4], 1
xor esi, esi
mov ecx, edi
call fcn.0055fc80
cmp esi, eax
jge 0x4dccc9
mov ecx, edi
call fcn.0055fcd0
mov ecx, str.__StartElevated
mov eax, dword [eax + esi*4]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4dcc96
test dx, dx
je 0x4dcc92
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4dcc96
add eax, 4
add ecx, 4
test dx, dx
jne 0x4dcc70
xor eax, eax
jmp 0x4dcc9b
sbb eax, eax
or eax, 1
test eax, eax
je 0x4dccc6
mov ecx, edi
call fcn.0055fcd0
lea ecx, [ebp - 0x230]
push dword [eax + esi*4]
call dword [0x63f4bc]
push 0x640cf4
lea ecx, [ebp - 0x230]
call dword [0x63f4bc]
inc esi
jmp 0x4dcc54
push str.__WaitUntilAnotherInstanceCloses
lea ecx, [ebp - 0x230]
call dword [0x63f4bc]
mov esi, dword [ebp - 0x238]
lea eax, [ebp - 0x230]
push eax
mov ecx, esi
call fcn.004df710
mov eax, dword [esi + 0x20]
push 0
push 0
push 0x10
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0
call dword [0x63f5a8]
mov ecx, 0x6ff280
call fcn.004cb5a0
push str.CShellApp::SaveApplicationLocationToRegistry
lea ecx, [ebp - 0x1f4]
call fcn.00562ae0
push reloc.WS2_32.dll_accept
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 2
call dword [0x63d294]
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 3
push eax
call fcn.004c32a0
add esp, 4
mov esi, eax
cmp dword [esi + 0x14], 7
mov byte [ebp - 4], 4
jbe 0x4dcd5d
mov esi, dword [esi]
push str.SOFTWARENovosoftHandy_Backup_8
lea ecx, [ebp - 0x25c]
call dword [0x63d280]
test al, al
je 0x4dcd90
push esi
push str.ApplicationLocation
lea ecx, [ebp - 0x25c]
call dword [0x63d290]
lea ecx, [ebp - 0x25c]
call dword [0x63d284]
mov ecx, dword [ebp - 0x48]
mov byte [ebp - 4], 3
cmp ecx, 7
jbe 0x4dcdd0
mov edx, dword [ebp - 0x5c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4dcdc6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4dcdc6
call dword [0x63e2e0]
push ecx
push edx
call fcn.00604b8c
add esp, 8
lea ecx, [ebp - 0x25c]
call dword [0x63d298]
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 4], 0
call fcn.005630c0
mov ecx, 0x6ff280
call fcn.004cb8b0
push str.__RemoveCustomServices
mov ecx, edi
call fcn.0055fae0
test al, al
je 0x4dce96
lea eax, [ebp - 0x231]
mov byte [ebp - 0x231], 0
push eax
push 0
call fcn.00487e70
add esp, 8
test al, al
je 0x4dce40
cmp byte [ebp - 0x231], 0
jne 0x4dce40
mov eax, dword [ebp - 0x238]
mov dword [eax + 0xd8], 1
jmp 0x4dce78
mov ecx, 0x6ff280
call fcn.004cb870
test eax, eax
je 0x4dce66
mov ecx, 0x6ff280
call fcn.004cb830
test eax, eax
je 0x4dce66
mov ecx, 0x6fd864
call fcn.00489200
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x238]
mov dword [ecx + 0xd8], eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00604ed9
mov esp, ebp
pop ebp
ret
mov ecx, 0x6fd864
call fcn.0048a840
test al, al
je 0x4dcec0
push str.__WaitUntilAnotherInstanceCloses
mov ecx, edi
call fcn.0055fae0
test al, al
jne 0x4dcec0
mov ecx, 0x6fd864
call fcn.00489110
jmp 0x4dce66
xor esi, esi
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], esi
cmp byte [ebp - 0x231], 0
mov byte [ebp - 4], 5
jne 0x4dcf77
cmp dword [0x6ff4bc], esi
je 0x4dcf77
push 0x130
call fcn.0060388f
add esp, 4
mov dword [ebp - 0x23c], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x4dcf16
push esi
mov ecx, eax
call fcn.004eb170
mov edi, eax
jmp 0x4dcf18
xor edi, edi
mov dword [ebp - 0x23c], edi
push 0x10
mov byte [ebp - 4], 7
call fcn.0060388f
mov esi, eax
add esp, 4
mov dword [ebp - 0x23c], esi
test esi, esi
je 0x4dcf5f
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
mov dword [esi + 4], 1
mov dword [esi + 8], 1
mov dword [esi], vtable.std::_Ref_count_class_CSplashWnd_.0
mov dword [esi + 0xc], edi
jmp 0x4dcf61
xor esi, esi
mov dword [ebp - 0x258], edi
mov edi, dword [ebp - 0x244]
mov byte [ebp - 4], 5
mov dword [ebp - 0x254], esi
mov ecx, 0x6fd864
call fcn.0048a840
test al, al
je 0x4dcfcf
push str.__WaitUntilAnotherInstanceCloses
mov ecx, edi
call fcn.0055fae0
test al, al
je 0x4dcfcf
mov ecx, 0x6fd864
call fcn.0048c370
test al, al
jne 0x4dcfc5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x238]
mov dword [ecx + 0xd8], eax
test esi, esi
je 0x4dce78
or edi, 0xffffffff
jmp 0x4dddd5
mov ecx, 0x6ff280
call fcn.004cb8b0
push str.__StartInProcessMode
mov ecx, edi
call fcn.0055fae0
test al, al
je 0x4dcfe9
mov ecx, 0x6fd864
call fcn.00489200
cmp dword [0x6ff294], 2
sbb eax, eax
neg eax
cmp dword [0x6ff294], 2
mov dword [0x6ff59c], eax
jae 0x4dd016
mov ecx, 0x6ff280
mov dword [0x6ff294], 2
call fcn.004cb9b0
push 0
call fcn.00563420
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
movups xmmword [ebp - 0x2c], xmm0
add esp, 4
mov word [ebp - 0x2c], ax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 8
push eax
push str.__DebugLogDirectory
mov ecx, edi
call fcn.005600e0
test al, al
jne 0x4dd0a6
lea eax, [ebp - 0x5c]
mov ecx, 0x6ff280
push eax
call fcn.004cb4a0
push eax
lea ecx, [ebp - 0x2c]
call fcn.00415770
mov ecx, dword [ebp - 0x48]
cmp ecx, 7
jbe 0x4dd0a6
mov edx, dword [ebp - 0x5c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4dd09c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4dd09c
call dword [0x63e2e0]
push ecx
push edx
call fcn.00604b8c
add esp, 8
sub esp, 0x14
mov ecx, esp
mov dword [ebp - 0x23c], ecx
mov byte [ebp - 0x23c], 0
push dword [ebp - 0x23c]
lea eax, [ecx + 4]
mov dword [ecx + 0x10], 0
push 2
push eax
push ecx
mov dword [ecx + 0x10], 2
mov dword [ecx], 0x2f005c
call fcn.004324e0
add esp, 0x10
lea eax, [ebp - 0x2c]
push eax
call fcn.004dad90
add esp, 0x18
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 7
mov ecx, 0x6e9c08
cmova eax, dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push eax
call fcn.004194b0
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4dd4a9
cmp eax, 2
jb 0x4dd1f7
cmp dword [ebp - 0x18], 7
lea edi, [ebp - 0x2c]
push 0x100
cmova edi, dword [ebp - 0x2c]
lea eax, [ebp - 0x1bc]
push 0
push eax
mov dword [ebp - 0x23c], edi
call fcn.0060ddfb
add esp, 0xc
mov ecx, 0x64120c
mov edx, 0x100
nop dword [eax + eax]
movzx eax, word [ecx]
cmp ax, dx
jae 0x4dd1a4
movzx eax, al
add ecx, 2
mov byte [ebp + eax - 0x1bc], 1
cmp ecx, 0x64120e
jne 0x4dd150
mov eax, dword [ebp - 0x1c]
or ecx, 0xffffffff
dec eax
cmp eax, ecx
cmovb ecx, eax
lea ecx, [edi + ecx*2]
nop dword [eax]
movzx eax, word [ecx]
cmp ax, dx
jae 0x4dd192
cmp byte [ebp + eax - 0x1bc], 0
jne 0x4dd19b
cmp ecx, edi
je 0x4dd19f
sub ecx, 2
jmp 0x4dd180
sub ecx, edi
jmp 0x4dd1e0
or ecx, 0xffffffff
jmp 0x4dd1e2
mov eax, dword [ebp - 0x1c]
or ecx, 0xffffffff
dec eax
cmp eax, ecx
cmovb ecx, eax
lea ecx, [edi + ecx*2]
movzx edi, word [ecx]
mov edx, 1
mov eax, 0x64120c
cmp word [eax], di
je 0x4dd1da
add eax, 2
sub edx, 1
jne 0x4dd1c0
cmp ecx, dword [ebp - 0x23c]
je 0x4dd19f
sub ecx, 2
jmp 0x4dd1b3
sub ecx, dword [ebp - 0x23c]
sar ecx, 1
mov eax, dword [ebp - 0x1c]
dec eax
cmp ecx, eax
je 0x4dd1f7
push 0x64120c
lea ecx, [ebp - 0x2c]
call fcn.004157d0
push 0
or edi, 0xffffffff
call dword [0x63e3bc]
mov dword [ebp - 0x24c], eax
lea eax, [ebp - 0x24c]
push eax
mov dword [ebp - 0x248], edx
call dword [0x63e3c8]
push eax
push str._y__m__d__H__M__S
lea eax, [ebp - 0x184]
push 0x64
push eax
call dword [0x63e3b8]
add esp, 0x18
lea eax, [ebp - 0x184]
lea ecx, [ebp - 0x1d4]
push eax
call fcn.00414770
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0x244]
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 9
call fcn.0055fd10
push 0x644a08
push eax
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 0xa
push eax
call fcn.00414120
add esp, 0xc
push dword [ebp - 0x23c]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xb
push eax
push dword [ebp - 0x23c]
call fcn.004147b0
push str..log
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00414120
add esp, 0xc
cmp dword [eax + 0x14], 7
mov ecx, eax
mov byte [ebp - 4], 0xd
jbe 0x4dd2ba
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00418500
mov ecx, dword [ebp - 0xa8]
mov byte [ebp - 4], 0xc
cmp ecx, 7
jbe 0x4dd30a
mov edx, dword [ebp - 0xbc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4dd300
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4dd455
push ecx
push edx
call fcn.00604b8c
add esp, 8
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
mov byte [ebp - 4], 0xb
cmp ecx, 7
jbe 0x4dd365
mov edx, dword [ebp - 0x74]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4dd35b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4dd455
push ecx
push edx
call fcn.00604b8c
add esp, 8
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 7
mov word [ebp - 0x74], ax
mov byte [ebp - 4], 0xa
cmp ecx, 7
jbe 0x4dd3ba
mov edx, dword [ebp - 0x8c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4dd3b0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4dd455
push ecx
push edx
call fcn.00604b8c
add esp, 8
mov ecx, dword [ebp - 0x48]
xor eax, eax
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
mov byte [ebp - 4], 9
cmp ecx, 7
jbe 0x4dd40b
mov edx, dword [ebp - 0x5c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4dd401
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4dd455
push ecx
push edx
call fcn.00604b8c
add esp, 8
mov ecx, dword [ebp - 0x1c0]
xor eax, eax
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
mov byte [ebp - 4], 8
cmp ecx, 7
jbe 0x4dd465
mov edx, dword [ebp - 0x1d4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4dd45b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4dd45b
call dword [0x63e2e0]
push ecx
push edx
call fcn.00604b8c
add esp, 8
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1d4]
push eax
call dword [0x63d27c]
add esp, 8
cmp dword [eax + 0x14], 0xf
mov byte [ebp - 4], 0xe
jbe 0x4dd485
mov eax, dword [eax]
push eax
call fcn.00563400
add esp, 4
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1d4]
call fcn.00415400
push 1
call fcn.00563420
add esp, 4
jmp 0x4dd4ac
or edi, 0xffffffff
push str.CShellApp::InitInstance
lea ecx, [ebp - 0x22c]
call fcn.00562ae0
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0xf
push eax
call dword [0x63d2d0]
add esp, 4
push eax
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 0x10
push eax
call dword [0x63d218]
add esp, 8
mov dword [ebp - 0x230], eax
lea eax, [ebp - 0x1d4]
mov byte [ebp - 4], 0x11
push eax
call dword [0x63d2bc]
add esp, 4
push eax
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x12
push eax
call dword [0x63d218]
add esp, 8
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x14c], xmm0
xor eax, eax
mov dword [ebp - 0x13c], 0
movups xmmword [ebp - 0x12c], xmm0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0
mov byte [ebp - 0x130], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 7
mov word [ebp - 0x12c], ax
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x16
mov byte [ebp - 0x114], 0xff
call dword [0x63d518]
mov dword [ebp - method.boost::io::basic_altstringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.boost::io::basic_altstringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov dword [ebp - 0xd8], 0
mov byte [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 3
mov byte [ebp - 0xc8], 0
push 0xe
xorps xmm0, xmm0
mov byte [ebp - 4], 0x18
push str.Version:__s__s
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x64], 0
movups xmmword [ebp - 0x74], xmm0
mov dword [ebp - 0x60], 0
call fcn.00414450
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0x158]
call fcn.0041fbc0
mov ecx, dword [ebp - 0x60]
mov byte [ebp - 4], 0x18
cmp ecx, 7
jbe 0x4dd646
mov edx, dword [ebp - 0x74]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4dd63c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4dd63c
call dword [0x63e2e0]
push ecx
push edx
call fcn.00604b8c
add esp, 8
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x250], eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x158]
mov byte [ebp - 4], 0x1a
push eax
mov dword [ebp - 0x24c], fcn.0040f740
mov dword [ebp - 0x248], 0x4dac40
call fcn.0041aaf0
mov ecx, dword [ebp - 0x230]
add esp, 8
mov dword [ebp - 0x250], ecx
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x24c], fcn.0040f740
mov dword [ebp - 0x248], 0x4dac40
push ecx
push eax
call fcn.0041aaf0
add esp, 8
lea ecx, [ebp - 0x44]
push ecx
mov ecx, eax
call fcn.00420870
cmp byte [ebp - 0xc8], 0
mov byte [ebp - 4], 0x1c
je 0x4dd6ec
mov ecx, dword [ebp - 0xc0]
test ecx, ecx
je 0x4dd6e5
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x4dd6e5
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov byte [ebp - 0xc8], 0
cmp byte [ebp - 0xd4], 0
mov dword [ebp - method.boost::io::basic_altstringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.boost::io::basic_altstringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
je 0x4dd785
lea ecx, [ebp - 0x110]
call dword [0x63d52c]
lea ecx, [ebp - 0x110]
test eax, eax
je 0x4dd721
call dword [0x63d53c]
jmp 0x4dd727
call dword [0x63d530]
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x230], eax
call dword [0x63d520]
mov ecx, dword [ebp - 0x230]
sub ecx, eax
sar ecx, 1
mov dword [ebp - 0x230], ecx
lea ecx, [ebp - 0x110]
call dword [0x63d520]
mov ecx, dword [ebp - 0x230]
add ecx, ecx
cmp ecx, 0x1000
jb 0x4dd77b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4dda92
mov eax, edx
push ecx
push eax
call fcn.00604b8c
add esp, 8
push 0
push 0
push 0
lea ecx, [ebp - 0x110]
mov byte [ebp - 0xd4], 0
call dword [0x63d538]
push 0
push 0
lea ecx, [ebp - 0x110]
call dword [0x63d540]
lea ecx, [ebp - 0x110]
mov dword [ebp - 0xd8], 0
call dword [0x63d51c]
mov ecx, dword [ebp - 0x118]
cmp ecx, 7
jbe 0x4dd804
mov edx, dword [ebp - 0x12c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4dd7fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4dda92
push ecx
push edx
call fcn.00604b8c
add esp, 8
mov ecx, dword [ebp - 0x14c]
xor eax, eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 7
mov word [ebp - 0x12c], ax
test ecx, ecx
je 0x4dd883
mov eax, dword [ebp - 0x144]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x4dd85b
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4dda92
push edx
push ecx
call fcn.00604b8c
add esp, 8
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x158]
test eax, eax
je 0x4dda06
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x230], ecx
cmp eax, ecx
je 0x4dd995
lea edi, [eax + 0x30]
cmp byte [edi + 0x28], 0
je 0x4dd8cc
mov ecx, dword [edi + 0x30]
test ecx, ecx
je 0x4dd8c8
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x4dd8c8
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov byte [edi + 0x28], 0
mov ecx, 0xfffffffc
mov eax, edi
add eax, ecx
mov ecx, dword [edi]
mov dword [ebp - 0x23c], eax
cmp ecx, 7
jbe 0x4dd91a
mov eax, dword [edi - 0x14]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x4dd90a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4dda92
mov eax, edx
push ecx
push eax
call fcn.00604b8c
mov eax, dword [ebp - 0x23c]
add esp, 8
mov dword [eax], 0
xor eax, eax
mov dword [edi], 7
mov word [edi - 0x14], ax
mov ecx, dword [edi - 0x18]
cmp ecx, 7
jbe 0x4dd966
mov eax, dword [edi - 0x2c]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x4dd95c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4dda92
mov eax, edx
push ecx
push eax
call fcn.00604b8c
add esp, 8
xor eax, eax
mov dword [edi - 0x1c], 0
mov word [edi - 0x2c], ax
mov dword [edi - 0x18], 7
add edi, 0x78
lea eax, [edi - 0x30]
cmp eax, dword [ebp - 0x230]
jne 0x4dd8a8
mov eax, dword [ebp - 0x158]
or edi, 0xffffffff
mov ecx, dword [ebp - 0x150]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x158]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
shl edx, 4
sub edx, eax
mov eax, ecx
shl edx, 3
cmp edx, 0x1000
jb 0x4dd9de
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4dda92
push edx
push ecx
call fcn.00604b8c
add esp, 8
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0
mov ecx, dword [ebp - 0x48]
mov byte [ebp - 4], 0x1d
cmp ecx, 7
jbe 0x4dda40
mov edx, dword [ebp - 0x5c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4dda36
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4dda92
push ecx
push edx
call fcn.00604b8c
add esp, 8
xor eax, eax
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
lea ecx, [ebp - 0x1d4]
call fcn.00415400
mov ecx, dword [ebp - 0x78]
mov byte [ebp - 4], 0x1f
cmp ecx, 7
jbe 0x4ddaa2
mov edx, dword [ebp - 0x8c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4dda98
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4dda98
call dword [0x63e2e0]
push ecx
push edx
call fcn.00604b8c
add esp, 8
xor eax, eax
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x20
call fcn.00415400
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x74]
push eax
call dword [0x63d27c]
add esp, 8
cmp dword [eax + 0x14], 0xf
mov byte [ebp - 4], 0x21
jbe 0x4ddae5
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00563760
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x20
call fcn.00415400
mov ecx, dword [ebp - 0x238]
call fcn.004e02a0
mov eax, dword [ebp - 0x238]
mov dword [eax + 0xd8], 0
call fcn.00604304
test eax, eax
jne 0x4ddbcc
push 0xffffffffffffffff
push eax
push 0x85
call fcn.006042fe
mov ecx, dword [ebp - 0x30]
cmp ecx, 7
jbe 0x4ddb68
mov edx, dword [ebp - 0x44]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4ddb5e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4ddbb7
push ecx
push edx
call fcn.00604b8c
add esp, 8
xor eax, eax
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
call fcn.005630c0
mov ecx, dword [ebp - 0x18]
cmp ecx, 7
jbe 0x4dddb9
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4ddbbd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4ddbbd
call dword [0x63e2e0]
push ecx
push edx
call fcn.00604b8c
add esp, 8
jmp 0x4dddb9
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
call fcn.005035f0
test eax, eax
je 0x4ddd6e
lea ecx, [ebp - 0xa4]
call fcn.00418bf0
mov ecx, dword [ebp - 0x244]
lea eax, [ebp - 0xa4]
push eax
push str._lang
mov byte [ebp - 4], 0x22
call fcn.005600e0
test al, al
je 0x4ddc26
cmp dword [ebp - 0x90], 7
lea eax, [ebp - 0xa4]
cmova eax, dword [ebp - 0xa4]
push eax
call fcn.0047dc20
add esp, 4
mov ecx, 0x6fce70
call fcn.0041e610
mov eax, dword [0x6ff6cc]
cmp dword [eax - 0xc], 0
jne 0x4ddc9d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x248], esp
push str.DEFAULT_ORDER_URL
call fcn.00414770
sub esp, 0x18
mov byte [ebp - 4], 0x23
mov ecx, esp
push str.CShellApp
call fcn.00414770
lea eax, [ebp - 0x1d4]
mov byte [ebp - 4], 0x22
push eax
call fcn.00477bd0
add esp, 0x34
cmp dword [eax + 0x14], 7
mov byte [ebp - 4], 0x24
jbe 0x4ddc82
mov eax, dword [eax]
push eax
mov ecx, 0x6ff6cc
call dword [0x63f5a4]
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x22
call fcn.00417eb0
mov ecx, 0x6ff6dc
call fcn.004c3db0
mov ecx, 0x6e9970
call fcn.0048f540
mov ecx, dword [ebp - 0x238]
call fcn.004deff0
test eax, eax
jne 0x4ddd63
mov ecx, dword [ebp - 0x238]
call fcn.004dc6d0
test eax, eax
jne 0x4ddd63
mov ecx, dword [ebp - 0x238]
call fcn.004dfb00
push 0x1160
call fcn.0060388f
add esp, 4
mov dword [ebp - 0x248], eax
mov byte [ebp - 4], 0x25
test eax, eax
je 0x4ddd06
mov ecx, eax
call fcn.004a6a60
jmp 0x4ddd08
xor eax, eax
mov ecx, dword [ebp - 0x238]
mov dword [ebp - 0x230], eax
mov byte [ebp - 4], 0x22
mov dword [ecx + 0x20], eax
mov ecx, 0x6fd864
call fcn.0048ab80
test al, al
jne 0x4ddd3d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x238]
mov dword [ecx + 0xd8], eax
jmp 0x4ddd63
mov ecx, dword [ebp - 0x230]
push 0
push 0
push 0xcf8000
mov eax, dword [ecx]
push 0x80
mov eax, dword [eax + 0x170]
call eax
test eax, eax
jne 0x4dde00
lea ecx, [ebp - 0xa4]
call fcn.00417eb0
mov eax, dword [ebp - 0x30]
cmp eax, 7
jbe 0x4ddd86
push eax
push dword [ebp - 0x44]
lea eax, [ebp - 0x44]
push eax
call fcn.00417d60
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x30], 7
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x34], eax
mov word [ebp - 0x44], ax
call fcn.005630c0
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x4dddb9
push eax
push dword [ebp - 0x2c]
lea eax, [ebp - 0x2c]
push eax
call fcn.00417d60
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
test esi, esi
je 0x4dce78
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x4dce78
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x4dce78
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
jmp 0x4dce78
cmp byte [0x6ff2b0], 0
mov eax, 5
je 0x4dde1a
mov dword [ebp - 0x23c], 3
jmp 0x4dde2b
xor ecx, ecx
cmp byte [ebp - 0x231], cl
cmovne eax, ecx
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0x230]
push 3
push 0
push 0
push 0
push 0
push dword [0x63f110]
call fcn.00603c97
mov ecx, dword [ebp - 0x230]
push 3
push 0
push 0
push 0
push 0
push dword [0x63f10c]
call fcn.00603c97
mov eax, dword [ebp - 0x230]
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0
test esi, esi
je 0x4ddea6
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x4ddea6
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x4ddea6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, 0x6ff280
call fcn.004cb870
mov esi, dword [ebp - 0x230]
mov ecx, esi
test eax, eax
je 0x4ddf44
call fcn.004ac0c0
test eax, eax
jne 0x4ddf2c
lea ecx, [ebp - 0xa4]
call fcn.00417eb0
mov eax, dword [ebp - 0x30]
cmp eax, 7
jbe 0x4ddeec
push eax
push dword [ebp - 0x44]
lea eax, [ebp - 0x44]
push eax
call fcn.00417d60
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
call fcn.005630c0
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x4dce78
push eax
push dword [ebp - 0x2c]
lea eax, [ebp - 0x2c]
push eax
call fcn.00417d60
add esp, 0xc
jmp 0x4dce78
push dword [ebp - 0x23c]
mov ecx, esi
call fcn.00603979
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x4ddf81
push dword [ebp - 0x23c]
call fcn.00603979
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp dword [0x6ff454], 0
mov ecx, esi
je 0x4ddf7c
call fcn.004ac0c0
test eax, eax
jne 0x4ddf81
push eax
push eax
push 0x47c
mov ecx, esi
call fcn.00430010
jmp 0x4ddf81
call fcn.004b9a50
mov ecx, 0x6ff280
call fcn.004cb870
test eax, eax
je 0x4de026
mov ecx, 0x6ff280
call fcn.004cb830
test eax, eax
jne 0x4de026
mov ecx, dword [ebp - 0x244]
push str.__EnableHealthMonitoringAndRestarting
call fcn.0055fae0
test al, al
je 0x4de026
mov esi, dword [ebp - 0x238]
lea eax, [ebp - 0x240]
push eax
mov dword [ebp - 0x240], 0x4dfcf0
mov dword [ebp - 0x23c], esi
call fcn.004dac60
add esp, 4
mov dword [ebp - 0x230], eax
test eax, eax
je 0x4ddfec
lock inc dword [eax + 4]
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x26
call fcn.0060d7e0
test al, al
je 0x4de0a7
mov ecx, dword [esi + 0xf0]
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x230], ecx
lea ecx, [ebp - 0x230]
mov dword [esi + 0xf0], eax
call fcn.0049abf0
lea ecx, [ebp - 0xa4]
call fcn.00417eb0
mov eax, dword [ebp - 0x30]
cmp eax, 7
jbe 0x4de049
push eax
push dword [ebp - 0x44]
lea eax, [ebp - 0x44]
push eax
call fcn.00417d60
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
call fcn.005630c0
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x4de080
push eax
push dword [ebp - 0x2c]
lea eax, [ebp - 0x2c]
push eax
call fcn.00417d60
add esp, 0xc
mov eax, 1
jmp 0x4dce7a
lea ecx, [ebp - 0x1ec]
call fcn.00436f80
push eax
mov byte [ebp - 4], 0x27
call fcn.00436060
int3