Function at 0x4d1cd0
Capabilities:
Encode data using xor
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84c
push esi
mov dword [ebp - 0x440], 0x2f7577c9
mov dword [ebp - 0x4ac], 0xbe933638
mov eax, 0xdba
mov word [ebp - 0x568], ax
mov ecx, 0x6270
mov word [ebp - 0x474], cx
mov dword [ebp - 0x18], 0xccef
movzx edx, word [ebp - 0x568]
add edx, 0xd70
mov word [ebp - 0x568], dx
mov dword [ebp - 0x6f4], 0xef31
mov dword [ebp - 0x448], 0x5182
movzx eax, word [ebp - 0x568]
mov dword [ebp - 0x760], eax
cmp dword [ebp - 0x760], 0x5c6
je 0x4d1d53
jmp 0x4d1e02
movsx ecx, word [ebp - 0x474]
cmp ecx, 0x4208
jge 0x4d1dfd
movsx edx, word [ebp - 0x474]
sub edx, 0x6969
mov word [ebp - 0x474], dx
call fcn.0046d040
mov eax, dword [section..data]
mov dword [ebp - 0x764], eax
cmp dword [ebp - 0x764], 0x2ebca50
je 0x4d1da4
cmp dword [ebp - 0x764], 0xf1d65a4
je 0x4d1de5
jmp 0x4d1dfd
movzx ecx, word [ebp - 0x568]
and ecx, 0x184
mov word [ebp - 0x568], cx
lea edx, [ebp - 0x3a4]
push edx
push 0xa5
push 0xd8
push 0
push 0xcc
mov eax, dword [ebp - 0x3a4]
push eax
call dword [sym.imp.SHELL32.dll_SHChangeNotifyRegister]
mov dword [ebp - 0x740], eax
jmp 0x4d1dfd
mov ecx, dword [section..data]
push ecx
movzx edx, byte [ebp + 0xc]
push edx
call fcn.004ef7c0
add esp, 8
mov byte [ebp + 8], 8
jmp 0x4d1e96
cmp dword [ebp - 0x740], 0x9e428404
jne 0x4d1e21
mov edx, dword [ebp - 0x740]
mov ecx, dword [ebp - 0x568]
call fcn.004721c0
jmp 0x4d1e96
mov eax, dword [ebp - 0x740]
xor eax, 0x39617a7c
cmp eax, 0xf62b3f77
jbe 0x4d1e96
lea ecx, [ebp - 0x474]
push ecx
lea edx, [ebp - 0x594]
push edx
call dword [sym.imp.ole32.dll_ProgIDFromCLSID]
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x740], 0x93f4af83
push 0x15
mov eax, dword [ebp - 0x45c]
push eax
mov ecx, dword [ebp - 0x39c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
mov dword [ebp - 0x728], eax
movzx edx, byte [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x740]
push eax
movzx ecx, word [ebp - 0x474]
push ecx
movzx edx, byte [ebp + 8]
push edx
movzx eax, byte [ebp + 8]
push eax
call fcn.00429f50
mov cl, byte [ebp + 8]
mov byte [ebp - 0x768], cl
cmp byte [ebp - 0x768], 0
je 0x4d1f47
cmp byte [ebp - 0x768], 0x76
je 0x4d1eba
jmp 0x4d1f89
mov edx, dword [section..data]
mov dword [ebp - 0x76c], edx
cmp dword [ebp - 0x76c], 0x5b1395c6
je 0x4d1f1e
cmp dword [ebp - 0x76c], 0x6a94c02f
je 0x4d1ee0
jmp 0x4d1f45
call dword [sym.imp.ole32.dll_CoSuspendClassObjects]
mov dword [ebp - 0x570], eax
mov byte [ebp + 0xc], 0x51
movzx eax, byte [ebp + 0xc]
push eax
movzx ecx, byte [ebp + 8]
push ecx
call fcn.004d1cd0
lea edx, [ebp - 0x44]
push edx
push 0xd0
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.ole32.dll_OleRegGetUserType]
mov dword [ebp - 0x464], eax
mov byte [ebp + 0xc], 0xdf
jmp 0x4d1f45
lea ecx, [ebp - 0x594]
push ecx
push 0x73
lea edx, [ebp - 0x44]
push edx
lea eax, [ebp - 0x594]
push eax
mov ecx, dword [ebp - 0x450]
push ecx
call dword [sym.imp.SHELL32.dll_SHDoDragDrop]
mov dword [ebp - 0x468], eax
jmp 0x4d1f89
mov dl, byte [ebp + 0xc]
mov byte [ebp - 0x489], dl
mov dword [ebp - 0x1c], 0x8f98
mov al, byte [ebp + 0xc]
mov byte [ebp - 0x759], al
mov dword [ebp - 0x78], 0x101fd
mov ecx, dword [ebp - 0x740]
mov dword [ebp - 0x758], ecx
mov dword [ebp - 0x6bc], 0xa12d
lea edx, [ebp - 0x474]
mov dword [ebp - 0x488], edx
mov al, byte [ebp + 8]
mov byte [ebp - 0x1d], al
movzx edx, byte [ebp - 0x489]
movzx ecx, byte [ebp + 0xc]
sar edx, cl
mov byte [ebp - 0x759], dl
movsx eax, word [ebp - 0x474]
shl eax, 0xc
mov ecx, dword [ebp - 0x488]
mov word [ecx], ax
mov edx, dword [ebp - 0x6f4]
sub edx, 0x5a
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
or ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
movsx ecx, word [ebp - 0x474]
sub ecx, 0x3ad8
mov edx, dword [ebp - 0x488]
mov word [edx], cx
movsx eax, word [ebp - 0x474]
add eax, 0x3bf7
mov ecx, dword [ebp - 0x488]
mov word [ecx], ax
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x474]
and eax, ecx
mov edx, dword [ebp - 0x488]
mov word [edx], ax
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
add ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
movzx ecx, byte [ebp - 0x489]
movzx edx, byte [ebp + 0xc]
sub ecx, edx
mov byte [ebp - 0x759], cl
mov al, byte [ebp - 0x759]
mov byte [ebp + 0xc], al
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x474]
sub edx, eax
mov ecx, dword [ebp - 0x488]
mov word [ecx], dx
movsx edx, word [ebp - 0x474]
add edx, 0x4f96
mov eax, dword [ebp - 0x488]
mov word [eax], dx
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
or edx, 0x28a4
mov word [ebp - 0x474], dx
mov eax, dword [ebp - 0x488]
movsx edx, word [eax]
movsx ecx, word [ebp - 0x474]
sar edx, cl
mov eax, dword [ebp - 0x488]
mov word [eax], dx
movsx ecx, word [ebp - 0x474]
shl ecx, 5
mov edx, dword [ebp - 0x488]
mov word [edx], cx
movsx eax, word [ebp - 0x474]
xor eax, 0x61b4
mov ecx, dword [ebp - 0x488]
mov word [ecx], ax
mov dl, byte [ebp - 0x1d]
mov byte [ebp + 8], dl
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
and ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
movsx ecx, word [ebp - 0x474]
sub ecx, 0x397a
mov edx, dword [ebp - 0x488]
mov word [edx], cx
movzx eax, byte [ebp - 0x489]
movzx ecx, byte [ebp + 0xc]
add eax, ecx
mov byte [ebp - 0x759], al
movzx edx, byte [ebp - 0x759]
movzx eax, byte [ebp + 0xc]
add edx, eax
mov byte [ebp - 0x489], dl
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x474]
sub edx, eax
mov ecx, dword [ebp - 0x488]
mov word [ecx], dx
mov edx, dword [ebp - 0x740]
and edx, 0xac446d23
mov dword [ebp - 0x758], edx
cmp dword [ebp - 0x6f4], 0xd90b
jae 0x4d1f8f
mov eax, dword [section..data]
mov dword [ebp - 0x10], eax
movzx ecx, word [ebp - 0x568]
mov dword [ebp - 0x770], ecx
cmp dword [ebp - 0x770], 0x928
je 0x4d21b6
cmp dword [ebp - 0x770], 0x1b2a
je 0x4d227c
jmp 0x4d7dc9
movzx edx, word [ebp - 0x568]
cmp edx, 0xfdf
je 0x4d2216
movsx eax, byte [ebp - 0x1d]
shl eax, 6
mov byte [ebp + 8], al
push 0xa1
lea ecx, [ebp - 0x594]
push ecx
push section..text
mov edx, dword [ebp - 0x484]
push edx
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0x24], eax
movsx eax, word [ebp - 0x474]
xor eax, 0x7810
mov ecx, dword [ebp - 0x488]
mov word [ecx], ax
mov edx, dword [ebp - 0x740]
or edx, 0x3a559f3f
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x488]
movsx edx, word [eax]
movsx ecx, word [ebp - 0x474]
sar edx, cl
mov eax, dword [ebp - 0x488]
mov word [eax], dx
movzx ecx, word [ebp - 0x568]
push ecx
movzx edx, byte [ebp + 8]
push edx
mov eax, dword [ebp - 0x488]
movzx ecx, word [eax]
push ecx
mov dl, byte [ebp - 0x489]
mov cl, byte [ebp - 0x759]
call fcn.00478870
lea edx, [ebp - 0x728]
push edx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x488]
push ecx
call dword [sym.imp.ole32.dll_CoGetInterfaceAndReleaseStream]
mov dword [ebp - 0x74c], eax
jmp 0x4d7dc9
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x774], edx
cmp dword [ebp - 0x774], 0x181986c4
je 0x4d22a6
cmp dword [ebp - 0x774], 0x66524227
je 0x4d2325
jmp 0x4d7d7b
mov al, byte [ebp - 0x1d]
mov byte [ebp - 0x778], al
cmp byte [ebp - 0x778], 0x43
je 0x4d22ba
jmp 0x4d230d
lea ecx, [ebp - 0x3cc]
push ecx
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
mov dword [ebp - 0x5a4], eax
movzx edx, byte [ebp - 0x489]
movzx eax, byte [ebp + 0xc]
sub edx, eax
mov byte [ebp - 0x759], dl
movsx ecx, word [ebp - 0x474]
add ecx, 0x4093
mov edx, dword [ebp - 0x488]
mov word [edx], cx
movzx eax, byte [ebp - 0x489]
push eax
movzx ecx, word [ebp - 0x568]
push ecx
call section..text
jmp 0x4d2320
push 0x54
push 0x51
push 0x72
mov edx, dword [ebp - 0x454]
push edx
call dword [sym.imp.SHELL32.dll_SHUpdateImageW]
jmp 0x4d7d7b
mov eax, dword [ebp - 0x740]
mov dword [ebp - 0x77c], eax
cmp dword [ebp - 0x77c], 0xc6ed2df2
je 0x4d2342
jmp 0x4d2421
movzx ecx, word [ebp - 0x568]
mov dword [ebp - 0x780], ecx
cmp dword [ebp - 0x780], 0xcef
je 0x4d2404
cmp dword [ebp - 0x780], 0xf8f
je 0x4d2370
jmp 0x4d241f
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x474]
sub eax, ecx
mov edx, dword [ebp - 0x488]
mov word [edx], ax
movzx eax, byte [ebp - 0x489]
push eax
movzx ecx, byte [ebp + 8]
push ecx
call fcn.004d1cd0
mov edx, dword [section..data]
and edx, 0x72693c17
mov dword [ebp - 0x10], edx
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp - 0x634]
push ecx
lea edx, [ebp - 0x568]
push edx
push 0xc9
lea eax, [ebp - 0x4dc]
push eax
call dword [sym.imp.ole32.dll_CoGetClassObject]
mov dword [ebp - 0x570], eax
movsx ecx, word [ebp - 0x474]
add ecx, 0xf76
mov edx, dword [ebp - 0x488]
mov word [edx], cx
movzx eax, word [ebp - 0x568]
sub eax, 0x6d4
mov word [ebp - 0x568], ax
jmp 0x4d241f
call fcn.0046d040
movsx ecx, word [ebp - 0x474]
add ecx, 0x265c
mov edx, dword [ebp - 0x488]
mov word [edx], cx
jmp 0x4d247f
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x784], eax
cmp dword [ebp - 0x784], 0x546a7f9b
je 0x4d246b
cmp dword [ebp - 0x784], 0x66524227
je 0x4d2444
jmp 0x4d247f
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], ecx
mov dword [ebp - 0x54c], 0xd2a4
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x46c], edx
mov eax, dword [ebp - 0x740]
mov dword [ebp - 0x4a8], eax
jmp 0x4d247f
movzx ecx, word [ebp - 0x568]
xor ecx, 0xa84
mov word [ebp - 0x568], cx
mov dword [ebp - 0x44c], 0xdab1
movzx edx, byte [ebp - 0x759]
movzx ecx, byte [ebp + 0xc]
sar edx, cl
mov byte [ebp - 0x489], dl
movzx eax, byte [ebp - 0x759]
movzx ecx, byte [ebp - 0x489]
or eax, ecx
mov byte [ebp + 0xc], al
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x46c]
shl edx, cl
mov eax, dword [ebp - 4]
mov dword [eax], edx
movsx ecx, byte [ebp + 8]
and ecx, 0x1c
mov byte [ebp - 0x1d], cl
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
add eax, 0x4dca
mov word [ebp - 0x474], ax
movsx ecx, word [ebp - 0x474]
sub ecx, 0x598d
mov edx, dword [ebp - 0x488]
mov word [edx], cx
mov eax, dword [ebp - 0x54c]
add eax, 0x63
mov dword [ebp - 0x54c], eax
movsx ecx, byte [ebp - 0x1d]
add ecx, 0xf
mov byte [ebp + 8], cl
movsx edx, word [ebp - 0x474]
sub edx, 0xcaf
mov eax, dword [ebp - 0x488]
mov word [eax], dx
mov ecx, dword [ebp - 0x758]
mov dword [ebp - 0x740], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, dword [ebp - 0x46c]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
sub eax, dword [ebp - 0x46c]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
and eax, dword [ebp - 0x10]
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
movsx eax, word [ebp - 0x474]
xor eax, 0x680d
mov ecx, dword [ebp - 0x488]
mov word [ecx], ax
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x474]
or eax, ecx
mov edx, dword [ebp - 0x488]
mov word [edx], ax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x46c]
sar edx, cl
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x10]
shl edx, cl
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x474]
add edx, eax
mov ecx, dword [ebp - 0x488]
mov word [ecx], dx
movsx edx, word [ebp - 0x474]
and edx, 0xf7d
mov eax, dword [ebp - 0x488]
mov word [eax], dx
movzx ecx, byte [ebp - 0x489]
movzx edx, byte [ebp + 0xc]
add ecx, edx
mov byte [ebp - 0x759], cl
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
sub ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
movsx ecx, word [ebp - 0x474]
add ecx, 0x3494
mov edx, dword [ebp - 0x488]
mov word [edx], cx
movsx eax, word [ebp - 0x474]
sub eax, 0x17e1
mov ecx, dword [ebp - 0x488]
mov word [ecx], ax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
movsx edx, word [ebp - 0x474]
sub edx, 0x19b9
mov eax, dword [ebp - 0x488]
mov word [eax], dx
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x474]
add edx, eax
mov ecx, dword [ebp - 0x488]
mov word [ecx], dx
mov edx, dword [ebp - 0x46c]
and edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov dword [eax], edx
movsx ecx, word [ebp - 0x474]
sar ecx, 0xd
mov edx, dword [ebp - 0x488]
mov word [edx], cx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x46c]
mov dword [ebp - 0x10], ecx
movsx edx, byte [ebp - 0x1d]
or edx, 0xe
mov byte [ebp + 8], dl
movsx eax, word [ebp - 0x474]
shl eax, 6
mov ecx, dword [ebp - 0x488]
mov word [ecx], ax
movzx edx, byte [ebp - 0x759]
movzx eax, byte [ebp + 0xc]
sub edx, eax
mov byte [ebp - 0x489], dl
mov ecx, dword [ebp - 0x758]
sub ecx, dword [ebp - 0x4a8]
mov dword [ebp - 0x740], ecx
mov edx, dword [ebp - 0x46c]
and edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov dword [eax], edx
movsx ecx, byte [ebp - 0x1d]
add ecx, 0x4a
mov byte [ebp + 8], cl
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x46c]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
add ecx, 0x172
mov word [ebp - 0x474], cx
movsx edx, word [ebp - 0x474]
sub edx, 0x4a2d
mov eax, dword [ebp - 0x488]
mov word [eax], dx
cmp dword [ebp - 0x54c], 0xdb26
jb 0x4d2489
mov ecx, dword [ebp - 0x4a8]
add ecx, dword [ebp - 0x758]
cmp ecx, dword [ebp - 0x740]
jbe 0x4d278c
lea edx, [ebp - 0x430]
push edx
call dword [sym.imp.COMDLG32.dll_PrintDlgW]
mov dword [ebp - 0x3a0], eax
movzx eax, word [ebp - 0x568]
mov dword [ebp - 0x788], eax
cmp dword [ebp - 0x788], 0xb49
je 0x4d27ba
cmp dword [ebp - 0x788], 0x1b2a
je 0x4d2866
jmp 0x4d289b
mov ecx, dword [ebp - 0x758]
mov dword [ebp - 0x78c], ecx
cmp dword [ebp - 0x78c], 0x42fe7c2
je 0x4d27d4
jmp 0x4d2849
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x474]
sub eax, ecx
mov edx, dword [ebp - 0x488]
mov word [edx], ax
call fcn.0046d040
movzx eax, byte [ebp - 0x489]
movzx ecx, byte [ebp + 0xc]
sub eax, ecx
mov byte [ebp - 0x759], al
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x474]
xor eax, ecx
mov edx, dword [ebp - 0x488]
mov word [edx], ax
lea eax, [ebp - 0x398]
push eax
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
mov dword [ebp - 0x3a0], eax
mov ecx, dword [ebp - 0x758]
or ecx, dword [ebp - 0x740]
mov dword [ebp - 0x4a8], ecx
jmp 0x4d2864
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x474]
shl eax, cl
mov ecx, dword [ebp - 0x488]
mov word [ecx], ax
jmp 0x4d289b
lea edx, [ebp + 0xc]
mov dword [ebp - 0x598], edx
mov dword [ebp - 0x560], 0x1043
lea eax, [ebp - 0x46c]
mov dword [ebp - 0x4b0], eax
lea ecx, [ebp - 0x4a8]
mov dword [ebp - 0x5a0], ecx
mov dword [ebp - 0x458], 0xd53
mov edx, dword [ebp - 0x458]
add edx, 0xb
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x4b0]
mov edx, dword [eax]
mov ecx, dword [ecx]
sar edx, cl
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x46c]
and ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
add ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x489]
sub edx, eax
mov ecx, dword [ebp - 0x598]
mov byte [ecx], dl
mov edx, dword [ebp - 0x758]
and edx, dword [ebp - 0x740]
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
movsx ecx, byte [ebp - 0x1d]
add ecx, 0x35
mov byte [ebp + 8], cl
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x474]
add eax, ecx
mov edx, dword [ebp - 0x488]
mov word [edx], ax
movzx eax, byte [ebp - 0x489]
movzx ecx, byte [ebp - 0x759]
sub eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x46c]
add ecx, dword [eax]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x759]
movzx ecx, byte [ebp - 0x489]
sub eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x740]
mov edx, dword [ebp - 0x5a0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x46c]
sar eax, cl
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
xor eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5a0]
mov eax, dword [ebp - 0x740]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x4b0]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
movzx edx, byte [ebp + 0xc]
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x489], dl
movsx edx, byte [ebp - 0x1d]
sub edx, 0x52
mov byte [ebp + 8], dl
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x758]
add eax, dword [ebp - 0x740]
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x46c]
and edx, dword [ecx]
mov eax, dword [ebp - 0x4b0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4b0]
mov edx, dword [ecx]
add edx, dword [ebp - 0x46c]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x759]
sub edx, eax
mov ecx, dword [ebp - 0x598]
mov byte [ecx], dl
movsx edx, word [ebp - 0x474]
add edx, 0x4e9d
mov eax, dword [ebp - 0x488]
mov word [eax], dx
movsx ecx, byte [ebp - 0x1d]
sub ecx, 5
mov byte [ebp + 8], cl
movsx edx, word [ebp - 0x474]
shl edx, 8
mov eax, dword [ebp - 0x488]
mov word [eax], dx
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x4a8]
shr edx, cl
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4b0]
mov edx, dword [ebp - 0x10]
xor edx, dword [ecx]
mov eax, dword [ebp - 4]
mov dword [eax], edx
movzx ecx, word [ebp - 0x568]
or ecx, 0xdb2
mov word [ebp - 0x568], cx
movzx edx, byte [ebp - 0x489]
movzx eax, byte [ebp - 0x759]
and edx, eax
mov ecx, dword [ebp - 0x598]
mov byte [ecx], dl
mov edx, dword [ebp - 0x5a0]
mov eax, dword [edx]
sub eax, dword [ebp - 0x740]
mov ecx, dword [ebp - 0x5a0]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
add eax, dword [edx]
mov ecx, dword [ebp - 0x4b0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4b0]
mov eax, dword [edx]
mov ecx, dword [ebp - 4]
add eax, dword [ecx]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], eax
cmp dword [ebp - 0x458], 0xfa5
jb 0x4d289b
lea eax, [ebp - 0x4a8]
mov dword [ebp - 0x434], eax
movzx ecx, word [ebp - 0x568]
cmp ecx, 0x754
jge 0x4d2b87
mov edx, dword [ebp - 0x3d0]
push edx
mov eax, dword [ebp - 0x454]
push eax
mov ecx, dword [ebp - 0x3d0]
push ecx
call dword [sym.imp.SHELL32.dll_FindExecutableW]
mov dword [ebp - 0x494], eax
call fcn.0046d040
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x474]
sub eax, ecx
mov edx, dword [ebp - 0x488]
mov word [edx], ax
cmp dword [ebp - 0x78], 0xfe1f
jbe 0x4d2e45
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
movzx edx, byte [ebp + 0xc]
sub ecx, edx
mov byte [ebp - 0x759], cl
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [eax]
mov edx, dword [ebp - 4]
add ecx, dword [edx]
mov dword [ebp - 0x46c], ecx
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x740]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x5a0]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x434]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x4a8]
mov edx, dword [ebp - 0x5a0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x488]
movsx edx, word [eax]
movsx ecx, word [ebp - 0x474]
shl edx, cl
mov eax, dword [ebp - 0x488]
mov word [eax], dx
movzx edx, byte [ebp + 0xc]
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp - 0x489], dl
movzx ecx, word [ebp - 0x568]
and ecx, 0x4a2
mov word [ebp - 0x568], cx
mov edx, dword [ebp - 0x5a0]
mov eax, dword [ebp - 0x4a8]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x434]
mov dword [ecx], eax
mov edx, dword [ebp - 0x78]
sub edx, 0x1e
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x10]
add eax, dword [section..data]
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x759]
add edx, eax
mov byte [ebp - 0x489], dl
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x489]
sub edx, eax
mov ecx, dword [ebp - 0x598]
mov byte [ecx], dl
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x740]
sub eax, dword [edx]
mov dword [ebp - 0x758], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4b0]
mov dword [eax], edx
movsx ecx, byte [ebp - 0x1d]
and ecx, 4
mov byte [ebp + 8], cl
mov edx, dword [ebp - 0x4a8]
add edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
movsx ecx, word [ebp - 0x474]
sar edx, cl
mov eax, dword [ebp - 0x488]
mov word [eax], dx
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0x759]
shl edx, cl
mov eax, dword [ebp - 0x598]
mov byte [eax], dl
movsx ecx, byte [ebp - 0x1d]
or ecx, 0x1e
mov byte [ebp + 8], cl
mov edx, dword [ebp - 0x46c]
xor edx, dword [section..data]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
add ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx eax, byte [ebp + 0xc]
and edx, eax
mov ecx, dword [ebp - 0x598]
mov byte [ecx], dl
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x759]
add eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
movsx eax, byte [ebp - 0x1d]
sub eax, 0x7d
mov byte [ebp + 8], al
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x5a0]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x740], eax
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ebp - 0x758]
add edx, dword [ecx]
mov dword [ebp - 0x4a8], edx
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
add ecx, dword [eax]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x4b0]
add ecx, dword [edx]
mov dword [ebp - 0x46c], ecx
movzx eax, byte [ebp - 0x759]
movzx ecx, byte [ebp + 0xc]
and eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
movzx eax, word [ebp - 0x568]
or eax, 0x95e
mov word [ebp - 0x568], ax
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ebp - 0x4a8]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x434]
mov dword [eax], edx
jmp 0x4d2b87
mov ecx, dword [ebp - 0x4a8]
mov dword [ebp - 0x790], ecx
cmp dword [ebp - 0x790], 0
je 0x4d2e6b
cmp dword [ebp - 0x790], 0x57a7544e
je 0x4d2eb9
jmp 0x4d2f10
lea edx, [ebp - 0x10]
mov dword [ebp - 0x4c4], edx
mov eax, dword [ebp - 0x4b0]
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
sar edx, cl
mov eax, dword [ebp - 0x4c4]
mov dword [eax], edx
mov dword [ebp - 0x6b4], 0xbe59
lea ecx, [ebp - 0x758]
mov dword [ebp - 0x3dc], ecx
mov edx, dword [ebp - 0x598]
mov al, byte [edx]
mov byte [ebp - 0x479], al
mov dword [ebp - 0x5a8], 0x68c2
jmp 0x4d2f10
lea ecx, [ebp - 0x5a4]
push ecx
push 0xdf
lea edx, [ebp - 0x594]
push edx
push 0x4b
lea eax, [ebp - 0x1d]
push eax
lea ecx, [ebp - 0x6b0]
push ecx
call dword [sym.imp.ole32.dll_CoGetStandardMarshal]
mov dword [ebp - 0x730], eax
movzx edx, word [ebp - 0x568]
shl edx, 1
mov word [ebp - 0x568], dx
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
sub ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
movsx ecx, byte [ebp - 0x1d]
add ecx, 0x63
movsx edx, byte [ebp + 8]
cmp ecx, edx
jg 0x4d2fac
mov eax, dword [ebp - 0x598]
mov cl, byte [eax]
mov byte [ebp - 0x794], cl
cmp byte [ebp - 0x794], 0xaf
je 0x4d2f45
cmp byte [ebp - 0x794], 0xb5
je 0x4d2f84
jmp 0x4d2fa7
call dword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
mov dword [ebp - 0x758], eax
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x474]
sub eax, ecx
mov edx, dword [ebp - 0x488]
mov word [edx], ax
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [ebp - 0x434]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x4a8], edx
jmp 0x4d2fa7
push 0xe0
push 0x7d
lea eax, [ebp - 0x340]
push eax
push 0x10
mov ecx, dword [ebp - 0x3d0]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov dword [ebp - 0x740], eax
jmp 0x4d3096
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
and eax, 0x6e5f
movsx ecx, word [ebp - 0x474]
cmp eax, ecx
jle 0x4d3096
movsx edx, word [ebp - 0x474]
add edx, 0x5ceb
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
cmp edx, ecx
je 0x4d3071
movzx edx, word [ebp - 0x568]
mov dword [ebp - 0x798], edx
cmp dword [ebp - 0x798], 0x26e
je 0x4d3002
jmp 0x4d301a
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x4c4]
mov dword [edx], ecx
jmp 0x4d306f
movzx eax, word [ebp - 0x568]
sub eax, 0x25b
mov word [ebp - 0x568], ax
mov ecx, dword [ebp - 0x46c]
push ecx
movzx edx, byte [ebp + 0xc]
push edx
call fcn.004ef7c0
add esp, 8
movzx eax, byte [ebp - 0x759]
movzx ecx, byte [ebp + 0xc]
add eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
movsx eax, byte [ebp - 0x1d]
sub eax, 0x5a
mov byte [ebp + 8], al
push 0xd8
lea ecx, [ebp - 0x1d]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetSettings]
jmp 0x4d3096
movzx edx, word [ebp - 0x568]
cmp edx, 0xc49
jg 0x4d3096
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x740]
mov edx, dword [ebp - 0x5a0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x46c]
mov dword [ebp - 0x440], ecx
mov edx, dword [ebp - 0x4b0]
mov eax, dword [edx]
mov dword [ebp - 0x4ec], eax
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0x759]
sar edx, cl
mov byte [ebp - 0x479], dl
mov dword [ebp - 0x5b4], 0x4917
cmp dword [ebp - 0x6bc], 0xb1b3
je 0x4d347d
movzx eax, word [ebp - 0x568]
shl eax, 9
mov word [ebp - 0x568], ax
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ebp - 0x4a8]
or edx, dword [ecx]
mov eax, dword [ebp - 0x3dc]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x4ec]
and edx, dword [ecx]
mov eax, dword [ebp - 0x4c4]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, dword [ebp - 0x440]
mov eax, dword [ebp - 4]
mov dword [eax], edx
movsx ecx, byte [ebp - 0x1d]
sub ecx, 0xa
mov byte [ebp + 8], cl
mov edx, dword [ebp - 0x4b0]
mov eax, dword [ebp - 0x4ec]
and eax, dword [edx]
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x474]
add edx, eax
mov ecx, dword [ebp - 0x488]
mov word [ecx], dx
movsx edx, byte [ebp + 8]
add edx, 0x20
mov byte [ebp - 0x1d], dl
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x489]
sub ecx, edx
mov eax, dword [ebp - 0x598]
mov byte [eax], cl
movzx ecx, word [ebp - 0x568]
sub ecx, 0xe63
mov word [ebp - 0x568], cx
mov edx, dword [ebp - 0x740]
sub edx, dword [ebp - 0x4a8]
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x740]
shl eax, cl
mov dword [ebp - 0x4a8], eax
movzx edx, byte [ebp - 0x759]
movzx ecx, byte [ebp + 0xc]
sar edx, cl
mov eax, dword [ebp - 0x598]
mov byte [eax], dl
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x759]
or edx, eax
mov ecx, dword [ebp - 0x598]
mov byte [ecx], dl
mov edx, dword [ebp - 0x4b0]
mov eax, dword [ebp - 0x10]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x4c4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6bc]
add edx, 0x2f
mov dword [ebp - 0x6bc], edx
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [eax]
and edx, dword [ecx]
mov dword [ebp - 0x4a8], edx
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [eax]
mov edx, dword [ebp - 4]
add ecx, dword [edx]
mov eax, dword [ebp - 0x4b0]
mov dword [eax], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
add edx, dword [ecx]
mov eax, dword [ebp - 0x4c4]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x479]
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x759], cl
movzx ecx, word [ebp - 0x568]
sub ecx, 0xe3
mov word [ebp - 0x568], cx
mov edx, dword [ebp - 0x5a0]
mov eax, dword [ebp - 0x758]
and eax, dword [edx]
mov ecx, dword [ebp - 0x3dc]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x1d]
sub edx, 0x5c
mov byte [ebp + 8], dl
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
sub ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
sub edx, 0x3425
mov word [ebp - 0x474], dx
movzx eax, byte [ebp - 0x479]
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x759], al
movzx eax, word [ebp - 0x568]
sar eax, 0xa
mov word [ebp - 0x568], ax
mov ecx, dword [ebp - 0x4a8]
xor ecx, dword [ebp - 0x740]
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x4ec]
or edx, dword [ebp - 0x46c]
mov eax, dword [ebp - 0x4c4]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0x46c], edx
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x740]
and ecx, dword [eax]
mov edx, dword [ebp - 0x5a0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [ebp - 4]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x4b0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x474]
add edx, eax
mov ecx, dword [ebp - 0x488]
mov word [ecx], dx
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x479]
add eax, ecx
mov byte [ebp + 0xc], al
mov edx, dword [ebp - 0x4c4]
mov eax, dword [ebp - 0x4ec]
add eax, dword [edx]
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x758]
sub ecx, dword [ebp - 0x740]
mov edx, dword [ebp - 0x434]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [ebp - 0x46c]
and ecx, dword [eax]
mov edx, dword [ebp - 0x4c4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x759]
sub ecx, edx
mov eax, dword [ebp - 0x598]
mov byte [eax], cl
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x474]
add edx, eax
mov ecx, dword [ebp - 0x488]
mov word [ecx], dx
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x474]
sar eax, cl
mov ecx, dword [ebp - 0x488]
mov word [ecx], ax
movsx edx, byte [ebp + 8]
shl edx, 3
mov byte [ebp - 0x1d], dl
mov eax, dword [ebp - 0x740]
or eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x5a0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4c4]
mov eax, dword [ebp - 0x440]
xor eax, dword [edx]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x479]
and edx, eax
mov ecx, dword [ebp - 0x598]
mov byte [ecx], dl
jmp 0x4d30da
movsx edx, word [ebp - 0x474]
mov dword [ebp - 0x79c], edx
cmp dword [ebp - 0x79c], 0x22c6
je 0x4d34bf
cmp dword [ebp - 0x79c], 0x5096
je 0x4d34a7
jmp 0x4d3577
mov eax, dword [ebp - 0x5a0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x568]
call fcn.004721c0
jmp 0x4d3577
movzx ecx, word [ebp - 0x568]
sub ecx, 0xd30
mov word [ebp - 0x568], cx
movsx edx, word [ebp - 0x474]
mov dword [ebp - 0x7a0], edx
cmp dword [ebp - 0x7a0], 0x426e
je 0x4d34ee
jmp 0x4d3533
mov eax, dword [ebp - 0x4a8]
add eax, dword [ebp - 0x740]
mov ecx, dword [ebp - 0x3dc]
mov dword [ecx], eax
lea edx, [ebp - 0x454]
push edx
push 0x9f
push 5
call dword [sym.imp.ole32.dll_CoDosDateTimeToFileTime]
mov dword [ebp - 0x3d4], eax
movzx eax, byte [ebp - 0x759]
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp + 0xc], al
jmp 0x4d355c
mov eax, dword [ebp - 0x440]
sub eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x4b0]
mov dword [ecx], eax
lea edx, [ebp - 0x4dc]
push edx
push str.Wirer_fraction_incentive_alluringly
call dword [sym.imp.ole32.dll_GetClassFile]
mov dword [ebp - 0x464], eax
call fcn.0046d040
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x3dc]
mov dword [edx], ecx
mov al, byte [ebp - 0x759]
mov byte [ebp - 0x581], al
cmp dword [ebp - 0x560], 0x7bb
jbe 0x4d39a2
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx]
add edx, dword [ebp - 0x740]
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4b0]
mov edx, dword [ecx]
and edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4b0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x440]
add ecx, dword [ebp - 0x4ec]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x3dc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ebp - 0x46c]
or edx, dword [ecx]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x4ec]
sar edx, cl
mov eax, dword [ebp - 4]
mov dword [eax], edx
movsx ecx, word [ebp - 0x474]
xor ecx, 0x698c
mov edx, dword [ebp - 0x488]
mov word [edx], cx
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x759]
add ecx, edx
mov byte [ebp + 0xc], cl
movzx eax, byte [ebp - 0x581]
movzx ecx, byte [ebp - 0x479]
and eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
movzx eax, byte [ebp + 0xc]
movzx ecx, byte [ebp - 0x581]
sub eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x4a8]
mov edx, dword [ebp - 0x434]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [ebp - 0x4b0]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 4]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x759]
movzx edx, byte [ebp - 0x489]
sub ecx, edx
mov eax, dword [ebp - 0x598]
mov byte [eax], cl
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x474]
add edx, eax
mov ecx, dword [ebp - 0x488]
mov word [ecx], dx
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x740]
add eax, dword [edx]
mov ecx, dword [ebp - 0x3dc]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x1d]
sub edx, 0x15
mov byte [ebp + 8], dl
mov eax, dword [ebp - 0x10]
and eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5a0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x758]
shr eax, cl
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x479]
xor edx, eax
mov ecx, dword [ebp - 0x598]
mov byte [ecx], dl
movsx edx, word [ebp - 0x474]
shl edx, 3
mov eax, dword [ebp - 0x488]
mov word [eax], dx
movzx ecx, byte [ebp - 0x759]
movzx edx, byte [ebp - 0x581]
or ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x4c4]
add ecx, dword [edx]
mov dword [ebp - 0x46c], ecx
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
add ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
movsx ecx, byte [ebp + 8]
and ecx, 0x39
mov byte [ebp - 0x1d], cl
movzx edx, byte [ebp - 0x759]
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x479]
add eax, ecx
mov byte [ebp + 0xc], al
mov edx, dword [ebp - 0x3dc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5a0]
add eax, dword [ecx]
mov dword [ebp - 0x740], eax
mov edx, dword [ebp - 0x3dc]
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x740], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x4ec]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x4c4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x440]
add edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4b0]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x759]
sub edx, eax
mov ecx, dword [ebp - 0x598]
mov byte [ecx], dl
movzx edx, word [ebp - 0x568]
shl edx, 1
mov word [ebp - 0x568], dx
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [eax]
or edx, dword [ecx]
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x4ec]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x440]
sar eax, cl
mov ecx, dword [ebp - 0x4c4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x434]
mov eax, dword [edx]
and eax, dword [ebp - 0x4a8]
mov ecx, dword [ebp - 0x5a0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x560]
sub edx, 0x54
mov dword [ebp - 0x560], edx
movzx eax, word [ebp - 0x568]
sub eax, 0x24
mov word [ebp - 0x568], ax
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x759]
sub edx, eax
mov ecx, dword [ebp - 0x598]
mov byte [ecx], dl
movsx edx, byte [ebp - 0x1d]
and edx, 0x10
mov byte [ebp + 8], dl
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
add ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
mov ecx, dword [ebp - 0x740]
sub ecx, dword [ebp - 0x4a8]
mov edx, dword [ebp - 0x434]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [ebp - 0x10]
add ecx, dword [eax]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x759]
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x581], al
movsx eax, word [ebp - 0x474]
add eax, 0x632b
mov ecx, dword [ebp - 0x488]
mov word [ecx], ax
movzx edx, byte [ebp - 0x479]
movzx ecx, byte [ebp - 0x581]
shl edx, cl
mov byte [ebp + 0xc], dl
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x434]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x4ec]
sar eax, cl
mov ecx, dword [ebp - 0x4b0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x759]
and eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
jmp 0x4d3583
cmp dword [ebp - 0x44c], 0xf705
ja 0x4d3d7d
movzx eax, word [ebp - 0x568]
sub eax, 0xd88
mov word [ebp - 0x568], ax
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x758]
mov dword [ebp - 0x740], edx
mov eax, dword [ebp - 0x440]
sub eax, dword [ebp - 0x4ec]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x4c4]
add edx, dword [eax]
mov ecx, dword [ebp - 4]
mov dword [ecx], edx
mov edx, dword [ebp - 0x4c4]
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x4c4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x440]
add eax, dword [ebp - 0x4ec]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
movsx edx, byte [ebp + 8]
add edx, 0x4f
mov byte [ebp - 0x1d], dl
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
add ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
movzx ecx, byte [ebp - 0x479]
movzx edx, byte [ebp - 0x489]
sub ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 0x598]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x479]
sar edx, cl
mov eax, dword [ebp - 0x598]
mov byte [eax], dl
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x5a0]
mov eax, dword [ecx]
or eax, dword [edx]
mov ecx, dword [ebp - 0x434]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4a8]
mov ecx, dword [ebp - 0x758]
shl edx, cl
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x479]
movzx edx, byte [ebp - 0x759]
xor ecx, edx
mov eax, dword [ebp - 0x598]
mov byte [eax], cl
mov ecx, dword [ebp - 0x440]
and ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x46c]
sub eax, dword [ebp - 0x4ec]
mov ecx, dword [ebp - 0x4c4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x3dc]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x4c4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x4b0]
add ecx, dword [edx]
mov eax, dword [ebp - 4]
mov dword [eax], ecx
movsx ecx, word [ebp - 0x474]
add ecx, 0x5bda
mov edx, dword [ebp - 0x488]
mov word [edx], cx
movzx eax, byte [ebp - 0x479]
movzx ecx, byte [ebp - 0x759]
and eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x4a8]
mov dword [ebp - 0x740], ecx
movsx edx, byte [ebp - 0x1d]
add edx, 0x41
mov byte [ebp + 8], dl
movsx eax, byte [ebp - 0x1d]
add eax, 0x38
mov byte [ebp + 8], al
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
movsx ecx, word [ebp - 0x474]
shl edx, cl
mov eax, dword [ebp - 0x488]
mov word [eax], dx
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x479]
or edx, eax
mov ecx, dword [ebp - 0x598]
mov byte [ecx], dl
mov edx, dword [ebp - 0x758]
xor edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x3dc]
mov eax, dword [ecx]
mov ecx, dword [edx]
shr eax, cl
mov ecx, dword [ebp - 0x5a0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4b0]
mov eax, dword [ebp - 0x46c]
and eax, dword [edx]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x46c]
sub edx, dword [ebp - 0x440]
mov dword [ebp - 0x4ec], edx
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x4a8]
add ecx, dword [eax]
mov edx, dword [ebp - 0x434]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [eax]
mov edx, dword [ebp - 4]
add ecx, dword [edx]
mov eax, dword [ebp - 0x4c4]
mov dword [eax], ecx
movzx ecx, word [ebp - 0x568]
sub ecx, 0x51a
mov word [ebp - 0x568], cx
movzx edx, byte [ebp - 0x759]
movzx eax, byte [ebp - 0x489]
add edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x4ec]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x4c4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x5a0]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x758], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x4ec]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x759]
or ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x581]
xor ecx, edx
mov byte [ebp - 0x489], cl
movzx eax, word [ebp - 0x568]
shl eax, 0xa
mov word [ebp - 0x568], ax
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
movsx ecx, word [ebp - 0x474]
sar edx, cl
mov eax, dword [ebp - 0x488]
mov word [eax], dx
movsx ecx, byte [ebp + 8]
add ecx, 0x55
mov byte [ebp - 0x1d], cl
movzx edx, byte [ebp - 0x489]
movzx eax, byte [ebp - 0x581]
and edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x4ec]
sub ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x4c4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x759]
sub ecx, edx
mov eax, dword [ebp - 0x598]
mov byte [eax], cl
mov ecx, dword [ebp - 0x44c]
add ecx, 0x4a
mov dword [ebp - 0x44c], ecx
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x479]
sub eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x758]
sub ecx, dword [eax]
mov dword [ebp - 0x4a8], ecx
mov edx, dword [ebp - 0x4b0]
mov eax, dword [edx]
add eax, dword [ebp - 0x46c]
mov ecx, dword [ebp - 0x4b0]
mov dword [ecx], eax
jmp 0x4d39a2
cmp dword [ebp - 0x1c], 0xa26b
jae 0x4d407d
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x46c]
mov eax, dword [ebp - 0x4c4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x3dc]
add edx, dword [eax]
mov ecx, dword [ebp - 0x434]
mov dword [ecx], edx
movsx edx, word [ebp - 0x474]
and edx, 0x62ca
mov eax, dword [ebp - 0x488]
mov word [eax], dx
movzx ecx, byte [ebp - 0x489]
movzx edx, byte [ebp - 0x581]
or ecx, edx
mov byte [ebp - 0x759], cl
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov edx, dword [ebp - 0x4ec]
mov ecx, dword [ebp - 0x440]
sar edx, cl
mov eax, dword [ebp - 0x4c4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ebp - 0x740]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x3dc]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, dword [ebp - 0x440]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x440]
sub ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
movsx eax, word [ebp - 0x474]
and eax, 0x412b
mov ecx, dword [ebp - 0x488]
mov word [ecx], ax
movsx edx, byte [ebp - 0x1d]
add edx, 0x7d
mov byte [ebp + 8], dl
movzx eax, byte [ebp - 0x489]
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x759], al
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x434]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x434]
add ecx, dword [edx]
mov eax, dword [ebp - 0x3dc]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ebp - 0x440]
add edx, dword [ecx]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x1c]
add eax, 0x4f
mov dword [ebp - 0x1c], eax
movzx ecx, word [ebp - 0x568]
sub ecx, 0xf05
mov word [ebp - 0x568], cx
movzx edx, byte [ebp - 0x479]
movzx eax, byte [ebp + 0xc]
sub edx, eax
mov ecx, dword [ebp - 0x598]
mov byte [ecx], dl
mov edx, dword [ebp - 0x3dc]
mov eax, dword [edx]
add eax, dword [ebp - 0x4a8]
mov ecx, dword [ebp - 0x3dc]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x1d]
xor edx, 0x66
mov byte [ebp + 8], dl
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x440]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x4b0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ebp - 0x3dc]
mov eax, dword [ecx]
mov ecx, dword [edx]
shr eax, cl
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x758]
or ecx, dword [ebp - 0x740]
mov edx, dword [ebp - 0x3dc]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x479]
movzx ecx, byte [ebp + 0xc]
and eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
movsx eax, byte [ebp - 0x1d]
sub eax, 0xb
mov byte [ebp + 8], al
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ecx]
add edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4c4]
mov dword [eax], edx
movsx ecx, word [ebp - 0x474]
and ecx, 0x31dd
mov edx, dword [ebp - 0x488]
mov word [edx], cx
movzx eax, byte [ebp + 0xc]
movzx ecx, byte [ebp - 0x479]
sub eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
mov eax, dword [ebp - 0x740]
add eax, dword [ebp - 0x4a8]
mov ecx, dword [ebp - 0x434]
mov dword [ecx], eax
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x489]
add eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x4a8]
sub ecx, dword [eax]
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x4a8]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x5a0]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x46c]
sar eax, cl
mov dword [ebp - 0x4ec], eax
movsx ecx, byte [ebp - 0x1d]
xor ecx, 0x53
mov byte [ebp + 8], cl
mov edx, dword [ebp - 0x46c]
or edx, dword [ebp - 0x10]
mov dword [ebp - 0x4ec], edx
mov eax, dword [ebp - 0x488]
movsx edx, word [eax]
movsx ecx, word [ebp - 0x474]
shl edx, cl
mov eax, dword [ebp - 0x488]
mov word [eax], dx
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x759]
and edx, eax
mov byte [ebp - 0x489], dl
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x434]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x3dc]
mov dword [ecx], eax
jmp 0x4d3d7d
mov edx, dword [ebp - 0x4ec]
sub edx, dword [ebp - 0x440]
mov eax, dword [ebp - 0x4b0]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x479]
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x434]
add edx, dword [eax]
mov ecx, dword [ebp - 0x3dc]
mov dword [ecx], edx
mov edx, dword [ebp - 0x5a0]
mov eax, dword [ebp - 0x740]
and eax, dword [edx]
mov ecx, dword [ebp - 0x3dc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x489]
add eax, ecx
mov byte [ebp - 0x759], al
movsx edx, byte [ebp - 0x1d]
sub edx, 0x77
mov byte [ebp + 8], dl
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
sub ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x758]
add edx, dword [ecx]
mov dword [ebp - 0x740], edx
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x479]
movzx ecx, byte [ebp + 0xc]
or eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
mov eax, dword [ebp - 0x598]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x759]
shl edx, cl
mov eax, dword [ebp - 0x598]
mov byte [eax], dl
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x440]
sar edx, cl
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x758]
and ecx, dword [ebp - 0x740]
mov dword [ebp - 0x4a8], ecx
mov edx, dword [ebp - 0x440]
add edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x46c], edx
mov eax, dword [ebp - 0x4ec]
add eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x581]
sub eax, ecx
mov byte [ebp - 0x489], al
movzx edx, word [ebp - 0x568]
add edx, 0xfc5
mov word [ebp - 0x568], dx
mov eax, dword [ebp - 0x6b4]
sub eax, 0xee
mov dword [ebp - 0x6b4], eax
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ebp - 0x758]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x3dc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4b0]
mov edx, dword [ebp - 0x4c4]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x759]
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0xc], dl
movzx edx, byte [ebp - 0x479]
movzx eax, byte [ebp - 0x489]
sub edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ebp - 0x440]
add edx, dword [ecx]
mov eax, dword [ebp - 0x4b0]
mov dword [eax], edx
movsx ecx, word [ebp - 0x474]
or ecx, 0x503f
mov edx, dword [ebp - 0x488]
mov word [edx], cx
mov eax, dword [ebp - 0x488]
movsx edx, word [eax]
movsx ecx, word [ebp - 0x474]
shl edx, cl
mov eax, dword [ebp - 0x488]
mov word [eax], dx
movzx ecx, byte [ebp + 0xc]
movzx edx, byte [ebp - 0x479]
xor ecx, edx
mov eax, dword [ebp - 0x598]
mov byte [eax], cl
mov edx, dword [ebp - 0x4a8]
mov ecx, dword [ebp - 0x740]
shr edx, cl
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
cmp dword [ebp - 0x6b4], 0x7c57
jae 0x4d407d
mov ecx, dword [ebp - 0x4a8]
and ecx, dword [ebp - 0x740]
mov edx, dword [ebp - 0x434]
mov dword [edx], ecx
mov eax, dword [ebp - 0x740]
mov dword [ebp - 0x754], eax
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
add edx, 0x4ee1
movsx eax, word [ebp - 0x474]
cmp edx, eax
jl 0x4d445c
mov cl, byte [ebp - 0x1d]
mov byte [ebp - 0x7a4], cl
cmp byte [ebp - 0x7a4], 0x8a
je 0x4d4325
cmp byte [ebp - 0x7a4], 0x52
je 0x4d440b
jmp 0x4d445a
mov dl, byte [ebp + 8]
mov byte [ebp - 0x7a8], dl
cmp byte [ebp - 0x7a8], 0xe
je 0x4d4349
cmp byte [ebp - 0x7a8], 0x13
je 0x4d43d9
jmp 0x4d4409
movzx eax, word [ebp - 0x568]
mov dword [ebp - 0x7ac], eax
cmp dword [ebp - 0x7ac], 0x57e
je 0x4d4364
jmp 0x4d43c2
mov ecx, dword [ebp - 0x454]
push ecx
call dword [sym.imp.SHELL32.dll_ILCreateFromPathW]
mov dword [ebp - 0x6b8], eax
movzx edx, byte [ebp - 0x489]
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x489]
sub eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
lea eax, [ebp - 0x494]
push eax
lea ecx, [ebp - 0x3a4]
push ecx
call dword [sym.imp.ole32.dll_CoCopyProxy]
mov dword [ebp - 0x468], eax
jmp 0x4d43d7
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4c4]
add eax, dword [ecx]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], eax
jmp 0x4d4409
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [ebp - 0x740]
and ecx, dword [eax]
mov edx, dword [ebp - 0x434]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x440]
add ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
lea edx, [ebp - 0x440]
mov dword [ebp - 0x7c], edx
jmp 0x4d445a
mov eax, dword [ebp - 0x598]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x759]
sar edx, cl
mov byte [ebp - 0x581], dl
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebp - 0x728]
push ecx
lea edx, [ebp - 0x4c4]
push edx
call dword [sym.imp.ole32.dll_MonikerCommonPrefixWith]
mov dword [ebp - 0x59c], eax
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x3dc]
mov dword [edx], ecx
jmp 0x4d44b7
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0x754], edx
mov eax, dword [ebp - 0x4ec]
or eax, dword [ebp - 0x46c]
mov ecx, dword [ebp - 0x7c]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x1d]
sub edx, 0x5c
mov byte [ebp + 8], dl
mov eax, dword [ebp - 0x5b8]
push eax
call dword [sym.imp.SHELL32.dll_DragFinish]
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x474]
and edx, eax
mov ecx, dword [ebp - 0x488]
mov word [ecx], dx
lea edx, [ebp - 0x568]
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [eax]
mov dword [ebp - 0x7b0], ecx
cmp dword [ebp - 0x7b0], 0
je 0x4d44dc
jmp 0x4d45cc
movzx edx, byte [ebp - 0x479]
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x581], dl
mov dword [ebp - 0x3a8], 0xda43
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x7b4], edx
cmp dword [ebp - 0x7b4], 0x2181227a
je 0x4d4518
jmp 0x4d45ca
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x754], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x4c4]
add ecx, dword [edx]
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x440]
mov dword [ebp - 0x7b8], ecx
cmp dword [ebp - 0x7b8], 0x485b86ce
je 0x4d455a
jmp 0x4d45b3
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
push eax
movzx ecx, byte [ebp - 0x1d]
push ecx
call fcn.004d1cd0
mov edx, dword [ebp - 0x6ec]
push edx
mov eax, dword [ebp - 0x6f0]
push eax
call dword [sym.imp.ole32.dll_CoRevokeInitializeSpy]
mov dword [ebp - 0x464], eax
mov ecx, dword [ebp - 0x4b0]
mov edx, dword [ecx]
add edx, dword [ebp - 0x10]
mov dword [ebp - 0x46c], edx
mov eax, dword [ebp - 0x434]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x5a0]
add ecx, dword [edx]
mov eax, dword [ebp - 0x434]
mov dword [eax], ecx
jmp 0x4d45ca
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x474]
push edx
call dword [sym.imp.SHELL32.dll_ILFindChild]
mov dword [ebp - 0x744], eax
jmp 0x4d463b
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
mov dword [ebp - 0x7bc], ecx
cmp dword [ebp - 0x7bc], 0x3c00
je 0x4d45e9
jmp 0x4d4610
mov edx, dword [ebp - 0x4c4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4b0]
add eax, dword [ecx]
mov edx, dword [ebp - 4]
mov dword [edx], eax
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.SHELL32.dll_ILGetNext]
mov dword [ebp - 0x480], eax
jmp 0x4d463b
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
sub edx, 0xb9c
mov word [ebp - 0x568], dx
movzx eax, byte [ebp - 0x581]
movzx ecx, byte [ebp - 0x759]
and eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
mov dword [ebp - 0x3e0], 0x9a5b
lea eax, [ebp - 0x4ec]
mov dword [ebp - 0x564], eax
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x5a0]
mov eax, dword [ecx]
xor eax, dword [edx]
mov dword [ebp - 0x754], eax
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ecx]
mov dword [ebp - 0x7c0], edx
cmp dword [ebp - 0x7c0], 0
je 0x4d4690
cmp dword [ebp - 0x7c0], 0x771deba8
je 0x4d7cae
jmp 0x4d7d42
movzx eax, byte [ebp - 0x479]
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
and eax, edx
movzx ecx, byte [ebp + 0xc]
movzx edx, byte [ebp - 0x759]
add ecx, edx
cmp eax, ecx
jg 0x4d4789
mov ax, word [ebp - 0x474]
mov word [ebp - 0x72c], ax
mov dword [ebp - 0x4cc], 0x1e6e
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x754]
mov dword [ebp - 0x740], edx
mov eax, dword [ebp - 0x740]
mov dword [ebp - 0x7c4], eax
cmp dword [ebp - 0x7c4], 0
je 0x4d46fa
jmp 0x4d4771
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
mov dword [ebp - 0x7c8], edx
cmp dword [ebp - 0x7c8], 0
je 0x4d4720
cmp dword [ebp - 0x7c8], 0x4a85
je 0x4d4765
jmp 0x4d476f
lea eax, [ebp - 0x46c]
mov dword [ebp - 0x624], eax
mov dword [ebp - 0x4e0], 0xe569
lea ecx, [ebp - 0x759]
mov dword [ebp - 0x4c], ecx
lea edx, [ebp - 0x568]
mov dword [ebp - 0x56c], edx
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x5a0]
add ecx, dword [edx]
mov eax, dword [ebp - 0x3dc]
mov dword [eax], ecx
jmp 0x4d476f
movsx ecx, byte [ebp - 0x1d]
sub ecx, 0x77
mov byte [ebp + 8], cl
jmp 0x4d4784
lea edx, [ebp - 0x594]
push edx
call dword [sym.imp.ole32.dll_CoIsOle1Class]
mov dword [ebp - 0x5bc], eax
jmp 0x4d48b8
mov eax, dword [ebp - 0x758]
sub eax, dword [ebp - 0x740]
mov ecx, dword [ebp - 0x754]
sub ecx, dword [ebp - 0x4a8]
cmp eax, ecx
je 0x4d48b8
mov edx, dword [ebp - 0x4b0]
mov eax, dword [edx]
add eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x4c4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x624]
mov eax, dword [edx]
mov dword [ebp - 0x7cc], eax
cmp dword [ebp - 0x7cc], 0x1e6161a9
je 0x4d47ee
cmp dword [ebp - 0x7cc], 0x63e93879
je 0x4d48a4
jmp 0x4d48b8
movsx ecx, byte [ebp + 8]
sub ecx, 0x52
movsx edx, byte [ebp - 0x1d]
cmp ecx, edx
jge 0x4d4816
mov eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
or ecx, eax
mov byte [ebp + 0xc], cl
jmp 0x4d48a2
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x56c]
mov word [ecx], dx
mov dl, byte [ebp - 0x1d]
mov byte [ebp - 0x7d0], dl
cmp byte [ebp - 0x7d0], 0xa
je 0x4d4842
jmp 0x4d4886
call fcn.0046d040
push 0x21
mov eax, dword [ebp - 0x84]
push eax
call sub.SHELL32.dll_SHTestTokenMembership
mov dword [ebp - 0x3d4], eax
movzx ecx, byte [ebp + 0xc]
movzx edx, byte [ebp - 0x759]
xor ecx, edx
mov byte [ebp - 0x479], cl
mov eax, dword [ebp - 0x624]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
jmp 0x4d48a2
push 0x51
lea eax, [ebp - 0x488]
push eax
lea ecx, [ebp - 0x6a0]
push ecx
call dword [sym.imp.ole32.dll_StringFromGUID2]
mov dword [ebp - 0x4ec], eax
jmp 0x4d48b8
mov edx, dword [ebp - 0x440]
add edx, dword [ebp - 0x46c]
mov eax, dword [ebp - 0x564]
mov dword [eax], edx
mov ecx, dword [ebp - 0x598]
mov dl, byte [ecx]
mov byte [ebp - 0x7d4], dl
cmp byte [ebp - 0x7d4], 0
je 0x4d48e1
cmp byte [ebp - 0x7d4], 0x32
je 0x4d7bd3
jmp 0x4d7c6f
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x4c]
movzx eax, byte [edx]
sub ecx, eax
movzx edx, byte [ebp - 0x479]
movzx eax, byte [ebp - 0x759]
add edx, eax
cmp ecx, edx
jg 0x4d7bb5
lea ecx, [ebp + 8]
mov dword [ebp - 0x470], ecx
movzx edx, word [ebp - 0x568]
mov dword [ebp - 0x7d8], edx
cmp dword [ebp - 0x7d8], 0xc88
je 0x4d49e7
cmp dword [ebp - 0x7d8], 0x5337
je 0x4d4941
jmp 0x4d4ac7
mov eax, dword [ebp - 0x74]
movzx edx, word [eax]
movzx ecx, word [ebp - 0x568]
shl edx, cl
mov eax, dword [ebp - 0x56c]
movzx ecx, word [eax]
cmp edx, ecx
jl 0x4d49d6
call dword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
mov dword [ebp - 0x4a8], eax
mov edx, dword [ebp - 0x470]
mov al, byte [edx]
mov byte [ebp - 0x7dc], al
cmp byte [ebp - 0x7dc], 3
je 0x4d4982
jmp 0x4d49c8
movzx edx, byte [ebp - 0x581]
movzx ecx, byte [ebp - 0x479]
sar edx, cl
mov eax, dword [ebp - 0x598]
mov byte [eax], dl
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x56c]
movzx ecx, word [eax]
or edx, ecx
mov word [ebp - 0x568], dx
mov edx, dword [ebp - 0x758]
xor edx, dword [ebp - 0x740]
mov eax, dword [ebp - 0x3dc]
mov dword [eax], edx
jmp 0x4d49d6
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x4ec]
and edx, dword [ecx]
mov dword [ebp - 0x10], edx
lea eax, [ebp - 0x759]
mov dword [ebp - 0x4b8], eax
jmp 0x4d4ac7
lea ecx, [ebp - 0x548]
push ecx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
mov dword [ebp - 0x444], eax
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x56c]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
cmp edx, ecx
jge 0x4d4a2e
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x56c]
mov word [eax], dx
movzx ecx, word [ebp - 0x568]
mov dword [ebp - 0x7e0], ecx
cmp dword [ebp - 0x7e0], 0x7e3
je 0x4d4ab5
cmp dword [ebp - 0x7e0], 0x932
je 0x4d4a55
jmp 0x4d4ac7
mov edx, dword [ebp - 0x434]
mov eax, dword [edx]
add eax, dword [ebp - 0x758]
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x564]
mov edx, dword [ebp - 0x10]
add edx, dword [ecx]
mov eax, dword [ebp - 0x4c4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4ec]
push ecx
mov edx, dword [ebp - 0x4c]
movzx eax, byte [edx]
push eax
call fcn.004ef7c0
add esp, 8
lea ecx, [ebp - 0x84]
push ecx
lea edx, [ebp - 0x3a0]
push edx
lea eax, [ebp - 0x5a0]
push eax
call dword [sym.imp.ole32.dll_MonikerCommonPrefixWith]
mov dword [ebp - 0x61c], eax
jmp 0x4d4ac7
movsx ecx, byte [ebp - 0x1d]
mov edx, dword [ebp - 0x470]
movsx eax, byte [edx]
and ecx, eax
mov byte [ebp + 8], cl
mov dword [ebp - 0x80], 0xce88
cmp dword [ebp - 0x4cc], 0x3ca8
je 0x4d4c27
mov ecx, dword [ebp - 0x4cc]
add ecx, 0x92
mov dword [ebp - 0x4cc], ecx
mov edx, dword [ebp - 0x4a8]
add edx, dword [ebp - 0x754]
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x4b8]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x581], cl
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x568]
sub edx, eax
mov ecx, dword [ebp - 0x56c]
mov word [ecx], dx
mov edx, dword [ebp - 0x470]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x1d]
sub eax, ecx
mov byte [ebp + 8], al
mov edx, dword [ebp - 0x4ec]
xor edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x7c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x474]
or edx, eax
mov word [ebp - 0x72c], dx
mov ecx, dword [ebp - 0x470]
movsx edx, byte [ecx]
movsx ecx, byte [ebp + 8]
sar edx, cl
mov byte [ebp - 0x1d], dl
movzx eax, byte [ebp - 0x581]
mov ecx, dword [ebp - 0x4c]
movzx ecx, byte [ecx]
shl eax, cl
mov byte [ebp + 0xc], al
movzx edx, byte [ebp - 0x581]
mov eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0x4b8]
mov byte [eax], dl
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx]
add edx, dword [ebp - 0x740]
mov eax, dword [ebp - 0x3dc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x5a0]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x3dc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x46c]
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x564]
mov edx, dword [ecx]
add edx, dword [ebp - 0x440]
mov eax, dword [ebp - 0x4c4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x440]
add ecx, dword [ebp - 0x4ec]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x4c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
and eax, edx
mov ecx, dword [ebp - 0x4c]
mov byte [ecx], al
jmp 0x4d4ace
mov edx, dword [ebp - 0x46c]
add edx, dword [ebp - 0x4ec]
mov eax, dword [ebp - 0x624]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x10]
cmp edx, ecx
jle 0x4d4c5a
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x56c]
mov word [eax], dx
cmp dword [ebp - 0x3a8], 0xd949
jbe 0x4d4fdb
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x758]
mov ecx, dword [ecx]
shr edx, cl
mov dword [ebp - 0x754], edx
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x1d]
or ecx, edx
mov byte [ebp + 8], cl
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [ebp - 0x46c]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x564]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3dc]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x758]
shl edx, cl
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x479]
movzx edx, byte [ebp + 0xc]
and ecx, edx
mov eax, dword [ebp - 0x4c]
mov byte [eax], cl
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x56c]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x568], dx
mov edx, dword [ebp - 0x470]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x1d]
sub eax, ecx
mov byte [ebp + 8], al
movsx edx, word [ebp - 0x474]
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x72c], dx
mov edx, dword [ebp - 0x434]
mov eax, dword [edx]
sub eax, dword [ebp - 0x740]
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x4ec]
mov dword [ebp - 0x440], ecx
mov edx, dword [ebp - 0x74]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x568], ax
mov eax, dword [ebp - 0x4b8]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x4c]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x4ec]
add ecx, dword [ebp - 0x440]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3a8]
sub eax, 0x19
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x758]
or edx, dword [ecx]
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4b0]
mov edx, dword [ebp - 4]
mov eax, dword [ecx]
xor eax, dword [edx]
mov dword [ebp - 0x10], eax
movsx edx, byte [ebp - 0x1d]
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
sar edx, cl
mov byte [ebp + 8], dl
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
shl edx, cl
mov word [ebp - 0x568], dx
mov ecx, dword [ebp - 0x4b8]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x489]
add edx, eax
mov ecx, dword [ebp - 0x598]
mov byte [ecx], dl
mov edx, dword [ebp - 0x4a8]
and edx, dword [ebp - 0x754]
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x624]
add ecx, dword [edx]
mov eax, dword [ebp - 0x4b0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x46c]
sub ecx, dword [ebp - 0x440]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x581]
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp + 0xc], al
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x4ec]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x72c]
sub eax, ecx
mov word [ebp - 0x474], ax
movsx edx, byte [ebp - 0x1d]
movsx eax, byte [ebp + 8]
add edx, eax
mov ecx, dword [ebp - 0x470]
mov byte [ecx], dl
mov edx, dword [ebp - 0x4c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x4b8]
mov byte [ecx], al
mov edx, dword [ebp - 0x74]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x568]
and eax, ecx
mov edx, dword [ebp - 0x74]
mov word [edx], ax
mov eax, dword [ebp - 0x434]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x754]
shr edx, cl
mov eax, dword [ebp - 0x3dc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x740]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4b8]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp + 0xc], dl
movzx ecx, word [ebp - 0x568]
mov edx, dword [ebp - 0x56c]
movzx eax, word [edx]
or ecx, eax
mov edx, dword [ebp - 0x74]
mov word [edx], cx
mov eax, dword [ebp - 0x564]
mov ecx, dword [ebp - 0x46c]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x7c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x46c]
and ecx, dword [ebp - 0x10]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4c]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x489]
sub eax, ecx
mov byte [ebp + 0xc], al
movzx edx, byte [ebp + 0xc]
mov eax, dword [ebp - 0x4b8]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x479], dl
mov edx, dword [ebp - 0x56c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x568], ax
mov eax, dword [ebp - 0x434]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x4a8]
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x4b0]
mov eax, dword [ebp - 0x4ec]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x4c4]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x1d]
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
add edx, ecx
mov byte [ebp + 8], dl
movsx edx, word [ebp - 0x72c]
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x474], dx
jmp 0x4d4c5a
mov edx, dword [ebp - 0x740]
mov dword [ebp - 0x7e4], edx
cmp dword [ebp - 0x7e4], 0x896fb02d
je 0x4d4ff8
jmp 0x4d508d
push 0xc8
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x4bc]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
mov dword [ebp - 0x580], eax
movzx edx, word [ebp - 0x568]
push edx
movzx eax, byte [ebp - 0x1d]
push eax
mov ecx, dword [ebp - 0x488]
movzx edx, word [ecx]
push edx
mov dl, byte [ebp - 0x759]
mov cl, byte [ebp + 0xc]
call fcn.00478870
movzx eax, byte [ebp + 0xc]
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x4b8]
mov byte [ecx], al
push 0
mov edx, dword [ebp - 0x734]
push edx
mov eax, dword [ebp - 0x738]
push eax
mov ecx, dword [ebp - 0x3a4]
push ecx
call dword [sym.imp.COMCTL32.dll_LBItemFromPt]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x56c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
xor eax, edx
mov word [ebp - 0x568], ax
jmp 0x4d51bd
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [eax]
mov dword [ebp - 0x7e8], ecx
cmp dword [ebp - 0x7e8], 0
je 0x4d50a9
jmp 0x4d519d
mov edx, dword [ebp - 0x434]
mov eax, dword [edx]
mov dword [ebp - 0x724], eax
movsx edx, word [ebp - 0x474]
movsx ecx, word [ebp - 0x72c]
shl edx, cl
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
cmp edx, ecx
jne 0x4d517a
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
or eax, dword [edx]
mov dword [ebp - 0x46c], eax
movzx ecx, word [ebp - 0x568]
mov dword [ebp - 0x7ec], ecx
cmp dword [ebp - 0x7ec], 0x5c5
je 0x4d5101
jmp 0x4d515d
mov edx, dword [ebp - 0x624]
mov eax, dword [ebp - 0x4ec]
and eax, dword [edx]
mov ecx, dword [ebp - 0x4c4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
push eax
movzx ecx, byte [ebp - 0x1d]
push ecx
call fcn.004d1cd0
lea edx, [ebp - 0x548]
push edx
lea eax, [ebp - 0x470]
push eax
call dword [sym.imp.ole32.dll_CoAllowSetForegroundWindow]
mov dword [ebp - 0x74c], eax
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx]
add edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
jmp 0x4d5178
mov ecx, dword [ebp - 0x46c]
add ecx, dword [ebp - 0x4ec]
mov dword [ebp - 0x10], ecx
lea edx, [ebp - 0x581]
mov dword [ebp - 0x3e8], edx
jmp 0x4d5191
call fcn.004d7e60
movsx eax, byte [ebp - 0x1d]
mov ecx, dword [ebp - 0x470]
movsx edx, byte [ecx]
and eax, edx
mov byte [ebp + 8], al
mov dword [ebp - 0x73c], 0x933a
jmp 0x4d51bd
push 0xd1
mov eax, dword [ebp - 0x4b4]
push eax
mov ecx, dword [ebp - 0x454]
push ecx
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
mov word [ebp - 0x578], ax
mov edx, dword [ebp - 0x624]
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x754]
add eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x5a0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x624]
mov eax, dword [edx]
add eax, dword [ebp - 0x4ec]
mov dword [ebp - 0x440], eax
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x56c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x568], ax
mov eax, dword [ebp - 0x3e8]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x4b8]
movzx eax, byte [edx]
or ecx, eax
mov byte [ebp - 0x489], cl
mov ecx, dword [ebp - 0x470]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x1d]
xor edx, eax
mov ecx, dword [ebp - 0x470]
mov byte [ecx], dl
movsx edx, word [ebp - 0x578]
movsx ecx, word [ebp - 0x474]
shl edx, cl
mov eax, dword [ebp - 0x488]
mov word [eax], dx
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x754]
mov ecx, dword [ecx]
shr edx, cl
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x564]
mov edx, dword [ebp - 0x46c]
and edx, dword [ecx]
mov eax, dword [ebp - 0x4b0]
mov dword [eax], edx
movzx ecx, word [ebp - 0x568]
mov edx, dword [ebp - 0x74]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x56c]
mov word [edx], cx
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x4b8]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x581], cl
mov ecx, dword [ebp - 0x758]
sub ecx, dword [ebp - 0x754]
mov dword [ebp - 0x4a8], ecx
movzx edx, byte [ebp - 0x581]
mov eax, dword [ebp - 0x4b8]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x624]
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x624]
mov dword [edx], ecx
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x4a8]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x3dc]
mov dword [edx], ecx
mov eax, dword [ebp - 0x56c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x74]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x568], cx
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x3e8]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x4c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x4c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x3e8]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x4c4]
mov eax, dword [edx]
xor eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x4c4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3dc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x758]
shl eax, cl
mov ecx, dword [ebp - 0x434]
mov dword [ecx], eax
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x46c]
mov ecx, dword [edx]
sar eax, cl
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4b8]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x759]
or eax, ecx
mov byte [ebp + 0xc], al
movsx edx, byte [ebp - 0x1d]
movsx eax, byte [ebp + 8]
and edx, eax
mov ecx, dword [ebp - 0x470]
mov byte [ecx], dl
movsx edx, word [ebp - 0x72c]
movsx eax, word [ebp - 0x578]
add edx, eax
mov ecx, dword [ebp - 0x488]
mov word [ecx], dx
mov edx, dword [ebp - 0x74]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x568], ax
movzx eax, byte [ebp - 0x581]
mov ecx, dword [ebp - 0x4c]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x759], al
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x4b0]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x564]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x489]
movzx eax, byte [ebp - 0x759]
and edx, eax
mov ecx, dword [ebp - 0x4c]
mov byte [ecx], dl
mov edx, dword [ebp - 0x56c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x568]
sub eax, ecx
mov edx, dword [ebp - 0x74]
mov word [edx], ax
mov eax, dword [ebp - 0x18]
sub eax, 0xa
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ecx]
add edx, dword [ebp - 0x740]
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x4ec]
add eax, dword [ebp - 0x46c]
mov ecx, dword [ebp - 0x624]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x1d]
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
xor edx, ecx
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x3dc]
mov eax, dword [ebp - 0x754]
mov ecx, dword [edx]
shr eax, cl
mov ecx, dword [ebp - 0x5a0]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x759]
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
or edx, ecx
mov eax, dword [ebp - 0x3e8]
mov byte [eax], dl
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x56c]
movzx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x74]
mov word [ecx], dx
mov edx, dword [ebp - 0x4c4]
mov eax, dword [ebp - 0x10]
and eax, dword [edx]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x624]
mov eax, dword [edx]
add eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x72c]
add eax, ecx
mov word [ebp - 0x474], ax
mov edx, dword [ebp - 0x470]
movsx eax, byte [edx]
movsx ecx, byte [ebp + 8]
sub eax, ecx
mov edx, dword [ebp - 0x470]
mov byte [edx], al
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x759]
add ecx, edx
mov eax, dword [ebp - 0x598]
mov byte [eax], cl
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x56c]
mov word [eax], dx
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x434]
add edx, dword [eax]
mov dword [ebp - 0x758], edx
cmp dword [ebp - 0x18], 0xcb41
jae 0x4d51bd
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x758]
and edx, dword [ecx]
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4ec]
mov dword [ebp - 0x3d8], ecx
movzx edx, byte [ebp - 0x581]
mov eax, dword [ebp - 0x3e8]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x4b8]
movzx eax, byte [eax]
mov ecx, dword [ebp - 0x4c]
movzx ecx, byte [ecx]
shl eax, cl
cmp edx, eax
jle 0x4d5611
mov edx, dword [ebp - 0x56c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x568], ax
jmp 0x4d7b4a
movsx eax, word [ebp - 0x72c]
movsx ecx, word [ebp - 0x474]
add eax, ecx
movsx edx, word [ebp - 0x578]
mov ecx, dword [ebp - 0x488]
movsx ecx, word [ecx]
sub edx, ecx
cmp eax, edx
je 0x4d5660
push 0x8d
mov edx, dword [ebp - 0x454]
push edx
call dword [sym.imp.SHELL32.dll_SHGetIconOverlayIndexW]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x754]
sub eax, dword [ebp - 0x4a8]
mov ecx, dword [ebp - 0x3dc]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x564]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x56c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x568]
add eax, ecx
mov edx, dword [ebp - 0x74]
movzx ecx, word [edx]
cmp eax, ecx
jl 0x4d7af1
mov edx, dword [ebp - 0x3e8]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
xor eax, edx
mov ecx, dword [ebp - 0x4c]
mov byte [ecx], al
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x56c]
mov word [ecx], dx
movsx edx, byte [ebp - 0x1d]
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
sar edx, cl
mov byte [ebp + 8], dl
mov ecx, dword [ebp - 0x470]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x1d]
or edx, eax
mov ecx, dword [ebp - 0x470]
mov byte [ecx], dl
mov edx, dword [ebp - 0x5a0]
mov eax, dword [edx]
sub eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x3dc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4ec]
add edx, dword [ebp - 0x440]
mov dword [ebp - 0x46c], edx
movzx eax, word [ebp - 0x568]
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
and eax, edx
mov ecx, dword [ebp - 0x74]
mov word [ecx], ax
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x489]
sub eax, ecx
mov edx, dword [ebp - 0x4c]
mov byte [edx], al
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x624]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x4c4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4a8]
add ecx, dword [ebp - 0x740]
mov dword [ebp - 0x754], ecx
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x46c]
mov eax, dword [ebp - 0x4c4]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x479]
movzx edx, byte [ebp - 0x759]
add ecx, edx
mov byte [ebp + 0xc], cl
movzx eax, word [ebp - 0x568]
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x74]
mov word [ecx], ax
mov edx, dword [ebp - 0x4c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x3e8]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x479], al
mov eax, dword [ebp - 0x758]
add eax, dword [ebp - 0x740]
mov dword [ebp - 0x724], eax
mov ecx, dword [ebp - 0x624]
mov edx, dword [ebp - 0x564]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x3e8]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x759]
xor edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x4b8]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x489]
or edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x624]
mov edx, dword [ebp - 0x4c4]
mov eax, dword [ecx]
mov ecx, dword [edx]
sar eax, cl
mov ecx, dword [ebp - 0x4b0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x474]
and eax, ecx
mov edx, dword [ebp - 0x488]
mov word [edx], ax
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
movsx edx, byte [ebp + 8]
sub ecx, edx
mov byte [ebp - 0x1d], cl
movzx eax, byte [ebp - 0x479]
mov ecx, dword [ebp - 0x4c]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp + 0xc], al
movzx eax, word [ebp - 0x568]
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
and eax, edx
mov ecx, dword [ebp - 0x56c]
mov word [ecx], ax
mov edx, dword [ebp - 0x740]
add edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x434]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4a8]
add ecx, dword [ebp - 0x754]
mov dword [ebp - 0x740], ecx
movzx edx, byte [ebp - 0x479]
movzx eax, byte [ebp - 0x759]
sub edx, eax
mov byte [ebp + 0xc], dl
movsx ecx, byte [ebp - 0x1d]
mov edx, dword [ebp - 0x470]
movsx eax, byte [edx]
sub ecx, eax
mov byte [ebp + 8], cl
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ebp - 0x624]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x564]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3dc]
mov eax, dword [edx]
xor eax, dword [ebp - 0x4a8]
mov ecx, dword [ebp - 0x3dc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4b0]
mov eax, dword [edx]
or eax, dword [ebp - 0x4ec]
mov dword [ebp - 0x10], eax
movsx edx, byte [ebp - 0x1d]
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
sar edx, cl
mov byte [ebp + 8], dl
mov ecx, dword [ebp - 0x4e0]
add ecx, 0x35
mov dword [ebp - 0x4e0], ecx
mov edx, dword [ebp - 0x56c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x74]
movzx ecx, word [ecx]
shl eax, cl
mov word [ebp - 0x568], ax
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x4b8]
movzx edx, byte [ecx]
and eax, edx
mov ecx, dword [ebp - 0x3e8]
mov byte [ecx], al
mov edx, dword [ebp - 0x3dc]
mov eax, dword [ebp - 0x4a8]
add eax, dword [edx]
mov dword [ebp - 0x740], eax
mov ecx, dword [ebp - 0x624]
mov edx, dword [ecx]
add edx, dword [ebp - 0x46c]
mov eax, dword [ebp - 4]
mov dword [eax], edx
movsx ecx, byte [ebp - 0x1d]
movsx edx, byte [ebp + 8]
add ecx, edx
mov eax, dword [ebp - 0x470]
mov byte [eax], cl
movsx ecx, word [ebp - 0x474]
movsx edx, word [ebp - 0x72c]
sub ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x56c]
movzx ecx, word [eax]
and edx, ecx
mov word [ebp - 0x568], dx
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x759]
sub eax, ecx
mov byte [ebp - 0x581], al
mov edx, dword [ebp - 0x5a0]
mov eax, dword [ebp - 0x434]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x5a0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [ebp - 0x10]
add ecx, dword [eax]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x4a8]
or eax, dword [ebp - 0x740]
mov ecx, dword [ebp - 0x5a0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4b0]
mov eax, dword [ebp - 0x10]
xor eax, dword [edx]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x56c]
movzx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x74]
mov word [ecx], dx
mov edx, dword [ebp - 0x4b8]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x581]
sar eax, cl
mov ecx, dword [ebp - 0x3e8]
mov byte [ecx], al
mov edx, dword [ebp - 0x624]
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
cmp dword [ebp - 0x4e0], 0xf1d5
jbe 0x4d5693
mov eax, dword [ebp - 0x740]
mov dword [ebp - 0x4e8], eax
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x4b0]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x624]
mov eax, dword [edx]
sub eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x624]
mov dword [ecx], eax
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x56c]
mov word [eax], dx
mov ecx, dword [ebp - 0x4c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x3e8]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x479], dl
movsx edx, byte [ebp - 0x1d]
movsx eax, byte [ebp + 8]
add edx, eax
mov ecx, dword [ebp - 0x470]
mov byte [ecx], dl
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x578]
and eax, ecx
mov edx, dword [ebp - 0x488]
mov word [edx], ax
mov eax, dword [ebp - 0x4e8]
sub eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x434]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4c4]
mov eax, dword [ebp - 0x4ec]
add eax, dword [edx]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x56c]
mov word [eax], dx
mov ecx, dword [ebp - 0x4b8]
movzx edx, byte [ecx]
movzx eax, byte [ebp + 0xc]
xor edx, eax
mov byte [ebp - 0x489], dl
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x4a8]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0x724], edx
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x1d]
or ecx, edx
mov byte [ebp + 8], cl
mov eax, dword [ebp - 0x448]
sub eax, 0x7f
mov dword [ebp - 0x448], eax
mov edx, dword [ebp - 0x3d8]
mov ecx, dword [ebp - 0x4ec]
sar edx, cl
mov eax, dword [ebp - 0x4b0]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x489]
movzx edx, byte [ebp - 0x581]
and ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x759]
sub ecx, edx
mov byte [ebp - 0x581], cl
movzx eax, word [ebp - 0x568]
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x74]
mov word [ecx], ax
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x46c]
mov eax, dword [ebp - 0x7c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x624]
mov edx, dword [ebp - 4]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x7c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x758]
add edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x3dc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x564]
mov edx, dword [ecx]
add edx, dword [ebp - 0x46c]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x1d]
and ecx, edx
mov byte [ebp + 8], cl
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
movsx edx, byte [ebp + 8]
add ecx, edx
mov byte [ebp - 0x1d], cl
mov eax, dword [ebp - 0x488]
movsx edx, word [eax]
movsx ecx, word [ebp - 0x578]
shl edx, cl
mov eax, dword [ebp - 0x488]
mov word [eax], dx
movzx ecx, byte [ebp + 0xc]
movzx edx, byte [ebp - 0x581]
xor ecx, edx
mov eax, dword [ebp - 0x598]
mov byte [eax], cl
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x568]
sar edx, cl
mov eax, dword [ebp - 0x56c]
mov word [eax], dx
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x759]
or edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x4b0]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x7c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4b8]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x479]
and edx, eax
mov ecx, dword [ebp - 0x4c]
mov byte [ecx], dl
mov edx, dword [ebp - 0x56c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x568]
sub eax, ecx
mov edx, dword [ebp - 0x74]
mov word [edx], ax
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x434]
mov dword [eax], edx
mov ecx, dword [ebp - 0x46c]
add ecx, dword [ebp - 0x3d8]
mov edx, dword [ebp - 0x624]
mov dword [edx], ecx
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x1d]
sub ecx, edx
mov byte [ebp + 8], cl
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x740]
add ecx, dword [eax]
mov dword [ebp - 0x4e8], ecx
cmp dword [ebp - 0x448], 0x3d2b
ja 0x4d5aaf
movsx edx, byte [ebp - 0x1d]
movsx eax, byte [ebp + 8]
add edx, eax
mov ecx, dword [ebp - 0x470]
movsx eax, byte [ecx]
cmp edx, eax
jne 0x4d5e58
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
mov dword [ebp - 0x7f0], edx
cmp dword [ebp - 0x7f0], 0x311e
je 0x4d5dc2
cmp dword [ebp - 0x7f0], 0x7aa5
je 0x4d5e3b
jmp 0x4d5e53
mov al, byte [ebp + 8]
mov byte [ebp - 0x7f4], al
cmp byte [ebp - 0x7f4], 0x40
je 0x4d5dd6
jmp 0x4d5e23
movzx ecx, word [ebp - 0x568]
push ecx
movzx edx, byte [ebp - 0x1d]
push edx
mov eax, dword [ebp - 0x488]
movzx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0x3e8]
mov dl, byte [edx]
mov cl, byte [ebp - 0x489]
call fcn.00478870
lea eax, [ebp - 0x470]
push eax
lea ecx, [ebp - 0x634]
push ecx
lea edx, [ebp - 0x484]
push edx
call dword [sym.imp.ole32.dll_CoUnmarshalInterface]
mov dword [ebp - 0x570], eax
jmp 0x4d5e39
movzx eax, byte [ebp - 0x479]
movzx ecx, byte [ebp - 0x759]
sar eax, cl
mov byte [ebp - 0x489], al
jmp 0x4d5e53
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x56c]
movzx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x74]
mov word [ecx], dx
jmp 0x4d5f98
mov edx, dword [ebp - 0x4b8]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x3e8]
movzx edx, byte [ecx]
add eax, edx
movzx ecx, byte [ebp - 0x759]
mov edx, dword [ebp - 0x598]
movzx edx, byte [edx]
and ecx, edx
cmp eax, ecx
jle 0x4d5f98
movzx eax, word [ebp - 0x568]
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
xor eax, edx
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
cmp eax, edx
jne 0x4d5f85
lea eax, [ebp - 0x470]
push eax
lea ecx, [ebp - 0x39c]
push ecx
call dword [sym.imp.ole32.dll_OleDoAutoConvert]
mov dword [ebp - 0x6f8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x7c]
add eax, dword [ecx]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], eax
mov eax, dword [ebp - 0x4b8]
mov cl, byte [eax]
mov byte [ebp - 0x7f8], cl
cmp byte [ebp - 0x7f8], 0x82
je 0x4d5eeb
jmp 0x4d5f6a
lea edx, [ebp - 0x74]
push edx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x3d8]
mov dword [ebp - 0x46c], ecx
movsx edx, byte [ebp - 0x1d]
movsx eax, byte [ebp + 8]
add edx, eax
mov ecx, dword [ebp - 0x470]
mov byte [ecx], dl
movzx edx, word [ebp - 0x568]
push edx
mov eax, dword [ebp - 0x470]
movzx ecx, byte [eax]
push ecx
movzx edx, word [ebp - 0x72c]
push edx
mov eax, dword [ebp - 0x3e8]
mov dl, byte [eax]
mov cl, byte [ebp - 0x489]
call fcn.00478870
lea ecx, [ebp - 0x5a0]
push ecx
lea edx, [ebp - 0x740]
push edx
push 0x4d
mov eax, dword [ebp - 0x748]
push eax
call dword [sym.imp.ole32.dll_IsAccelerator]
mov dword [ebp - 0x5bc], eax
jmp 0x4d5f83
movsx ecx, word [ebp - 0x474]
movsx edx, word [ebp - 0x578]
sub ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
jmp 0x4d5f98
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x74]
mov cx, word [eax]
call fcn.004721c0
movzx ecx, word [ebp - 0x568]
mov edx, dword [ebp - 0x56c]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x74]
movzx eax, word [edx]
cmp ecx, eax
jne 0x4d7a5a
cmp dword [ebp - 0x5b4], 0x623d
je 0x4d61a4
mov ecx, dword [ebp - 0x5b4]
add ecx, 0xde
mov dword [ebp - 0x5b4], ecx
mov edx, dword [ebp - 0x3dc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5a0]
add eax, dword [ecx]
mov edx, dword [ebp - 0x3dc]
mov dword [edx], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x440]
sar edx, cl
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x470]
movsx edx, byte [eax]
movsx ecx, byte [ebp - 0x1d]
shl edx, cl
mov byte [ebp + 8], dl
mov eax, dword [ebp - 0x3d8]
or eax, dword [ebp - 0x46c]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x74]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
xor eax, edx
mov word [ebp - 0x568], ax
movzx eax, byte [ebp - 0x759]
movzx ecx, byte [ebp - 0x479]
and eax, ecx
mov edx, dword [ebp - 0x3e8]
mov byte [edx], al
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x434]
add ecx, dword [edx]
mov eax, dword [ebp - 0x3dc]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x470]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x1d]
add edx, eax
mov byte [ebp + 8], dl
movsx ecx, byte [ebp - 0x1d]
mov edx, dword [ebp - 0x470]
movsx eax, byte [edx]
and ecx, eax
mov byte [ebp + 8], cl
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ebp - 0x754]
sub edx, dword [ecx]
mov dword [ebp - 0x740], edx
mov eax, dword [ebp - 0x3e8]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x759]
sub ecx, edx
mov eax, dword [ebp - 0x4b8]
mov byte [eax], cl
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x56c]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x568], dx
movsx edx, byte [ebp - 0x1d]
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
add edx, ecx
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x578]
sub eax, ecx
mov edx, dword [ebp - 0x488]
mov word [edx], ax
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x724]
or ecx, dword [eax]
mov edx, dword [ebp - 0x5a0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [ebp - 0x10]
xor ecx, dword [eax]
mov dword [ebp - 0x440], ecx
mov edx, dword [ebp - 0x56c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x74]
movzx ecx, word [ecx]
shl eax, cl
mov word [ebp - 0x568], ax
movzx edx, byte [ebp - 0x479]
mov eax, dword [ebp - 0x3e8]
movzx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0x4b8]
mov byte [ecx], dl
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x624]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x4c4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x754], edx
mov eax, dword [ebp - 0x624]
mov ecx, dword [ebp - 0x440]
sub ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
jmp 0x4d5fb8
mov edx, dword [ebp - 0x624]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4c4]
add eax, dword [ecx]
mov edx, dword [ebp - 0x46c]
add edx, dword [ebp - 0x440]
cmp eax, edx
jle 0x4d61ec
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 4]
mov edx, dword [eax]
and edx, dword [ecx]
mov eax, dword [ebp - 0x624]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x581]
movzx edx, byte [ebp - 0x489]
add ecx, edx
mov byte [ebp - 0x479], cl
lea eax, [ebp - 0x568]
mov dword [ebp - 0x620], eax
cmp dword [ebp - 0x5a8], 0xb208
ja 0x4d65d5
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx]
add edx, dword [ebp - 0x4e8]
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x624]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x4ec]
mov eax, dword [ebp - 0x4b0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x564]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [ebp - 0x4ec]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x624]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x46c]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x564]
mov dword [eax], edx
movsx ecx, byte [ebp + 8]
movsx edx, byte [ebp - 0x1d]
or ecx, edx
mov eax, dword [ebp - 0x470]
mov byte [eax], cl
mov cx, word [ebp - 0x72c]
mov word [ebp - 0x578], cx
movzx edx, byte [ebp - 0x479]
movzx ecx, byte [ebp - 0x581]
sar edx, cl
mov byte [ebp + 0xc], dl
movzx eax, byte [ebp - 0x759]
mov ecx, dword [ebp - 0x4b8]
movzx edx, byte [ecx]
and eax, edx
mov ecx, dword [ebp - 0x3e8]
mov byte [ecx], al
mov edx, dword [ebp - 0x740]
sub edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x434]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ecx]
add edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x434]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x581]
mov edx, dword [ebp - 0x4c]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x4c]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x479]
add edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x564]
mov edx, dword [ebp - 0x624]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ebp - 0x740]
and edx, dword [ecx]
mov eax, dword [ebp - 0x3dc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x46c]
add ecx, dword [ebp - 0x3d8]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x564]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x624]
mov dword [edx], ecx
movzx eax, word [ebp - 0x568]
mov ecx, dword [ebp - 0x620]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x56c]
mov word [ecx], ax
mov edx, dword [ebp - 0x4c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x3e8]
movzx ecx, byte [ecx]
sar eax, cl
mov edx, dword [ebp - 0x4b8]
mov byte [edx], al
mov eax, dword [ebp - 0x434]
mov edx, dword [ebp - 0x4e8]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x3dc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x440]
mov edx, dword [ebp - 0x624]
mov dword [edx], ecx
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x1d]
xor ecx, edx
mov byte [ebp + 8], cl
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x578]
and ecx, edx
mov word [ebp - 0x72c], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x568]
add ecx, edx
mov eax, dword [ebp - 0x56c]
mov word [eax], cx
mov ecx, dword [ebp - 0x4c]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x759]
add edx, eax
mov byte [ebp - 0x581], dl
mov ecx, dword [ebp - 0x724]
sub ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x5a0]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x759]
mov ecx, dword [ebp - 0x4b8]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp + 0xc], al
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x3d8]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x4e8]
add ecx, dword [eax]
mov edx, dword [ebp - 0x3dc]
mov dword [edx], ecx
mov eax, dword [ebp - 0x624]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x7c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5a8]
add eax, 0xe2
mov dword [ebp - 0x5a8], eax
mov ecx, dword [ebp - 0x620]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x56c]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x568], dx
movzx edx, byte [ebp - 0x581]
movzx ecx, byte [ebp - 0x489]
shl edx, cl
mov eax, dword [ebp - 0x598]
mov byte [eax], dl
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x10]
or edx, dword [ecx]
mov eax, dword [ebp - 0x624]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x4a8]
mov ecx, dword [ecx]
shr edx, cl
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x440]
xor ecx, dword [ebp - 0x10]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x564]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3d8]
mov ecx, dword [ebp - 0x4b0]
mov dword [ecx], eax
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x620]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0x74]
mov word [eax], dx
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x759]
sub edx, eax
mov ecx, dword [ebp - 0x4b8]
mov byte [ecx], dl
mov edx, dword [ebp - 0x470]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x1d]
add eax, ecx
mov byte [ebp + 8], al
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x578]
sub eax, ecx
mov word [ebp - 0x474], ax
mov edx, dword [ebp - 0x754]
add edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x434]
mov dword [eax], edx
mov ecx, dword [ebp - 0x564]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x624]
add edx, dword [eax]
mov ecx, dword [ebp - 4]
mov dword [ecx], edx
mov edx, dword [ebp - 0x4c]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x581]
sub eax, ecx
mov edx, dword [ebp - 0x3e8]
mov byte [edx], al
mov eax, dword [ebp - 0x620]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x56c]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0x568], cx
mov ecx, dword [ebp - 0x4e8]
and ecx, dword [ebp - 0x724]
mov dword [ebp - 0x4a8], ecx
jmp 0x4d61f8
mov dl, byte [ebp - 0x1d]
mov byte [ebp - 0x7fc], dl
cmp byte [ebp - 0x7fc], 0
je 0x4d65ec
jmp 0x4d6672
mov eax, dword [ebp - 0x46c]
mov dword [ebp - 0x800], eax
cmp dword [ebp - 0x800], 0
je 0x4d660f
cmp dword [ebp - 0x800], 0x4ea087fd
je 0x4d665d
jmp 0x4d6670
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3d8]
shl edx, cl
mov eax, dword [ebp - 0x624]
mov dword [eax], edx
mov dword [ebp - 0x3e4], 0xbc74
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x46c], edx
lea eax, [ebp - 0x740]
mov dword [ebp - 0x43c], eax
mov ecx, dword [ebp - 0x74]
mov dx, word [ecx]
mov word [ebp - 0x4c0], dx
jmp 0x4d6670
lea eax, [ebp - 0x3d4]
push eax
call dword [sym.imp.SHELL32.dll_SHGetDesktopFolder]
mov dword [ebp - 0x464], eax
jmp 0x4d669d
mov ecx, dword [ebp - 0x4b8]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
or edx, ecx
mov eax, dword [ebp - 0x4b8]
mov byte [eax], dl
mov ecx, dword [ebp - 0x470]
movsx edx, byte [ecx]
movsx ecx, byte [ebp - 0x1d]
sar edx, cl
mov byte [ebp + 8], dl
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x578]
add ecx, edx
movsx eax, word [ebp - 0x72c]
movsx edx, word [ebp - 0x474]
add eax, edx
cmp ecx, eax
jne 0x4d67aa
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x46c]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x624]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [ebp - 0x740]
sub ecx, dword [eax]
mov dword [ebp - 0x4ac], ecx
mov edx, dword [ebp - 0x4b0]
mov eax, dword [ebp - 0x4ec]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x4c4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3d8]
add edx, dword [ebp - 0x440]
mov eax, dword [ebp - 0x4c4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x488]
mov dx, word [ecx]
mov word [ebp - 0x57c], dx
mov al, byte [ebp - 0x581]
mov byte [ebp - 0x804], al
cmp byte [ebp - 0x804], 0x39
je 0x4d6748
cmp byte [ebp - 0x804], 0xf2
je 0x4d6774
jmp 0x4d67a5
mov ecx, dword [ebp - 0x470]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x1d]
sub edx, eax
mov ecx, dword [ebp - 0x470]
mov byte [ecx], dl
mov edx, dword [ebp - 0x4b4]
push edx
call dword [sym.imp.SHELL32.dll_ILCreateFromPathW]
mov dword [ebp - 0x3ac], eax
jmp 0x4d67a5
movzx eax, word [ebp - 0x568]
mov ecx, dword [ebp - 0x620]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x4c0], ax
movzx eax, byte [ebp - 0x581]
movzx ecx, byte [ebp - 0x489]
sub eax, ecx
mov edx, dword [ebp - 0x598]
mov byte [edx], al
jmp 0x4d68d6
movsx eax, word [ebp - 0x474]
mov ecx, dword [ebp - 0x488]
movsx edx, word [ecx]
and eax, edx
movsx ecx, word [ebp - 0x72c]
movsx edx, word [ebp - 0x578]
add ecx, edx
cmp eax, ecx
jle 0x4d68d6
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x808], eax
cmp dword [ebp - 0x808], 0x7af97307
je 0x4d67eb
jmp 0x4d6855
lea ecx, [ebp - 0x4e8]
push ecx
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x728]
push eax
lea ecx, [ebp - 0x738]
push ecx
lea edx, [ebp - 0x3cc]
push edx
lea eax, [ebp - 0x634]
push eax
lea ecx, [ebp - 0x6f0]
push ecx
call dword [sym.imp.ole32.dll_CoQueryClientBlanket]
mov dword [ebp - 0x74c], eax
movzx edx, byte [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x470]
movzx ecx, byte [eax]
push ecx
call fcn.004d1cd0
mov edx, dword [ebp - 0x43c]
mov eax, dword [ebp - 0x5a0]
mov edx, dword [edx]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x43c]
mov dword [eax], edx
jmp 0x4d6868
lea ecx, [ebp - 0x720]
push ecx
call dword [sym.imp.COMDLG32.dll_ReplaceTextW]
mov dword [ebp - 0x5b0], eax
mov edx, dword [ebp - 0x564]
mov eax, dword [ebp - 0x3d8]
or eax, dword [edx]
mov dword [ebp - 0x46c], eax
movzx ecx, word [ebp - 0x568]
mov edx, dword [ebp - 0x74]
movzx eax, word [edx]
xor ecx, eax
mov edx, dword [ebp - 0x620]
mov word [edx], cx
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [eax]
push ecx
movzx edx, byte [ebp - 0x479]
push edx
call fcn.004ef7c0
add esp, 8
push 0x68
push 0x40
push 9
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.SHELL32.dll_SHUpdateImageW]
mov ecx, dword [ebp - 0x4c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0x4b8]
mov byte [ecx], dl
mov edx, dword [ebp - 0x5a0]
mov eax, dword [ebp - 0x724]
and eax, dword [edx]
mov dword [ebp - 0x758], eax
lea ecx, [ebp - 0x4ec]
mov dword [ebp - 0x438], ecx
movzx edx, byte [ebp - 0x489]
mov eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x758]
sub eax, dword [edx]
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0x620]
mov word [eax], dx
mov ecx, dword [ebp - 0x3e8]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x759]
add edx, eax
mov ecx, dword [ebp - 0x3e8]
mov byte [ecx], dl
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, dword [ebp - 0x4ec]
mov ecx, dword [ebp - 0x624]
mov dword [ecx], eax
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x3d8]
mov dword [ebp - 0x46c], edx
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
movsx edx, byte [ebp + 8]
sub ecx, edx
mov byte [ebp - 0x1d], cl
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x72c]
sub ecx, edx
mov word [ebp - 0x57c], cx
mov eax, dword [ebp - 0x4b8]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x489]
or ecx, edx
mov eax, dword [ebp - 0x3e8]
mov byte [eax], cl
mov ecx, dword [ebp - 0x80]
sub ecx, 0xb5
mov dword [ebp - 0x80], ecx
movzx edx, word [ebp - 0x4c0]
movzx ecx, word [ebp - 0x568]
sar edx, cl
mov eax, dword [ebp - 0x620]
mov word [eax], dx
mov ecx, dword [ebp - 0x43c]
mov edx, dword [ebp - 0x3dc]
mov eax, dword [ecx]
xor eax, dword [edx]
mov dword [ebp - 0x4e8], eax
cmp dword [ebp - 0x80], 0xb952
ja 0x4d68f6
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x4c0]
shl edx, cl
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
mov eax, dword [ebp - 0x620]
movzx eax, word [eax]
and ecx, eax
cmp edx, ecx
jl 0x4d6aaa
mov ecx, dword [ebp - 0x470]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x1d]
sub edx, eax
movsx ecx, byte [ebp + 8]
cmp edx, ecx
je 0x4d6a9c
mov edx, dword [ebp - 0x3d8]
sub edx, dword [ebp - 0x46c]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x624]
mov eax, dword [eax]
sub eax, dword [ecx]
cmp edx, eax
jl 0x4d6a86
movzx ecx, byte [ebp - 0x759]
push ecx
mov edx, dword [ebp - 0x4e8]
push edx
movzx eax, word [ebp - 0x578]
push eax
movzx ecx, byte [ebp + 8]
push ecx
movzx edx, byte [ebp - 0x1d]
push edx
call fcn.00429f50
jmp 0x4d6a9c
mov eax, dword [ebp - 0x43c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x434]
add ecx, dword [edx]
mov dword [ebp - 0x754], ecx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x3d8]
mov dword [ebp - 0x10], ecx
movsx edx, byte [ebp - 0x1d]
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
add edx, ecx
movsx eax, byte [ebp + 8]
cmp edx, eax
jl 0x4d78e0
movzx ecx, word [ebp - 0x568]
movzx edx, word [ebp - 0x4c0]
add ecx, edx
mov eax, dword [ebp - 0x620]
movzx edx, word [eax]
mov eax, dword [ebp - 0x74]
movzx eax, word [eax]
add edx, eax
cmp ecx, edx
jge 0x4d6c26
lea ecx, [ebp - 0x340]
push ecx
lea edx, [ebp - 0x34]
push edx
call dword [sym.imp.ole32.dll_CoAllowSetForegroundWindow]
mov dword [ebp - 0x730], eax
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x1d]
sub ecx, edx
mov byte [ebp + 8], cl
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [ebp - 0x10]
shl eax, cl
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ebp - 0x564]
mov ecx, dword [ecx]
xor ecx, dword [edx]
cmp eax, ecx
jg 0x4d6c26
movsx edx, word [ebp - 0x474]
movsx ecx, word [ebp - 0x57c]
sar edx, cl
mov eax, dword [ebp - 0x488]
mov word [eax], dx
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
mov dword [ebp - 0x80c], edx
cmp dword [ebp - 0x80c], 0xf46
je 0x4d6b73
jmp 0x4d6c14
lea eax, [ebp - 0x728]
push eax
lea ecx, [ebp - 0x744]
push ecx
call dword [sym.imp.ole32.dll_CoSwitchCallContext]
mov dword [ebp - 0x730], eax
mov edx, dword [ebp - 0x3dc]
mov eax, dword [edx]
or eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x434]
mov dword [ecx], eax
movzx edx, word [ebp - 0x4c0]
push edx
mov eax, dword [ebp - 0x470]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x488]
movzx eax, word [edx]
push eax
mov ecx, dword [ebp - 0x598]
mov dl, byte [ecx]
mov cl, byte [ebp - 0x489]
call fcn.00478870
mov edx, dword [ebp - 4]
mov eax, dword [edx]
and eax, dword [ebp - 0x4ec]
mov dword [ebp - 0x3d8], eax
lea ecx, [ebp - 0x1d]
push ecx
push 0xf0
lea edx, [ebp - 0x70]
push edx
call dword [sym.imp.ole32.dll_CoGetStdMarshalEx]
mov dword [ebp - 0x460], eax
movzx eax, word [ebp - 0x4c0]
movzx ecx, word [ebp - 0x568]
sub eax, ecx
mov edx, dword [ebp - 0x74]
mov word [edx], ax
jmp 0x4d6c26
mov eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x759]
add ecx, edx
mov byte [ebp + 0xc], cl
movzx eax, byte [ebp - 0x759]
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp + 0xc], al
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [ebp - 0x758]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x434]
mov dword [edx], ecx
mov eax, dword [ebp - 0x438]
mov ecx, dword [ebp - 0x4ec]
add ecx, dword [eax]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x4c4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x620]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x74]
movzx eax, word [edx]
and ecx, eax
mov edx, dword [ebp - 0x620]
mov word [edx], cx
movzx eax, byte [ebp + 0xc]
movzx ecx, byte [ebp - 0x489]
add eax, ecx
mov edx, dword [ebp - 0x4c]
mov byte [edx], al
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x43c]
mov edx, dword [eax]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x3dc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ecx]
sar edx, cl
mov dword [ebp - 0x4ec], edx
mov eax, dword [ebp - 0x3e0]
sub eax, 0xc1
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x4c4]
mov eax, dword [ecx]
or eax, dword [edx]
mov ecx, dword [ebp - 0x564]
mov dword [ecx], eax
mov edx, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x10]
shl edx, cl
mov eax, dword [ebp - 0x624]
mov dword [eax], edx
mov ecx, dword [ebp - 0x46c]
sub ecx, dword [ebp - 0x10]
mov dword [ebp - 0x4ec], ecx
movsx edx, byte [ebp - 0x1d]
movsx eax, byte [ebp + 8]
and edx, eax
mov ecx, dword [ebp - 0x470]
mov byte [ecx], dl
movsx edx, word [ebp - 0x474]
movsx eax, word [ebp - 0x578]
sub edx, eax
mov word [ebp - 0x72c], dx
movzx ecx, byte [ebp - 0x479]
movzx edx, byte [ebp - 0x581]
sub ecx, edx
mov byte [ebp + 0xc], cl
movzx eax, word [ebp - 0x568]
mov ecx, dword [ebp - 0x620]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x4c0], ax
mov eax, dword [ebp - 0x4a8]
add eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x5a0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3dc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x434]
add eax, dword [ecx]
mov edx, dword [ebp - 0x5a0]
mov dword [edx], eax
mov eax, dword [ebp - 0x620]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x4c0]
sub ecx, edx
mov eax, dword [ebp - 0x56c]
mov word [eax], cx
movzx ecx, byte [ebp - 0x489]
movzx edx, byte [ebp - 0x759]
add ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 0x4ec]
and eax, dword [ebp - 0x46c]
mov dword [ebp - 0x440], eax
cmp dword [ebp - 0x3e0], 0x7ff8
jae 0x4d6c26
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
or edx, dword [ebp - 0x4ec]
mov eax, dword [ebp - 0x564]
mov esi, dword [ebp - 0x10]
mov ecx, dword [eax]
sar esi, cl
cmp edx, esi
jge 0x4d6f1d
mov ecx, dword [ebp - 0x624]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
push ecx
call fcn.004ef7c0
add esp, 8
mov edx, dword [ebp - 0x43c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4a8]
shl eax, cl
mov ecx, dword [ebp - 0x434]
mov dword [ecx], eax
mov edx, dword [ebp - 0x56c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x568]
xor eax, ecx
movzx edx, word [ebp - 0x4c0]
mov ecx, dword [ebp - 0x74]
movzx ecx, word [ecx]
add edx, ecx
cmp eax, edx
jle 0x4d6ecd
movsx edx, word [ebp - 0x578]
mov dword [ebp - 0x810], edx
cmp dword [ebp - 0x810], 0x42e5
je 0x4d6e74
jmp 0x4d6eb8
mov eax, dword [ebp - 0x3d8]
add eax, dword [ebp - 0x440]
mov dword [ebp - 0x46c], eax
lea ecx, [ebp - 0x434]
push ecx
lea edx, [ebp - 0x45c]
push edx
call dword [sym.imp.ole32.dll_CoSwitchCallContext]
mov dword [ebp - 0x6f8], eax
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x564]
mov dword [edx], ecx
jmp 0x4d6ecd
movzx eax, byte [ebp - 0x489]
mov ecx, dword [ebp - 0x4c]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x581], al
movzx eax, word [ebp - 0x4c0]
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x620]
mov word [ecx], ax
push 0x11
lea edx, [ebp - 0x7c]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 0x454]
push edx
call dword [sym.imp.SHELL32.dll_SHGetNewLinkInfoW]
mov dword [ebp - 0x5bc], eax
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x724]
mov dword [ebp - 0x740], ecx
cmp dword [ebp - 0x3e4], 0xa196
jb 0x4d7137
mov edx, dword [ebp - 0x3e4]
sub edx, 0xb5
mov dword [ebp - 0x3e4], edx
mov eax, dword [ebp - 0x564]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x4c4]
add ecx, dword [edx]
mov eax, dword [ebp - 0x624]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x470]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x1d]
sub edx, eax
mov ecx, dword [ebp - 0x470]
mov byte [ecx], dl
movsx edx, word [ebp - 0x57c]
movsx eax, word [ebp - 0x578]
add edx, eax
mov ecx, dword [ebp - 0x488]
mov word [ecx], dx
movzx edx, byte [ebp - 0x759]
mov eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x581], dl
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x56c]
mov word [eax], dx
mov edx, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x758]
shr edx, cl
mov dword [ebp - 0x4a8], edx
mov eax, dword [ebp - 0x624]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x3d8]
shl edx, cl
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x4ec]
xor edx, dword [ecx]
mov dword [ebp - 0x440], edx
mov eax, dword [ebp - 0x43c]
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [eax]
or edx, dword [ecx]
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x3e8]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x620]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x568], dx
movzx edx, byte [ebp - 0x759]
mov eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x46c]
and edx, dword [ebp - 0x440]
mov eax, dword [ebp - 0x4b0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x4e8]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x3dc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4ec]
add ecx, dword [ebp - 0x3d8]
mov edx, dword [ebp - 0x4c4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [ebp - 0x4ec]
add ecx, dword [eax]
mov edx, dword [ebp - 0x4b0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x3e8]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x4c]
mov byte [edx], cl
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x568]
sub ecx, edx
mov word [ebp - 0x4c0], cx
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x1d]
xor ecx, edx
mov byte [ebp + 8], cl
movsx eax, word [ebp - 0x57c]
movsx ecx, word [ebp - 0x578]
sar eax, cl
mov ecx, dword [ebp - 0x488]
mov word [ecx], ax
mov edx, dword [ebp - 0x740]
or edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3d8]
shl edx, cl
mov dword [ebp - 0x46c], edx
movzx eax, byte [ebp - 0x581]
movzx ecx, byte [ebp - 0x489]
and eax, ecx
mov edx, dword [ebp - 0x4c]
mov byte [edx], al
jmp 0x4d6f1d
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
mov dword [ebp - 0x814], ecx
cmp dword [ebp - 0x814], 0x63c
je 0x4d7154
jmp 0x4d71f2
mov edx, dword [ebp - 0x740]
mov dword [ebp - 0x818], edx
cmp dword [ebp - 0x818], 0xe402f676
je 0x4d7170
jmp 0x4d7183
lea eax, [ebp - 0x6e4]
push eax
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov dword [ebp - 0x3a4], eax
mov ecx, dword [ebp - 0x4b0]
mov edx, dword [ebp - 0x438]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x624]
mov dword [ecx], eax
call fcn.0046d040
push 1
lea edx, [ebp - 0x3cc]
push edx
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.ole32.dll_OleGetIconOfClass]
mov dword [ebp - 0x5ac], eax
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ebp - 0x43c]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x5a0]
mov dword [ecx], eax
call fcn.0046d040
mov edx, dword [ebp - 0x4c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x581], al
jmp 0x4d7826
mov ax, word [ebp - 0x4c0]
mov word [ebp - 0x48], ax
mov ecx, dword [ebp - 0x598]
mov dl, byte [ecx]
mov byte [ebp - 0x81c], dl
cmp byte [ebp - 0x81c], 0x23
je 0x4d7216
jmp 0x4d725f
call fcn.0046d040
mov eax, dword [ebp - 0x488]
movsx edx, word [eax]
movsx ecx, word [ebp - 0x57c]
sar edx, cl
mov word [ebp - 0x578], dx
movsx eax, byte [ebp - 0x1d]
movsx ecx, byte [ebp + 8]
and eax, ecx
mov edx, dword [ebp - 0x470]
mov byte [edx], al
lea eax, [ebp - 0x1d]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
call dword [sym.imp.SHELL32.dll_SHQueryRecycleBinW]
mov dword [ebp - 0x460], eax
jmp 0x4d777f
movzx edx, byte [ebp - 0x489]
movzx eax, byte [ebp - 0x759]
add edx, eax
movzx ecx, byte [ebp + 0xc]
mov eax, dword [ebp - 0x598]
movzx eax, byte [eax]
add ecx, eax
cmp edx, ecx
jg 0x4d770f
mov ecx, dword [ebp - 0x438]
mov edx, dword [ebp - 0x440]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x564]
mov ecx, dword [ebp - 0x4c4]
mov eax, dword [eax]
and eax, dword [ecx]
cmp edx, eax
jne 0x4d73ba
mov ecx, dword [ebp - 0x4e8]
add ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x434]
mov dword [edx], ecx
mov eax, dword [ebp - 0x46c]
mov dword [ebp - 0x750], eax
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ecx]
mov dword [ebp - 0x820], edx
cmp dword [ebp - 0x820], 0x8e1dddd3
je 0x4d72eb
jmp 0x4d739d
movsx eax, word [ebp - 0x72c]
mov dword [ebp - 0x824], eax
cmp dword [ebp - 0x824], 0x5170
je 0x4d733f
cmp dword [ebp - 0x824], 0x7901
je 0x4d7315
jmp 0x4d739b
movzx ecx, byte [ebp - 0x759]
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x4b8]
mov byte [edx], cl
push 0x57
call dword [sym.imp.ole32.dll_CoRevokeClassObject]
mov dword [ebp - 0x730], eax
jmp 0x4d739b
movzx eax, word [ebp - 0x568]
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x48], ax
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x43c]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x479]
push ecx
mov edx, dword [ebp - 0x5a0]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x488]
movzx edx, word [ecx]
push edx
mov eax, dword [ebp - 0x470]
movzx ecx, byte [eax]
push ecx
movzx edx, byte [ebp - 0x1d]
push edx
call fcn.00429f50
jmp 0x4d73ba
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x10]
mov dword [ebp - 0x4ec], ecx
lea edx, [ebp - 0x4ec]
mov dword [ebp - 0x478], edx
mov eax, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x4e8]
mov ecx, dword [eax]
shr edx, cl
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x43c]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x4e8]
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [ebp - 0x758]
and ecx, dword [eax]
cmp edx, ecx
jbe 0x4d74b4
push 0xdb
mov edx, dword [ebp - 0x574]
push edx
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x4e4]
push ecx
call dword [sym.imp.SHELL32.dll_SHPathPrepareForWriteW]
mov dword [ebp - 0x61c], eax
movzx edx, byte [ebp - 0x581]
movzx eax, byte [ebp - 0x759]
sub edx, eax
mov ecx, dword [ebp - 0x4c]
mov byte [ecx], dl
mov edx, dword [ebp - 0x43c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
add ecx, dword [ebp - 0x740]
cmp eax, ecx
jae 0x4d7488
movzx edx, word [ebp - 0x4c0]
movzx eax, word [ebp - 0x48]
add edx, eax
mov word [ebp - 0x568], dx
lea ecx, [ebp - 0x1d]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetDesktopFolder]
mov dword [ebp - 0x59c], eax
mov edx, dword [ebp - 0x4c4]
mov eax, dword [ebp - 0x478]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x4c4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x624]
mov ecx, dword [eax]
mov edx, dword [ebp - 4]
add ecx, dword [edx]
mov dword [ebp - 0x3d8], ecx
movsx eax, word [ebp - 0x72c]
movsx ecx, word [ebp - 0x57c]
and eax, ecx
mov edx, dword [ebp - 0x488]
mov word [edx], ax
mov eax, dword [ebp - 0x470]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x1d]
sub ecx, edx
movsx eax, byte [ebp + 8]
cmp ecx, eax
jge 0x4d74e2
mov ecx, dword [ebp - 0x4c]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x489]
sub edx, eax
mov byte [ebp + 0xc], dl
jmp 0x4d76c7
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx]
and edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x740]
sub eax, dword [ebp - 0x754]
cmp edx, eax
jb 0x4d75cc
mov ecx, dword [ebp - 0x758]
mov dword [ebp - 0x828], ecx
cmp dword [ebp - 0x828], 0xbff098dc
je 0x4d751e
jmp 0x4d758e
mov edx, dword [ebp - 0x4b8]
mov al, byte [edx]
mov byte [ebp - 0x82c], al
cmp byte [ebp - 0x82c], 0xa6
je 0x4d756b
cmp byte [ebp - 0x82c], 0xfc
je 0x4d7540
jmp 0x4d758c
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ecx]
add edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x5a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4c]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
push ecx
call section..text
jmp 0x4d758c
lea edx, [ebp - 0x5a4]
push edx
lea eax, [ebp - 0x6b0]
push eax
lea ecx, [ebp - 0x45c]
push ecx
call dword [sym.imp.ole32.dll_CoGetInterfaceAndReleaseStream]
mov dword [ebp - 0x570], eax
jmp 0x4d75cc
mov edx, dword [ebp - 0x434]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3dc]
add eax, dword [ecx]
mov dword [ebp - 0x4ac], eax
lea edx, [ebp - 0x3d8]
mov dword [ebp - 0x638], edx
mov eax, dword [ebp - 0x624]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x4ec]
mov edx, dword [ebp - 0x4c4]
mov dword [edx], ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], eax
movzx ecx, byte [ebp - 0x581]
movzx edx, byte [ebp - 0x759]
add ecx, edx
mov eax, dword [ebp - 0x3e8]
mov byte [eax], cl
movzx ecx, word [ebp - 0x568]
movzx edx, word [ebp - 0x48]
add ecx, edx
mov word [ebp - 0x4c0], cx
mov eax, dword [ebp - 0x73c]
sub eax, 0x90
mov dword [ebp - 0x73c], eax
mov ecx, dword [ebp - 0x740]
add ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x43c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3e8]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x581]
and ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 0x4b8]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x489]
shl edx, cl
mov byte [ebp + 0xc], dl
mov eax, dword [ebp - 0x4ac]
xor eax, dword [ebp - 0x4e8]
mov dword [ebp - 0x724], eax
mov ecx, dword [ebp - 0x598]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0x581]
sar edx, cl
mov byte [ebp - 0x489], dl
movzx eax, word [ebp - 0x568]
movzx ecx, word [ebp - 0x4c0]
or eax, ecx
mov edx, dword [ebp - 0x56c]
mov word [edx], ax
movsx eax, byte [ebp - 0x1d]
movsx ecx, byte [ebp + 8]
add eax, ecx
mov edx, dword [ebp - 0x470]
mov byte [edx], al
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x578]
sub ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
cmp dword [ebp - 0x73c], 0x705a
jae 0x4d75cc
mov ecx, dword [ebp - 0x470]
movsx edx, byte [ecx]
movsx ecx, byte [ebp + 8]
shl edx, cl
mov byte [ebp - 0x1d], dl
push 0xae
lea eax, [ebp - 0x3d8]
push eax
lea ecx, [ebp - 0x4a4]
push ecx
call dword [sym.imp.ole32.dll_StringFromGUID2]
mov dword [ebp - 0x10], eax
movzx edx, byte [ebp - 0x489]
mov eax, dword [ebp - 0x3e8]
movzx ecx, byte [eax]
or edx, ecx
mov eax, dword [ebp - 0x598]
mov byte [eax], dl
movzx ecx, byte [ebp - 0x489]
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x581], cl
mov ecx, dword [ebp - 0x620]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x4c0]
sub edx, eax
mov ecx, dword [ebp - 0x620]
mov word [ecx], dx
lea edx, [ebp - 0x690]
push edx
call dword [sym.imp.COMDLG32.dll_PrintDlgExW]
mov dword [ebp - 0x464], eax
movzx eax, byte [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x724]
push ecx
mov edx, dword [ebp - 0x488]
movzx eax, word [edx]
push eax
movzx ecx, byte [ebp - 0x1d]
push ecx
mov edx, dword [ebp - 0x470]
movzx eax, byte [edx]
push eax
call fcn.00429f50
mov ecx, dword [ebp - 0x4b0]
mov edx, dword [ecx]
mov dword [ebp - 0x830], edx
cmp dword [ebp - 0x830], 0xd888234
je 0x4d779b
jmp 0x4d7816
movsx eax, byte [ebp - 0x1d]
movsx ecx, byte [ebp + 8]
add eax, ecx
mov edx, dword [ebp - 0x470]
movsx ecx, byte [edx]
cmp eax, ecx
jg 0x4d7814
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4c4]
add eax, dword [ecx]
mov edx, dword [ebp - 0x7c]
mov dword [edx], eax
mov eax, dword [ebp - 0x624]
mov ecx, dword [ebp - 0x4ec]
sub ecx, dword [eax]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x3dc]
mov eax, dword [ebp - 0x724]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x43c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3d8]
or edx, dword [ebp - 0x440]
mov dword [ebp - 0x4ec], edx
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x5b0]
push ecx
call dword [sym.imp.SHELL32.dll_SHIsFileAvailableOffline]
mov dword [ebp - 0x61c], eax
jmp 0x4d7826
mov edx, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x10]
shl edx, cl
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x568]
sub edx, eax
mov ecx, dword [ebp - 0x74]
mov word [ecx], dx
mov edx, dword [ebp - 0x434]
mov eax, dword [edx]
mov dword [ebp - 0x834], eax
cmp dword [ebp - 0x834], 0xdd06548c
je 0x4d785a
jmp 0x4d78c9
lea ecx, [ebp - 0x3cc]
push ecx
push 0x9f
lea edx, [ebp - 0x44]
push edx
call dword [sym.imp.ole32.dll_OleRegGetUserType]
mov dword [ebp - 0x730], eax
mov eax, dword [ebp - 0x4b8]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x470]
movzx eax, byte [edx]
push eax
call fcn.004d1cd0
mov ecx, dword [ebp - 0x43c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x434]
add edx, dword [eax]
mov ecx, dword [ebp - 0x5a0]
mov dword [ecx], edx
push 0xa
lea edx, [ebp - 0x3ac]
push edx
push fcn.00478870
mov eax, dword [ebp - 0x4e4]
push eax
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0x3d4], eax
jmp 0x4d78db
movsx ecx, byte [ebp - 0x1d]
mov edx, dword [ebp - 0x470]
movsx eax, byte [edx]
add ecx, eax
mov byte [ebp + 8], cl
jmp 0x4d79a4
movzx ecx, byte [ebp - 0x489]
mov edx, dword [ebp - 0x3e8]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x838], ecx
cmp dword [ebp - 0x838], 0x60428a4a
je 0x4d790c
jmp 0x4d7920
mov edx, dword [ebp - 0x4c]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x581]
and eax, ecx
mov edx, dword [ebp - 0x4c]
mov byte [edx], al
mov eax, dword [ebp - 0x3d8]
sub eax, dword [ebp - 0x4ec]
mov ecx, dword [ebp - 0x4c4]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x581]
push edx
mov eax, dword [ebp - 0x470]
movzx ecx, byte [eax]
push ecx
call fcn.004d1cd0
lea edx, [ebp - 0x4dc]
push edx
lea eax, [ebp - 0x55c]
push eax
call dword [sym.imp.ole32.dll_OleSetAutoConvert]
mov dword [ebp - 0x59c], eax
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x758]
mov dword [ebp - 0x754], edx
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x568]
add ecx, edx
mov eax, dword [ebp - 0x620]
mov word [eax], cx
lea ecx, [ebp - 0x618]
push ecx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
mov dword [ebp - 0x5bc], eax
lea edx, [ebp - 0x70]
push edx
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
mov dword [ebp - 0x3d8], eax
mov al, byte [ebp - 0x759]
mov byte [ebp - 0x83c], al
cmp byte [ebp - 0x83c], 0x2e
je 0x4d79d7
cmp byte [ebp - 0x83c], 0xb9
je 0x4d7a40
jmp 0x4d7a58
mov ecx, dword [ebp - 0x438]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x440]
shl edx, cl
mov eax, dword [ebp - 0x4b0]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x10]
sar edx, cl
mov dword [ebp - 0x4ec], edx
movzx eax, word [ebp - 0x568]
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
xor eax, edx
mov ecx, dword [ebp - 0x56c]
mov word [ecx], ax
mov edx, dword [ebp - 0x3e8]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x581]
and eax, ecx
mov byte [ebp - 0x759], al
push 1
mov edx, dword [ebp - 0x450]
push edx
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
jmp 0x4d7a58
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x434]
add ecx, dword [edx]
mov eax, dword [ebp - 0x3dc]
mov dword [eax], ecx
jmp 0x4d7a89
movzx ecx, byte [ebp - 0x759]
push ecx
mov edx, dword [ebp - 0x5a0]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x488]
movzx edx, word [ecx]
push edx
mov eax, dword [ebp - 0x470]
movzx ecx, byte [eax]
push ecx
movzx edx, byte [ebp - 0x1d]
push edx
call fcn.00429f50
mov eax, dword [ebp - 0x3e8]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x581]
sub ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 0x4c8]
push eax
mov ecx, dword [ebp - 0x490]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 0x450]
push eax
call dword [sym.imp.SHELL32.dll_ShellAboutW]
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x56c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x56c]
mov word [eax], dx
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ecx]
add edx, dword [ebp - 0x758]
mov dword [ebp - 0x740], edx
movzx eax, word [ebp - 0x568]
push eax
mov ecx, dword [ebp - 0x470]
movzx edx, byte [ecx]
push edx
movzx eax, word [ebp - 0x474]
push eax
mov ecx, dword [ebp - 0x4b8]
mov dl, byte [ecx]
mov eax, dword [ebp - 0x598]
mov cl, byte [eax]
call fcn.00478870
movsx ecx, byte [ebp - 0x1d]
mov edx, dword [ebp - 0x470]
movsx eax, byte [edx]
sub ecx, eax
mov byte [ebp + 8], cl
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x434]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x5a0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x470]
mov al, byte [edx]
mov byte [ebp - 0x840], al
cmp byte [ebp - 0x840], 0x3e
je 0x4d7b63
jmp 0x4d7b9b
mov ecx, dword [ebp - 0x440]
xor ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x7c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x564]
mov ecx, dword [ebp - 0x10]
add ecx, dword [eax]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x3e8]
movzx eax, byte [edx]
push eax
movzx ecx, word [ebp - 0x568]
push ecx
call section..text
jmp 0x4d7bb5
movzx edx, byte [ebp - 0x759]
mov eax, dword [ebp - 0x598]
movzx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0x4b8]
mov byte [eax], dl
movsx ecx, word [ebp - 0x72c]
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
add ecx, eax
mov word [ebp - 0x474], cx
jmp 0x4d7c6f
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x4a8]
mov dword [ebp - 0x758], edx
movsx eax, byte [ebp - 0x1d]
and eax, 0x42
movsx ecx, byte [ebp + 8]
cmp eax, ecx
jl 0x4d7c0c
mov edx, dword [ebp - 0x434]
mov edx, dword [edx]
mov eax, dword [ebp - 0x56c]
mov cx, word [eax]
call fcn.004721c0
mov ecx, dword [ebp - 0x740]
mov dword [ebp - 0x844], ecx
cmp dword [ebp - 0x844], 0xe81d8db0
je 0x4d7c26
jmp 0x4d7c59
mov edx, dword [ebp - 0x598]
movzx eax, byte [edx]
push eax
movzx ecx, byte [ebp - 0x1d]
push ecx
call fcn.004d1cd0
call dword [sym.imp.ole32.dll_CoResumeClassObjects]
mov dword [ebp - 0x61c], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, dword [ebp - 0x4ec]
mov ecx, dword [ebp - 0x4b0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x624]
mov eax, dword [edx]
sub eax, dword [ebp - 0x46c]
mov ecx, dword [ebp - 0x4c4]
mov dword [ecx], eax
lea edx, [ebp - 0x56c]
push edx
lea eax, [ebp - 0x6a0]
push eax
lea ecx, [ebp - 0x1d]
push ecx
lea edx, [ebp - 0x84]
push edx
lea eax, [ebp - 0x398]
push eax
lea ecx, [ebp - 0x6b8]
push ecx
lea edx, [ebp - 0x494]
push edx
call dword [sym.imp.ole32.dll_CoQueryClientBlanket]
mov dword [ebp - 0x74c], eax
jmp 0x4d7d42
movsx eax, byte [ebp - 0x1d]
or eax, 0x6e
mov byte [ebp + 8], al
lea ecx, [ebp - 0x759]
push ecx
lea edx, [ebp - 0x634]
push edx
push 0x31
call dword [sym.imp.SHELL32.dll_SHGetImageList]
mov dword [ebp - 0x730], eax
mov al, byte [ebp - 0x479]
mov byte [ebp - 0x848], al
cmp byte [ebp - 0x848], 0x24
je 0x4d7d2f
cmp byte [ebp - 0x848], 0x8b
je 0x4d7cf4
jmp 0x4d7d42
movzx edx, byte [ebp - 0x489]
movzx ecx, byte [ebp + 0xc]
sar edx, cl
mov eax, dword [ebp - 0x598]
mov byte [eax], dl
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
sub edx, 0x380
mov word [ebp - 0x568], dx
mov edx, dword [ebp - 0x740]
mov eax, dword [ebp - 0x74]
mov cx, word [eax]
call fcn.004721c0
jmp 0x4d7d42
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ecx]
add edx, dword [ebp - 0x46c]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ecx]
push edx
movzx eax, byte [ebp - 0x479]
push eax
call fcn.004ef7c0
add esp, 8
call dword [sym.imp.ole32.dll_CoResumeClassObjects]
mov dword [ebp - 0x59c], eax
mov ecx, dword [ebp - 0x564]
mov edx, dword [ebp - 4]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov ecx, dword [ebp - 0x564]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x1d]
and edx, 0x30
mov byte [ebp + 8], dl
mov eax, dword [ebp - 0x488]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
sub ecx, edx
mov eax, dword [ebp - 0x488]
mov word [eax], cx
lea ecx, [ebp - 0x45c]
push ecx
call dword [sym.imp.SHELL32.dll_ILRemoveLastID]
mov dword [ebp - 0x444], eax
movsx edx, word [ebp - 0x474]
add edx, 0x67ca
mov eax, dword [ebp - 0x488]
mov word [eax], dx
movsx ecx, word [ebp - 0x474]
add ecx, 0x3231
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
cmp ecx, eax
jge 0x4d7e52
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x84c], ecx
cmp dword [ebp - 0x84c], 0x55745b6e
je 0x4d7dfa
jmp 0x4d7e37
movsx edx, word [ebp - 0x474]
sub edx, 0x39cf
mov eax, dword [ebp - 0x488]
mov word [eax], dx
movzx ecx, byte [ebp - 0x489]
movzx edx, byte [ebp + 0xc]
sub ecx, edx
mov byte [ebp - 0x759], cl
movzx eax, byte [ebp + 0xc]
push eax
movzx ecx, word [ebp - 0x568]
push ecx
call section..text
jmp 0x4d7e52
mov edx, dword [ebp - 0x488]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x474]
add eax, ecx
mov edx, dword [ebp - 0x488]
mov word [edx], ax
mov eax, dword [section..data]
pop esi
mov esp, ebp
pop ebp
ret 8