Function at 0x478870
Capabilities:
Accept command line arguments
Authenticate hmac
Check for software breakpoints
Contain obfuscated stackstrings
Encode data using base64
Encode data using xor
Get file system object information

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x6c08
call fcn.0050e000
push esi
mov byte [ebp - 0x694c], dl
mov byte [ebp - 0x6948], cl
mov byte [ebp - 0x20dd], 0x64
mov eax, 0x135
mov word [ebp - 0x42f0], ax
mov dword [ebp - 0x1880], 0xe3280a5
mov dword [ebp - 0x129c], 0x7efbbe83
mov dword [ebp - 0x6318], 0x20c2aa00
mov byte [ebp - 0x262d], 0xf
mov ecx, 0x23
mov word [ebp - 0x58c], cx
mov edx, 0xa09
mov word [ebp - 0x5420], dx
mov byte [ebp - 0x4f2d], 0x11
mov dword [ebp - 0x2b34], 0x1300af86
mov dword [ebp - 0x36c0], 0x74a5f5f
mov dword [ebp - 0x42b8], 0x6d59b231
mov dword [ebp - 0x68e0], 0x59331193
mov eax, 0xf5e
mov word [ebp - 0x3100], ax
mov dword [ebp - 0x2b1c], 0x72a6b91a
mov dword [ebp - 0x369c], 0x5c6de6d3
mov dword [ebp - 0x2b18], 0x5cd254b6
mov dword [ebp - 0x25f0], 0x17462181
mov dword [ebp - 0x25e4], 0x149a6dfa
mov dword [ebp - 0x1260], 0x6687b992
mov ecx, 0xa0f
mov word [ebp - 0x4ee8], cx
mov dword [ebp - 0x53f0], 0x2df676fa
mov byte [ebp - 0x3cd5], 0xf
mov edx, 0x816
mov word [ebp - 0x4ed4], dx
mov byte [ebp - 0x428d], 0x71
mov dword [ebp - 0x68b8], 0xe834b16
mov dword [ebp - 0x30cc], 0x62e075f3
mov byte [ebp - 0x53d], 0xd7
mov dword [ebp - 0x68ac], 0x7d47df9b
mov eax, 0x79a4
mov word [ebp - 0x30a4], ax
mov dword [ebp - 0x689c], 0x26817a11
mov byte [ebp - 0x25b9], 0x6a
mov dword [ebp - 0x2058], 0x6559aee5
mov ecx, 0x7840
mov word [ebp - 0x17f0], cx
mov dword [ebp - 0x3630], 0x529ad59
mov edx, 0x3580
mov word [ebp - 0x2050], dx
mov dword [ebp - 0x308c], 0x777ab43d
mov dword [ebp - 0x17dc], 0x65b0b731
mov dword [ebp - 0x3c80], 0x2b43478b
mov byte [ebp - 0x6869], 0x1c
mov dword [ebp - 0x5908], 0x592cd223
mov dword [ebp - 0x2030], 0x19722116
mov eax, 0x27
mov word [ebp - 0x3c74], ax
mov ecx, 0xf39
mov word [ebp - 0x35f8], cx
mov edx, 0xa9e
mov word [ebp - 0x3c64], dx
mov dword [ebp - 0x1ff4], 0x1eaf45c1
mov dword [ebp - 0x304c], 0x7a95b2b1
mov byte [ebp - 0x4e49], 0x3f
mov dword [ebp - 0x35dc], 0x726faf1f
mov dword [ebp - 0x5388], 0x7c3ef44b
mov eax, 0xbcb
mov word [ebp - 0x3c48], ax
mov byte [ebp - 0x58ed], 0x34
mov ecx, 0x3f5d
mov word [ebp - 0x537c], cx
mov dword [ebp - 0x2560], 0xa6eeaa1
mov dword [ebp - 0x4e44], 0xfa37b9af
push 0
push 0
push 0
lea ecx, [ebp - 0x3030]
call fcn.0050dfa0
mov dword [ebp - 0x6828], 0xf61a0f7b
mov edx, 0xec3
mov word [ebp - 0x35b0], dx
mov dword [ebp - 0x4a8], 0x351e3ee0
mov byte [ebp - 0x2a55], 0x24
mov eax, 0x4280
mov word [ebp - 0x6208], ax
mov dword [ebp - 0x61fc], 0x69f066a4
mov byte [ebp - 0x5329], 0x49
mov dword [ebp - 0x1d00], 0x6dce9481
mov dword [ebp - 0x5320], 0x7b6451c4
mov ecx, 0x2ff8
mov word [ebp - 0x5304], cx
mov byte [ebp - 0x475], 0x75
mov dword [ebp - 0x2fe8], 0x24f1de39
mov byte [ebp - 0x3562], 0x63
mov edx, 0x955
mov word [ebp - 0x67dc], dx
mov dword [ebp - 0x5854], 0x508d004e
mov eax, 0xa4f
mov word [ebp - 0x454], ax
mov dword [ebp - 0x24fc], 0xaf39531
mov dword [ebp - 0x24f8], 0x7527cfad
mov dword [ebp - 0x440], 0x1889019e
mov dword [ebp - 0x3bb8], 0x3aaddf1c
mov dword [ebp - 0x1c9c], 0xce3668b
mov ecx, 0x487
mov word [ebp - 0x16f4], cx
mov dword [ebp - 0x6194], 0x398c7507
mov dword [ebp - 0x6184], 0x59989883
mov byte [ebp - 0x57fd], 0xbb
mov dword [ebp - 0x1138], 0x77b5b099
mov byte [ebp - 0x52bd], 0xe1
mov byte [ebp - 0x24bd], 0x67
mov edx, 0x319
mov word [ebp - 0x415c], dx
mov dword [ebp - 0x24b0], 0xe20356f
mov eax, 0x34c
mov word [ebp - 0x3b8c], ax
mov dword [ebp - 0x52b0], 0x66af952f
mov dword [ebp - 0x1c34], 0x5c1e0d9f
mov ecx, 0x692
mov word [ebp - 0x46d0], cx
mov dword [ebp - 0x46cc], 0x959972f1
mov dword [ebp - 0x3b54], 0xb82b143
mov dword [ebp - 0x6750], 0x7f940a4d
mov edx, 0x7436
mov word [ebp - 0x4d60], dx
mov dword [ebp - 0x2f60], 0x5e1ac78c
mov dword [ebp - 0x3b3c], 0x2cc943f7
mov dword [ebp - 0x4100], 0x6ca490b6
mov dword [ebp - 0x34cc], 0x3dbce7ab
mov dword [ebp - 0x3b0], 0x7e7695a7
mov dword [ebp - 0x2998], 0x8e893819
mov dword [ebp - 0x46a8], 0x399d6cb6
mov eax, 0x528
mov word [ebp - 0x6724], ax
mov dword [ebp - 0x60f0], 0x5c52cccc
mov byte [ebp - 0x10c5], 0xec
mov ecx, 0x5c6
mov word [ebp - 0x57a8], cx
mov dword [ebp - 0x34ac], 0xc0f4eaa2
mov edx, 0xb1f
mov word [ebp - 0x4688], dx
mov byte [ebp - 0x391], 1
mov dword [ebp - 0x1bdc], 0xc892c8de
mov eax, 0x963
mov word [ebp - 0x296c], ax
mov ecx, 0xf06
mov word [ebp - 0x2ee4], cx
mov byte [ebp - 0x3499], 0x44
mov byte [ebp - 0x40b9], 0x59
mov edx, 0xcf5
mov word [ebp - 0x5238], dx
mov dword [ebp - 0x295c], 0x521e8a13
mov dword [ebp - 0x3480], 0x23b72f1c
mov dword [ebp - 0x1648], 0x4515c906
mov dword [ebp - 0x3474], 0x76f463bf
mov dword [ebp - 0x3ac4], 0x40e9a738
mov dword [ebp - 0x1b8c], 0x733ac87b
mov dword [ebp - 0x5210], 0x42a8143e
mov eax, 0x61a
mov word [ebp - 0x66bc], ax
mov byte [ebp - 0x3459], 0x18
mov ecx, 0x5a5c
mov word [ebp - 0x15cc], cx
mov edx, 0x42b9
mov word [ebp - 0x66a8], dx
mov dword [ebp - 0x60ac], 0x3a7db1e2
mov byte [ebp - 0x23f1], 0xcf
mov byte [ebp - 0x3a72], 0x47
mov dword [ebp - 0x4cbc], 0x5f16e336
mov byte [ebp - 0x6689], 0x4c
mov dword [ebp - 0x1034], 0x22ad6930
mov byte [ebp - 0x1029], 0x4f
mov dword [ebp - 0x4c3c], 0x5ebdecbe
mov eax, 0x908
mov word [ebp - 0x318], ax
mov ecx, 0xcbf
mov word [ebp - 0x1590], cx
mov edx, 0x119
mov word [ebp - 0x1b34], dx
mov eax, 0x20a2
mov word [ebp - 0x2e7c], ax
mov dword [ebp - 0x28e0], 0xe7122c9a
mov byte [ebp - 0x2e71], 0xbb
mov dword [ebp - 0x1578], 0x70ebe48
mov byte [ebp - 0x4c15], 0xbc
mov dword [ebp - 0x23b4], 0x21cf8003
mov byte [ebp - 0x28c5], 0x7b
mov dword [ebp - 0x2398], 0x2adb4499
mov dword [ebp - 0x1564], 0x6eef089b
mov ecx, 0x1ca
mov word [ebp - 0x5704], cx
mov dword [ebp - 0x6638], 0x280f8f61
mov byte [ebp - 0x33b5], 0x18
mov dword [ebp - 0x2cc], 0x2ddcac1f
mov dword [ebp - 0x6620], 0x678bf695
mov dword [ebp - 0x39ec], 0x790cde85
mov dword [ebp - 0x2c0], 0x6b489c23
mov dword [ebp - 0x2e2c], 0xbd3d1d05
mov byte [ebp - 0x3fe9], 0xd3
mov dword [ebp - 0x39e4], 0x2695aee3
mov edx, 0x1e
mov word [ebp - 0x2e1c], dx
mov byte [ebp - 0x5149], 0xe4
mov byte [ebp - 0x4589], 0x67
mov dword [ebp - 0x1acc], 0xc58b14b2
mov eax, 0xe6e
mov word [ebp - 0x4ba0], ax
mov byte [ebp - 0x39b5], 0x15
mov dword [ebp - 0x6590], 0x82645f5
mov ecx, 0x61bc
mov word [ebp - 0x1ab8], cx
mov dword [ebp - 0x658c], 0x6c8323a3
mov edx, 0x84b
mov word [ebp - 0x5c0c], dx
mov byte [ebp - 0x3999], 0x55
mov eax, 0x480
mov word [ebp - 0x2dcc], ax
mov byte [ebp - 0x3365], 0x34
mov dword [ebp - 0x204], 0x27094307
mov byte [ebp - 0x4b69], 0x2e
mov dword [ebp - 0x6570], 0xb674aada
mov dword [ebp - 0x2dc0], 0x2d3f88b8
mov dword [ebp - 0x2840], 0x1c67a851
mov dword [ebp - 0x6564], 0x48d7fd72
mov ecx, 0x32a7
mov word [ebp - 0x1a94], cx
push 0
push 0
push 0
lea ecx, [ebp - 0x453c]
call fcn.0050dfa0
mov dword [ebp - 0x5664], 0x1833744c
mov edx, 0x8b6
mov word [ebp - 0x2da8], dx
mov dword [ebp - 0x6538], 0xf6b00e52
mov dword [ebp - 0x3f4c], 0x15fbc66d
mov dword [ebp - 0xb50], 0xa51a587c
mov dword [ebp - 0x22bc], 0x658c0f70
mov dword [ebp - 0x2d8c], 0x12773bff
mov dword [ebp - 0x4b40], 0x56712af4
mov dword [ebp - 0x1490], 0x206576c0
mov dword [ebp - 0x3944], 0xa396af08
mov dword [ebp - 0x4b24], 0x15dd0907
mov eax, 0x48d0
mov word [ebp - 0x2d4c], ax
mov dword [ebp - 0x2d44], 0x3b66c3ea
mov dword [ebp - 0x44f4], 0x3bd7d456
mov dword [ebp - 0x44c0], 0x8f830969
mov dword [ebp - 0x4adc], 0x7ca67941
mov dword [ebp - 0x19f4], 0x5474f1c3
mov byte [ebp - 0x278d], 0x5a
mov dword [ebp - 0x2d10], 0x4a68ca5f
mov ecx, 0x1a1
mov word [ebp - 0x278c], cx
mov edx, 0x41c
mov word [ebp - 0x64d0], dx
mov eax, 0x7db
mov word [ebp - 0x2788], ax
mov dword [ebp - 0x1430], 0x1563c8d2
mov dword [ebp - 0x148], 0x3fb2ac98
mov dword [ebp - 0x5034], 0x2ae6be0c
mov byte [ebp - 0x5025], 0xc2
mov dword [ebp - 0x19b0], 0x27f824ac
mov byte [ebp - 0x13d], 0x12
mov byte [ebp - 0x141d], 0x33
mov dword [ebp - 0x64bc], 0x6a238e64
mov byte [ebp - 0x5b19], 0x61
mov dword [ebp - 0x2cf8], 0x489964c3
mov dword [ebp - 0x222c], 0x4ecd10ed
mov dword [ebp - 0x559c], 0x61cc65cf
mov dword [ebp - 0x557c], 0x5a44357c
mov ecx, 0xb9c
mov word [ebp - 0x3280], cx
mov dword [ebp - 0x4a44], 0x72017c53
mov edx, 0x17e
mov word [ebp - 0x327c], dx
mov eax, 0x5e3
mov word [ebp - 0x4a40], ax
mov ecx, 0x813
mov word [ebp - 0x4a3c], cx
mov dword [ebp - 0x4a38], 0x549921ae
push 0
push 0
push 0
lea ecx, [ebp - 0x13d8]
call fcn.0050dfa0
mov byte [ebp - 0x2205], 7
mov byte [ebp - 0x2c75], 0x3b
mov dword [ebp - 0x1964], 0x3185317e
mov dword [ebp - 0x5adc], 0x5fe459ea
mov byte [ebp - 0x5551], 0x61
mov dword [ebp - 0x4428], 0x696e0373
mov dword [ebp - 0x67c], 0x7710a467
mov dword [ebp - 0x21c4], 0x38935acb
mov edx, 0xd06
mov word [ebp - 0x3e04], dx
mov byte [ebp - 0x5515], 0x81
mov byte [ebp - 0x4fe9], 0x4f
mov dword [ebp - 0x2c3c], 0x3492016d
mov dword [ebp - 0x21ac], 0x6bf9187e
mov byte [ebp - 0x5505], 0x65
mov byte [ebp - 0x43f5], 0x9d
mov byte [ebp - 0x649], 0x68
mov dword [ebp - 0x2194], 0x6275c247
mov byte [ebp - 0x37f2], 0x4f
mov byte [ebp - 0x18fd], 0x81
mov dword [ebp - 0x54f0], 0x761c87cc
mov byte [ebp - 0x54e5], 0x1c
mov eax, 0x1e64
mov word [ebp - 0x2c08], ax
mov dword [ebp - 0x630], 0x2e6a987b
mov dword [ebp - 0x31f8], 0xba3d5540
mov dword [ebp - 0x628], 0x7760f94a
mov ecx, 0x3ff
mov word [ebp - 0x31f0], cx
mov dword [ebp - 0x43a8], 0x83bf12ae
mov dword [ebp - 0x5a58], 0x404a7c88
mov dword [ebp - 0x4978], 0x5e6aeed7
mov dword [ebp - 0x2158], 0x4ed9a913
mov edx, 0x82f
mov word [ebp - 0x608], dx
mov byte [ebp - 0x5d], 0x15
mov dword [ebp - 0x604], 0xb40d4
mov dword [ebp - 0x18c8], 0x243e7f42
mov dword [ebp - 0x31d0], 0x198199fb
mov dword [ebp - 0x63a4], 0xf77957f0
mov dword [ebp - 0x12f8], 0x3b3179e
mov dword [ebp - 0x6390], 0x668b8714
mov eax, 0x3aa
mov word [ebp - 0x14], ax
mov dword [ebp - 0x59fc], 0x72792aea
mov dword [ebp - 0x5cc], 0xa4965f54
mov dword [ebp - 0x2b80], 0x528c1716
mov dword [ebp - 0x4310], 0xd715b8d1
movzx ecx, byte [ebp - 0x6948]
add ecx, 0x9c
movzx edx, byte [ebp - 0x694c]
cmp ecx, edx
jl 0x4793c9
movzx eax, byte [ebp - 0x694c]
and eax, 0x63
movzx ecx, byte [ebp - 0x6948]
cmp eax, ecx
jne 0x4793bd
movzx edx, byte [ebp - 0x6948]
sar edx, 0x57
movzx eax, byte [ebp - 0x694c]
cmp edx, eax
jl 0x47937e
movzx ecx, byte [ebp - 0x6948]
shl ecx, 0x4e
movzx edx, byte [ebp - 0x694c]
cmp ecx, edx
jge 0x47934a
call fcn.0046d040
lea eax, [ebp - 0x2dd8]
push eax
call dword [sym.imp.SHELL32.dll_ILCloneFirst]
mov dword [ebp - 0x2dd8], eax
mov ecx, 0xf29
mov word [ebp + 0x10], cx
movzx edx, word [ebp + 0x10]
push edx
movzx eax, byte [ebp + 0xc]
push eax
movzx ecx, word [ebp + 8]
push ecx
mov dl, byte [ebp - 0x694c]
mov cl, byte [ebp - 0x694c]
call fcn.00478870
mov edx, 0x4eb6
mov word [ebp + 8], dx
mov dword [ebp - 0x5924], 0x11366
mov eax, dword [section..data]
mov dword [ebp - 0x463c], eax
movsx ecx, word [ebp + 8]
xor ecx, 0x4a1
mov word [ebp - 0x6208], cx
lea edx, [ebp - 0x6208]
mov dword [ebp - 0x137c], edx
jmp 0x4793bd
movzx eax, byte [ebp - 0x6948]
or eax, 0x83
movzx ecx, byte [ebp - 0x694c]
cmp eax, ecx
jge 0x4793bd
lea edx, [ebp - 0x463c]
push edx
lea eax, [ebp - 0x2c90]
push eax
lea ecx, [ebp - 0x2c90]
push ecx
mov edx, dword [ebp - 0x4614]
push edx
call dword [sym.imp.SHELL32.dll_SHGetDiskFreeSpaceExW]
mov dword [ebp - 0x2c90], eax
mov dword [ebp - 0x2a84], 0x8fb7
jmp 0x4793e0
mov eax, dword [ebp - 0x463c]
push eax
movzx ecx, byte [ebp - 0x6948]
push ecx
call fcn.004ef7c0
add esp, 8
mov dl, byte [ebp - 0x694c]
mov byte [ebp - 0x61f1], dl
cmp dword [ebp - 0x5924], 0xd068
jb 0x4795b4
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x6208]
sub ecx, edx
mov eax, dword [ebp - 0x137c]
mov word [eax], cx
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x6208]
add edx, eax
mov ecx, dword [ebp - 0x137c]
mov word [ecx], dx
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x6208]
and eax, ecx
mov edx, dword [ebp - 0x137c]
mov word [edx], ax
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
movsx edx, word [ebp + 8]
add ecx, edx
mov eax, dword [ebp - 0x137c]
mov word [eax], cx
movsx ecx, word [ebp + 8]
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x6208], cx
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x6208]
sub edx, eax
mov ecx, dword [ebp - 0x137c]
mov word [ecx], dx
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
movsx ecx, word [ebp + 8]
add eax, ecx
mov word [ebp - 0x6208], ax
mov dl, byte [ebp - 0x61f1]
mov byte [ebp - 0x694c], dl
mov eax, dword [ebp - 0x5924]
sub eax, 0xaf
mov dword [ebp - 0x5924], eax
movzx edx, byte [ebp - 0x694c]
movzx ecx, byte [ebp - 0x6948]
shl edx, cl
mov byte [ebp - 0x61f1], dl
movsx eax, word [ebp - 0x6208]
movsx ecx, word [ebp + 8]
xor eax, ecx
mov edx, dword [ebp - 0x137c]
mov word [edx], ax
mov eax, dword [ebp - 0x137c]
movsx edx, word [eax]
movsx ecx, word [ebp - 0x6208]
sar edx, cl
mov eax, dword [ebp - 0x137c]
mov word [eax], dx
movsx ecx, word [ebp - 0x6208]
movsx edx, word [ebp + 8]
or ecx, edx
mov eax, dword [ebp - 0x137c]
mov word [eax], cx
movsx ecx, word [ebp - 0x6208]
movsx edx, word [ebp + 8]
and ecx, edx
mov eax, dword [ebp - 0x137c]
mov word [eax], cx
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
movsx eax, word [ebp + 8]
sub edx, eax
mov word [ebp - 0x6208], dx
movsx ecx, word [ebp + 8]
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
add ecx, eax
mov word [ebp - 0x6208], cx
movsx ecx, word [ebp - 0x6208]
movsx edx, word [ebp + 8]
add ecx, edx
mov eax, dword [ebp - 0x137c]
mov word [eax], cx
movsx ecx, word [ebp + 8]
movsx edx, word [ebp - 0x6208]
sub ecx, edx
mov eax, dword [ebp - 0x137c]
mov word [eax], cx
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x6208]
and edx, eax
mov ecx, dword [ebp - 0x137c]
mov word [ecx], dx
jmp 0x4793ec
mov edx, dword [ebp - 0x463c]
mov dword [ebp - 0x2c50], edx
movzx eax, word [ebp + 0x10]
mov dword [ebp - 0x6950], eax
cmp dword [ebp - 0x6950], 0x2f3
je 0x4795d8
jmp 0x4795f5
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x6208]
add edx, eax
mov ecx, dword [ebp - 0x137c]
mov word [ecx], dx
jmp 0x479654
mov edx, dword [ebp - 0x2c50]
mov dword [ebp - 0x6954], edx
cmp dword [ebp - 0x6954], 0x27746931
je 0x47960f
jmp 0x479632
lea eax, [ebp - 0x4478]
push eax
lea ecx, [ebp - 0x6208]
push ecx
lea edx, [ebp - 0x2c90]
push edx
call dword [sym.imp.ole32.dll_MonikerCommonPrefixWith]
mov dword [ebp - 0x4478], eax
jmp 0x479654
lea eax, [ebp - 0x61f1]
mov dword [ebp - 0x2e14], eax
mov dword [ebp - 0x3f98], 0xa119
lea ecx, [ebp - 0x463c]
mov dword [ebp - 0x1080], ecx
movsx edx, word [ebp + 8]
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x6208], dx
mov edx, dword [ebp - 0x463c]
add edx, dword [ebp - 0x2c50]
mov eax, dword [ebp - 0x1080]
mov dword [eax], edx
mov ecx, 0xaec
mov word [ebp + 0x10], cx
mov edx, dword [ebp - 0x2e14]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x694c]
sub eax, ecx
mov byte [ebp - 0x61f1], al
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
movsx ecx, word [ebp + 8]
or eax, ecx
mov word [ebp - 0x6208], ax
mov byte [ebp + 0xc], 0x32
movsx edx, word [ebp + 8]
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
xor edx, ecx
mov word [ebp - 0x6208], dx
movsx edx, word [ebp + 8]
movsx ecx, word [ebp - 0x6208]
sar edx, cl
mov eax, dword [ebp - 0x137c]
mov word [eax], dx
mov edx, dword [ebp - 0x463c]
mov ecx, dword [section..data]
shl edx, cl
mov dword [ebp - 0x2c50], edx
mov eax, dword [ebp - 0x3f98]
sub eax, 0x39
mov dword [ebp - 0x3f98], eax
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
movsx eax, word [ebp + 8]
and edx, eax
mov word [ebp - 0x6208], dx
mov ecx, dword [ebp - 0x2e14]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x6948]
sub edx, eax
mov byte [ebp - 0x61f1], dl
mov ecx, dword [ebp - 0x2e14]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x6948]
add edx, eax
mov byte [ebp - 0x61f1], dl
mov ecx, dword [ebp - 0x1080]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x2c50]
mov eax, dword [ebp - 0x1080]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1080]
mov edx, dword [ecx]
add edx, dword [ebp - 0x2c50]
mov dword [ebp - 0x463c], edx
cmp dword [ebp - 0x3f98], 0x9bfa
jae 0x479654
mov al, byte [ebp - 0x6948]
mov byte [ebp - 0x3671], al
movzx ecx, byte [ebp - 0x3671]
movzx edx, byte [ebp - 0x61f1]
add ecx, edx
mov eax, dword [ebp - 0x2e14]
movzx edx, byte [eax]
movzx eax, byte [ebp - 0x694c]
and edx, eax
cmp ecx, edx
jle 0x479880
movsx ecx, word [ebp + 8]
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x6208], cx
mov ecx, dword [ebp - 0x2c50]
sub ecx, dword [ebp - 0x463c]
mov edx, dword [ebp - 0x1080]
mov dword [edx], ecx
mov al, byte [ebp + 0xc]
mov byte [ebp - 0x6958], al
cmp byte [ebp - 0x6958], 0x38
je 0x4797fc
jmp 0x47986c
lea ecx, [ebp - 0x2e14]
push ecx
lea edx, [ebp - 0x4478]
push edx
call dword [sym.imp.ole32.dll_CoSwitchCallContext]
mov dword [ebp - 0x653c], eax
mov eax, dword [ebp - 0x1080]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x463c]
mov edx, dword [ebp - 0x1080]
mov dword [edx], ecx
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
movsx edx, word [ebp + 8]
xor ecx, edx
mov word [ebp - 0x6208], cx
lea eax, [ebp - 0x2c90]
push eax
push 3
push 0x44
push 0x83
push 0xec
mov ecx, dword [ebp - 0x3340]
push ecx
call dword [sym.imp.SHELL32.dll_SHChangeNotifyRegister]
mov dword [ebp - 0x6388], eax
jmp 0x479880
mov edx, dword [ebp - 0x463c]
or edx, dword [ebp - 0x2c50]
mov eax, dword [ebp - 0x1080]
mov dword [eax], edx
movzx ecx, word [ebp + 0x10]
mov dword [ebp - 0x695c], ecx
cmp dword [ebp - 0x695c], 0x421
je 0x47989b
jmp 0x4799bc
movzx edx, byte [ebp - 0x3671]
movzx eax, byte [ebp - 0x61f1]
and edx, eax
mov ecx, dword [ebp - 0x2e14]
mov byte [ecx], dl
mov dl, byte [ebp - 0x3671]
mov byte [ebp - 0x6960], dl
cmp byte [ebp - 0x6960], 3
je 0x4798da
cmp byte [ebp - 0x6960], 0x3e
je 0x4799ad
jmp 0x4799b7
movzx eax, word [ebp + 0x10]
cmp eax, 0x5ec
jle 0x479982
mov ecx, dword [ebp - 0x2e14]
mov dl, byte [ecx]
mov byte [ebp - 0x6948], dl
mov al, byte [ebp - 0x3671]
mov byte [ebp - 0x6964], al
cmp byte [ebp - 0x6964], 7
je 0x479917
cmp byte [ebp - 0x6964], 0x67
je 0x479966
jmp 0x479980
mov ecx, dword [ebp - 0x463c]
add ecx, dword [ebp - 0x2c50]
mov edx, dword [ebp - 0x1080]
mov dword [edx], ecx
movsx eax, word [ebp + 8]
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x6208], ax
push 0
mov eax, dword [ebp - 0x12cc]
push eax
mov ecx, dword [ebp - 0x12d0]
push ecx
mov edx, dword [ebp - 0x67e8]
push edx
call dword [sym.imp.COMCTL32.dll_LBItemFromPt]
mov dword [ebp - 0x344c], eax
jmp 0x479980
mov eax, dword [ebp - 0x2e14]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x61f1]
add ecx, edx
mov eax, dword [ebp - 0x2e14]
mov byte [eax], cl
jmp 0x4799ab
mov ecx, dword [ebp - 0x2c50]
add ecx, dword [ebp - 0x463c]
mov edx, dword [ebp - 0x1080]
mov eax, dword [section..data]
sub eax, dword [edx]
cmp ecx, eax
jg 0x4799ab
call dword [sym.imp.ole32.dll_CoTestCancel]
mov dword [ebp - 0x5654], eax
jmp 0x4799b7
mov dword [ebp - 0x6388], 0x8b7126a1
jmp 0x4bff6e
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x14
je 0x479ac7
lea edx, [ebp - 0x2c50]
mov dword [ebp - 0x2ab8], edx
mov eax, dword [ebp - 0x2e14]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x694c]
and ecx, edx
movzx eax, byte [ebp - 0x61f1]
movzx edx, byte [ebp - 0x3671]
sub eax, edx
cmp ecx, eax
jne 0x479ac5
movsx eax, word [ebp + 8]
mov dword [ebp - 0x6968], eax
cmp dword [ebp - 0x6968], 0
je 0x479a17
jmp 0x479aaa
movzx ecx, word [ebp + 0x10]
mov dword [ebp - 0x696c], ecx
cmp dword [ebp - 0x696c], 0xaec
je 0x479a2f
jmp 0x479a83
lea edx, [ebp - 0x344c]
mov dword [ebp - 0x4f18], edx
mov dword [ebp - 0x10c0], 0xd69e
lea eax, [ebp - 0x6388]
mov dword [ebp - 0x1bb4], eax
lea ecx, [ebp - 0x6948]
mov dword [ebp - 0x2a94], ecx
mov edx, dword [ebp - 0x2ab8]
mov eax, dword [ebp - 0x344c]
mov ecx, dword [edx]
sar eax, cl
mov ecx, dword [ebp - 0x1080]
mov dword [ecx], eax
mov edx, dword [ebp - 0x344c]
mov dword [ebp - 0x3fb8], edx
jmp 0x479a9e
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x6208]
or ecx, edx
mov eax, dword [ebp - 0x137c]
mov word [eax], cx
mov dword [ebp - 0x2868], 0xace6
jmp 0x479ac5
lea ecx, [ebp - 0x2c90]
push ecx
lea edx, [ebp - 0x2ab8]
push edx
push 0x53
push 0x9a
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
jmp 0x479ae8
movsx eax, word [ebp - 0x6208]
movsx ecx, word [ebp + 8]
shl eax, cl
mov ecx, dword [ebp - 0x137c]
mov word [ecx], ax
movzx edx, word [ebp + 0x10]
xor edx, 0x10
mov word [ebp + 0x10], dx
movzx eax, byte [ebp - 0x3671]
mov ecx, dword [ebp - 0x2a94]
movzx edx, byte [ecx]
add eax, edx
movzx ecx, byte [ebp - 0x61f1]
movzx edx, byte [ebp - 0x694c]
and ecx, edx
cmp eax, ecx
jge 0x479b59
lea eax, [ebp - 0x67e8]
push eax
lea ecx, [ebp - 0x3b10]
push ecx
call dword [sym.imp.ole32.dll_StringFromCLSID]
mov dword [ebp - 0x2ea4], eax
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [edx]
add eax, dword [ebp - 0x6388]
mov ecx, dword [ebp - 0x1bb4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1080]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4f18]
add eax, dword [ecx]
mov dword [ebp - 0x2c50], eax
jmp 0x4bff07
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [edx]
mov dword [ebp - 0x6970], eax
cmp dword [ebp - 0x6970], 0
je 0x479b81
cmp dword [ebp - 0x6970], 0xf3b1cc51
je 0x479bd5
jmp 0x479c46
mov ecx, dword [ebp - 0x1080]
mov edx, dword [ebp - 0x344c]
sub edx, dword [ecx]
mov dword [ebp - 0x2c50], edx
mov al, byte [ebp + 0xc]
mov byte [ebp - 0x6974], al
cmp byte [ebp - 0x6974], 0x1c
je 0x479ba9
jmp 0x479bd3
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x1080]
add edx, dword [eax]
mov ecx, dword [ebp - 0x2ab8]
mov dword [ecx], edx
movzx edx, byte [ebp - 0x3671]
push edx
movzx eax, word [ebp + 0x10]
push eax
call section..text
jmp 0x479c46
lea ecx, [ebp - 0x2dd8]
push ecx
push 0xf0
lea edx, [ebp - 0x1c4]
push edx
call dword [sym.imp.ole32.dll_OleRegGetMiscStatus]
mov dword [ebp - 0x5654], eax
mov al, byte [ebp + 0xc]
mov byte [ebp - 0x6978], al
cmp byte [ebp - 0x6978], 0x70
je 0x479c08
jmp 0x479c38
movzx ecx, byte [ebp - 0x3671]
movzx edx, byte [ebp - 0x61f1]
and ecx, edx
mov eax, dword [ebp - 0x2a94]
mov byte [eax], cl
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
movsx ecx, word [ebp + 8]
shl edx, cl
mov word [ebp - 0x6208], dx
jmp 0x479c46
mov edx, dword [ebp - 0x6388]
mov ecx, dword [ebp + 0x10]
call fcn.004721c0
movsx eax, byte [ebp + 0xc]
cmp eax, 0x2a
jne 0x479ca9
mov ecx, dword [ebp - 0x6388]
xor ecx, 0xa710ce9c
mov edx, dword [ebp - 0x1bb4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4f18]
mov ecx, dword [eax]
mov dword [ebp - 0x697c], ecx
cmp dword [ebp - 0x697c], 0x46bc2c41
je 0x479c7f
jmp 0x479c8c
movzx edx, word [ebp + 0x10]
sar edx, 0xb
mov word [ebp + 0x10], dx
jmp 0x479ca4
lea eax, [ebp - 0x2dd8]
push eax
push 0xfc
call dword [sym.imp.ole32.dll_GetRunningObjectTable]
mov dword [ebp - 0x653c], eax
jmp 0x479e4f
mov cl, byte [ebp - 0x6948]
mov byte [ebp - 0x6980], cl
cmp byte [ebp - 0x6980], 0
je 0x479cc3
jmp 0x479e41
movsx edx, word [ebp - 0x6208]
movsx eax, word [ebp + 8]
sub edx, eax
mov ecx, dword [ebp - 0x137c]
movsx eax, word [ecx]
cmp edx, eax
jge 0x479e16
movzx ecx, word [ebp + 0x10]
push ecx
movzx edx, byte [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x137c]
movzx ecx, word [eax]
push ecx
mov dl, byte [ebp - 0x61f1]
mov eax, dword [ebp - 0x2a94]
mov cl, byte [eax]
call fcn.00478870
movzx ecx, byte [ebp - 0x3671]
mov edx, dword [ebp - 0x2a94]
movzx eax, byte [edx]
and ecx, eax
mov edx, dword [ebp - 0x2e14]
movzx eax, byte [edx]
movzx edx, byte [ebp - 0x61f1]
sub eax, edx
cmp ecx, eax
jle 0x479dfd
mov eax, dword [ebp - 0x1080]
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x1080]
mov dword [eax], edx
movsx ecx, word [ebp - 0x6208]
mov dword [ebp - 0x6984], ecx
cmp dword [ebp - 0x6984], 0x1826
je 0x479d76
cmp dword [ebp - 0x6984], 0x6adb
je 0x479dee
jmp 0x479dfb
push 0
lea edx, [ebp - 0x6388]
push edx
lea eax, [ebp - 0x6208]
push eax
call dword [sym.imp.SHELL32.dll_ILIsParent]
mov dword [ebp - 0x1398], eax
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ecx]
mov dword [ebp - 0x6388], edx
mov eax, dword [ebp - 0x2e14]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x2a94]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x2e14]
mov byte [edx], cl
mov eax, dword [ebp - 0x4334]
push eax
mov ecx, dword [ebp - 0x14c0]
push ecx
call dword [sym.imp.SHELL32.dll_DuplicateIcon]
mov dword [ebp - 0x2370], eax
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [edx]
sub eax, dword [ebp - 0x6388]
mov ecx, dword [ebp - 0x1bb4]
mov dword [ecx], eax
jmp 0x479dfb
mov edx, dword [ebp - 0x137c]
mov ax, word [edx]
mov word [ebp + 8], ax
jmp 0x479e14
push 0x99
mov ecx, dword [ebp - 0x37a8]
push ecx
call sub.SHELL32.dll_SHTestTokenMembership
mov dword [ebp - 0x535c], eax
jmp 0x479e3f
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [edx]
add eax, 0x2f3a827
cmp eax, dword [ebp - 0x6388]
jne 0x479e3f
mov ecx, dword [ebp - 0x344c]
sub ecx, dword [ebp - 0x3fb8]
mov edx, dword [ebp - 0x4f18]
mov dword [edx], ecx
jmp 0x479e4f
mov eax, dword [ebp - 0x1bb4]
mov ecx, dword [eax]
mov dword [ebp - 0x6388], ecx
mov edx, dword [ebp - 0x344c]
mov dword [ebp - 0x4b98], edx
mov eax, dword [ebp - 0x2a94]
mov cl, byte [eax]
mov byte [ebp - 0x1b95], cl
movzx edx, word [ebp + 0x10]
mov dword [ebp - 0x6988], edx
cmp dword [ebp - 0x6988], 0xcae
je 0x479e84
jmp 0x479f42
movzx eax, word [ebp + 0x10]
mov dword [ebp - 0x698c], eax
cmp dword [ebp - 0x698c], 0xfe1
je 0x479e9c
jmp 0x479eae
mov ecx, dword [ebp - 0x4b98]
sub ecx, dword [ebp - 0x2c50]
mov dword [ebp - 0x463c], ecx
movzx edx, word [ebp + 0x10]
cmp edx, 0x9d4
jne 0x479ec7
movzx eax, word [ebp + 0x10]
sub eax, 0x161
mov word [ebp + 0x10], ax
mov cl, byte [ebp + 0xc]
mov byte [ebp - 0x6990], cl
cmp byte [ebp - 0x6990], 0x20
je 0x479edb
jmp 0x479edd
jmp 0x479eec
push 0
mov edx, dword [ebp - 0x3f34]
push edx
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
mov eax, dword [ebp - 0x2a94]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x6948]
add ecx, edx
mov eax, dword [ebp - 0x2e14]
mov byte [eax], cl
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ecx]
mov dword [ebp - 0x6388], edx
lea eax, [ebp - 0x38e8]
push eax
call dword [sym.imp.SHELL32.dll_ILCloneFirst]
mov dword [ebp - 0x16dc], eax
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ecx]
and edx, dword [ebp - 0x28ec]
mov eax, dword [ebp - 0x1bb4]
mov dword [eax], edx
jmp 0x4bfe07
mov cl, byte [ebp + 0xc]
mov byte [ebp - 0x6994], cl
cmp byte [ebp - 0x6994], 0x3d
je 0x479f56
jmp 0x479fca
mov edx, dword [ebp - 0x344c]
add edx, dword [ebp - 0x3fb8]
mov eax, dword [ebp - 0x2ab8]
mov dword [eax], edx
lea ecx, [ebp - 0x3b10]
push ecx
lea edx, [ebp - 0x61f1]
push edx
lea eax, [ebp - 0x2ab8]
push eax
push 0x97
lea ecx, [ebp - 0x137c]
push ecx
call dword [sym.imp.ole32.dll_CoInstall]
mov dword [ebp - 0x2178], eax
mov edx, dword [ebp - 0x1080]
mov eax, dword [ebp - 0x4f18]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x2ab8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4f18]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x1080]
add ecx, dword [edx]
mov dword [ebp - 0x4b98], ecx
jmp 0x47a07a
mov eax, dword [ebp - 0x137c]
mov cx, word [eax]
mov word [ebp - 0x36ec], cx
movzx edx, word [ebp + 0x10]
mov dword [ebp - 0x6998], edx
cmp dword [ebp - 0x6998], 0x817
je 0x47a064
cmp dword [ebp - 0x6998], 0x951
je 0x479ffe
jmp 0x47a07a
push 0x87
lea eax, [ebp - 0x4334]
push eax
lea ecx, [ebp - 0x28ec]
push ecx
call dword [sym.imp.SHELL32.dll_SHSetLocalizedName]
mov dword [ebp - 0x653c], eax
mov edx, dword [ebp - 0x2e14]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x1b95]
sub eax, ecx
mov edx, dword [ebp - 0x2a94]
mov byte [edx], al
mov eax, dword [ebp - 0x2e14]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x694c]
shl edx, cl
mov byte [ebp - 0x1b95], dl
mov eax, dword [ebp - 0x5524]
push eax
call dword [sym.imp.SHELL32.dll_ILCreateFromPathW]
mov dword [ebp - 0x5cb8], eax
jmp 0x47a07a
mov edx, dword [ebp - 0x28ec]
mov ecx, dword [ebp - 0x6388]
shr edx, cl
mov eax, dword [ebp - 0x1bb4]
mov dword [eax], edx
mov cl, byte [ebp - 0x1b95]
mov byte [ebp - 0x699c], cl
cmp byte [ebp - 0x699c], 0
je 0x47a186
cmp byte [ebp - 0x699c], 0xc9
je 0x47a0a1
jmp 0x47a251
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
movsx ecx, word [ebp + 8]
xor eax, ecx
movsx edx, word [ebp - 0x6208]
movsx ecx, word [ebp - 0x36ec]
or edx, ecx
cmp eax, edx
jg 0x47a148
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [edx]
mov dword [ebp - 0x28ec], eax
mov ecx, dword [ebp - 0x2e14]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x3671]
add edx, eax
mov ecx, dword [ebp - 0x2e14]
mov byte [ecx], dl
mov dl, byte [ebp + 0xc]
mov byte [ebp - 0x69a0], dl
cmp byte [ebp - 0x69a0], 0x6b
je 0x47a104
jmp 0x47a132
lea eax, [ebp - 0x1640]
push eax
call dword [sym.imp.COMDLG32.dll_PrintDlgW]
mov dword [ebp - 0x535c], eax
movsx ecx, word [ebp - 0x36ec]
movsx edx, word [ebp - 0x6208]
sub ecx, edx
mov eax, dword [ebp - 0x137c]
mov word [eax], cx
jmp 0x47a146
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ecx]
add edx, dword [ebp - 0x2c50]
mov dword [ebp - 0x4b98], edx
jmp 0x47a181
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x36ec]
and ecx, edx
movsx eax, word [ebp - 0x6208]
movsx edx, word [ebp + 8]
sub eax, edx
cmp ecx, eax
jl 0x47a181
mov eax, dword [ebp - 0x1bb4]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x28ec]
mov edx, dword [ebp - 0x1bb4]
mov dword [edx], ecx
jmp 0x47a251
mov eax, dword [ebp - 0x1080]
mov ecx, dword [ebp - 0x344c]
add ecx, dword [eax]
mov edx, dword [ebp - 0x4f18]
mov dword [edx], ecx
mov dword [ebp - 0x26c0], 0x5591
mov eax, dword [ebp - 0x4f18]
mov ecx, dword [eax]
mov dword [ebp - 0x2864], ecx
movsx edx, byte [ebp + 0xc]
cmp edx, 0x16
jle 0x47a22f
lea eax, [ebp - 0x6948]
mov dword [ebp - 0x4140], eax
lea ecx, [ebp - 0x6388]
mov dword [ebp - 0x1b64], ecx
movzx edx, word [ebp + 0x10]
mov dword [ebp - 0x69a4], edx
cmp dword [ebp - 0x69a4], 0xad6
je 0x47a1ed
jmp 0x47a22d
movsx eax, byte [ebp + 0xc]
sub eax, 8
mov byte [ebp + 0xc], al
lea ecx, [ebp - 0x4778]
push ecx
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
mov dword [ebp - 0x1ba0], eax
movzx edx, byte [ebp - 0x1b95]
push edx
mov eax, dword [ebp - 0x6388]
push eax
movzx ecx, word [ebp + 8]
push ecx
movzx edx, byte [ebp + 0xc]
push edx
movzx eax, byte [ebp + 0xc]
push eax
call fcn.00429f50
jmp 0x47a251
movzx ecx, word [ebp + 0x10]
cmp ecx, 0x49b
jg 0x47a251
mov edx, dword [ebp - 0x1b64]
mov eax, dword [edx]
add eax, dword [ebp - 0x6388]
mov ecx, dword [ebp - 0x1bb4]
mov dword [ecx], eax
movzx edx, word [ebp + 0x10]
sub edx, 0x167
cmp edx, 0xce1
jg 0x4bfca8
mov eax, dword [ebp - 0x1b64]
mov ecx, dword [eax]
mov dword [ebp - 0x69a8], ecx
cmp dword [ebp - 0x69a8], 0x8a51565f
je 0x47a283
jmp 0x47a2e6
movsx edx, byte [ebp + 0xc]
cmp edx, 0x25
jl 0x47a2d3
mov al, byte [ebp + 0xc]
mov byte [ebp - 0x69ac], al
cmp byte [ebp - 0x69ac], 0xf
je 0x47a2a0
jmp 0x47a2b8
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ecx]
add edx, dword [ebp - 0x28ec]
mov eax, dword [ebp - 0x1b64]
mov dword [eax], edx
jmp 0x47a2d1
mov ecx, dword [ebp - 0x2c50]
push ecx
mov edx, dword [ebp - 0x4140]
movzx eax, byte [edx]
push eax
call fcn.004ef7c0
add esp, 8
jmp 0x47a2e1
mov ecx, dword [ebp - 0x2e14]
mov dl, byte [ecx]
mov byte [ebp - 0x6948], dl
jmp 0x47a3a2
mov eax, dword [ebp - 0x2a94]
mov cl, byte [eax]
mov byte [ebp - 0x69b0], cl
cmp byte [ebp - 0x69b0], 0xb8
je 0x47a2ff
jmp 0x47a366
mov edx, dword [ebp - 0x4140]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x61f1]
and eax, ecx
mov edx, dword [ebp - 0x2e14]
mov byte [edx], al
mov eax, dword [ebp - 0x2a94]
mov cl, byte [eax]
mov byte [ebp - 0x69b4], cl
cmp byte [ebp - 0x69b4], 0x47
je 0x47a351
cmp byte [ebp - 0x69b4], 0xb4
je 0x47a33b
jmp 0x47a364
mov edx, dword [ebp - 0x2e14]
movzx eax, byte [edx]
push eax
movzx ecx, byte [ebp + 0xc]
push ecx
call fcn.004d1cd0
jmp 0x47a364
lea edx, [ebp - 0x5850]
push edx
call dword [sym.imp.COMDLG32.dll_ReplaceTextW]
mov dword [ebp - 0x3340], eax
jmp 0x47a3a2
movzx eax, byte [ebp - 0x3671]
movzx ecx, byte [ebp - 0x1b95]
sub eax, ecx
mov edx, dword [ebp - 0x2e14]
mov byte [edx], al
mov eax, dword [ebp - 0x1080]
mov ecx, dword [eax]
mov dword [ebp - 0x344c], ecx
mov edx, dword [ebp - 0x1b64]
mov eax, dword [ebp - 0x1bb4]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x6564], ecx
mov edx, dword [ebp - 0x4140]
mov al, byte [edx]
mov byte [ebp - 0x69b8], al
cmp byte [ebp - 0x69b8], 0
je 0x47a3cb
cmp byte [ebp - 0x69b8], 0x74
je 0x47a4ad
jmp 0x47a557
lea ecx, [ebp - 0x463c]
mov dword [ebp - 0x56b0], ecx
mov dword [ebp - 0x10b4], 0x923e
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
mov dword [ebp - 0x69bc], eax
cmp dword [ebp - 0x69bc], 0
je 0x47a3fe
jmp 0x47a492
mov ecx, dword [ebp - 0x4140]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x3671]
add edx, eax
movzx ecx, byte [ebp - 0x1b95]
mov eax, dword [ebp - 0x2e14]
movzx eax, byte [eax]
or ecx, eax
cmp edx, ecx
jle 0x47a466
mov ecx, dword [ebp - 0x1080]
mov edx, dword [ebp - 0x2864]
mov ecx, dword [ecx]
sar edx, cl
mov eax, dword [ebp - 0x56b0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x4b98]
shl edx, cl
mov dword [ebp - 0x344c], edx
movzx eax, byte [ebp - 0x3671]
push eax
movzx ecx, byte [ebp + 0xc]
push ecx
call fcn.004d1cd0
mov edx, dword [ebp - 0x4140]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x2a94]
movzx edx, byte [ecx]
xor eax, edx
mov ecx, dword [ebp - 0x2e14]
mov byte [ecx], al
mov dx, word [ebp - 0x6208]
mov word [ebp - 0x5dc], dx
jmp 0x47a4a8
mov eax, dword [ebp - 0x1bb4]
mov ecx, dword [ebp - 0x6388]
and ecx, dword [eax]
mov edx, dword [ebp - 0x1b64]
mov dword [edx], ecx
jmp 0x47a557
mov eax, dword [ebp - 0x6388]
mov dword [ebp - 0x69c0], eax
cmp dword [ebp - 0x69c0], 0xac6f5847
je 0x47a4c7
jmp 0x47a544
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ecx]
add edx, dword [ebp - 0x2c50]
mov dword [ebp - 0x463c], edx
lea eax, [ebp - 0x1b95]
push eax
call dword [sym.imp.SHELL32.dll_ILGetNext]
mov dword [ebp - 0x4e6c], eax
mov ecx, dword [ebp - 0x2a94]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x3671]
sub edx, eax
mov ecx, dword [ebp - 0x4140]
mov byte [ecx], dl
push 0x1f
call dword [sym.imp.ole32.dll_CoRevokeClassObject]
mov dword [ebp - 0x2ea4], eax
mov edx, dword [ebp - 0x56b0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2ab8]
add eax, dword [ecx]
mov dword [ebp - 0x4b98], eax
mov edx, dword [ebp - 0x1b64]
mov eax, dword [edx]
sub eax, dword [ebp - 0x6388]
mov ecx, dword [ebp - 0x1bb4]
mov dword [ecx], eax
jmp 0x47a557
lea edx, [ebp - 0x61f1]
push edx
call dword [sym.imp.ole32.dll_CoGetCallerTID]
mov dword [ebp - 0x5654], eax
lea eax, [ebp - 0x344c]
mov dword [ebp - 0x4b54], eax
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
mov dword [ebp - 0x69c4], edx
cmp dword [ebp - 0x69c4], 0
je 0x47a590
cmp dword [ebp - 0x69c4], 0x469e
je 0x4bfbe2
jmp 0x4bfc80
cmp dword [ebp - 0x26c0], 0xb481
je 0x47a716
mov eax, dword [ebp - 0x6388]
mov ecx, dword [ebp - 0x6564]
shl eax, cl
mov ecx, dword [ebp - 0x1bb4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4f18]
mov eax, dword [edx]
xor eax, dword [ebp - 0x2864]
mov ecx, dword [ebp - 0x2ab8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4b54]
mov eax, dword [edx]
add eax, dword [ebp - 0x344c]
mov ecx, dword [ebp - 0x4f18]
mov dword [ecx], eax
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x36ec]
and eax, ecx
mov edx, dword [ebp - 0x137c]
mov word [edx], ax
mov eax, dword [ebp - 0x1080]
mov ecx, dword [ebp - 0x56b0]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x4b54]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4140]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x2a94]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x3671], dl
mov edx, dword [ebp - 0x56b0]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3fb8]
mov ecx, dword [ebp - 0x4b54]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [edx]
sub eax, dword [ebp - 0x6564]
mov ecx, dword [ebp - 0x1b64]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2c50]
add edx, dword [ebp - 0x2864]
mov eax, dword [ebp - 0x4b54]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4140]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x2a94]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x4140]
mov byte [eax], dl
mov ecx, dword [ebp - 0x26c0]
add ecx, 0xf8
mov dword [ebp - 0x26c0], ecx
mov edx, dword [ebp - 0x2a94]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x3671]
sub eax, ecx
mov edx, dword [ebp - 0x2a94]
mov byte [edx], al
mov eax, dword [ebp - 0x1b64]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x28ec]
mov edx, dword [ebp - 0x1b64]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4b54]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x344c]
shl edx, cl
mov eax, dword [ebp - 0x2ab8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4b54]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x463c]
mov eax, dword [ebp - 0x2ab8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1b64]
mov edx, dword [ecx]
or edx, dword [ebp - 0x6564]
mov eax, dword [ebp - 0x1b64]
mov dword [eax], edx
jmp 0x47a590
movzx ecx, word [ebp + 0x10]
mov dword [ebp - 0x69c8], ecx
cmp dword [ebp - 0x69c8], 0xaec
je 0x47a73d
cmp dword [ebp - 0x69c8], 0xeac
je 0x47a7b3
jmp 0x47a8e1
movzx edx, byte [ebp - 0x61f1]
movzx ecx, byte [ebp - 0x3671]
sar edx, cl
mov byte [ebp - 0x1b95], dl
mov eax, dword [ebp - 0x4f18]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x56b0]
add ecx, dword [edx]
mov dword [ebp - 0x344c], ecx
lea eax, [ebp - 0x2c50]
mov dword [ebp - 0x3314], eax
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
movsx eax, word [ebp + 8]
sub edx, eax
mov word [ebp - 0x36ec], dx
mov cx, word [ebp + 0x10]
mov word [ebp - 0x3e70], cx
lea edx, [ebp - 0x1b95]
mov dword [ebp - 0x60ec], edx
mov eax, dword [ebp - 0x6564]
mov dword [ebp - 0x28ec], eax
jmp 0x47a8e1
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ebp - 0x1b64]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x1bb4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1b64]
mov eax, dword [edx]
add eax, dword [ebp - 0x6564]
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ebp - 0x6388]
add edx, dword [ecx]
cmp eax, edx
ja 0x47a820
call fcn.0046d040
lea eax, [ebp - 0x1fd8]
push eax
call dword [sym.imp.SHELL32.dll_SHGetInstanceExplorer]
mov dword [ebp - 0x653c], eax
mov ecx, dword [ebp - 0x56b0]
mov edx, dword [ebp - 0x3314]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x56b0]
mov dword [ecx], eax
jmp 0x47a8e1
mov edx, dword [ebp - 0x4140]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x60ec]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x694c], al
movsx eax, word [ebp + 8]
mov dword [ebp - 0x69cc], eax
cmp dword [ebp - 0x69cc], 0x2b34
je 0x47a852
jmp 0x47a8c7
mov ecx, dword [ebp - 0x2ab8]
mov edx, dword [ebp - 0x4b98]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x1080]
mov dword [eax], edx
movzx ecx, word [ebp + 0x10]
sub ecx, 0x317
mov word [ebp - 0x3e70], cx
lea edx, [ebp - 0x137c]
push edx
push 0x4d
lea eax, [ebp - 0x535c]
push eax
push 0x65
push 0xcc
lea ecx, [ebp - 0x5cb8]
push ecx
lea edx, [ebp - 0x290]
push edx
lea eax, [ebp - 0x36ec]
push eax
call dword [sym.imp.ole32.dll_CoGetInstanceFromFile]
mov dword [ebp - 0x653c], eax
mov ecx, dword [ebp - 0x60ec]
movzx edx, byte [ecx]
push edx
movzx eax, byte [ebp + 0xc]
push eax
call fcn.004d1cd0
jmp 0x47a8e1
movzx ecx, byte [ebp - 0x61f1]
mov edx, dword [ebp - 0x2e14]
movzx eax, byte [edx]
or ecx, eax
mov edx, dword [ebp - 0x4140]
mov byte [edx], cl
movsx eax, byte [ebp + 0xc]
cmp eax, 0x51
jg 0x47a9bd
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ecx]
mov dword [ebp - 0x6388], edx
mov eax, dword [ebp - 0x2a94]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x61f1]
shl edx, cl
mov eax, dword [ebp - 0x2e14]
movzx ecx, byte [eax]
mov eax, dword [ebp - 0x60ec]
movzx eax, byte [eax]
and ecx, eax
cmp edx, ecx
jne 0x47a96a
lea ecx, [ebp - 0x3fb8]
mov dword [ebp - 0x53b8], ecx
mov edx, dword [ebp - 0x2c50]
sub edx, dword [ebp - 0x3fb8]
mov dword [ebp - 0x463c], edx
lea eax, [ebp - 0x28ec]
mov dword [ebp - 0xb04], eax
lea ecx, [ebp - 0x3671]
mov dword [ebp - 0x4580], ecx
lea edx, [ebp - 0x3e70]
mov dword [ebp - 0x4b50], edx
jmp 0x47a99b
movsx eax, byte [ebp + 0xc]
cmp eax, 0x4a
jne 0x47a99b
push 0x42
push 0xde
push 0x39
mov ecx, dword [ebp - 0x3f34]
push ecx
call sub.COMCTL32.dll_DefSubclassProc
mov dword [ebp - 0x1344], eax
mov edx, dword [ebp - 0x137c]
mov ax, word [edx]
mov word [ebp + 8], ax
mov cl, byte [ebp + 0xc]
mov byte [ebp - 0x5196], cl
mov edx, dword [ebp - 0xb04]
mov eax, dword [ebp - 0x6388]
add eax, dword [edx]
mov dword [ebp - 0x6564], eax
jmp 0x47aa77
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3fb8]
sar edx, cl
mov eax, dword [ebp - 0x344c]
xor eax, dword [ebp - 0x463c]
cmp edx, eax
jge 0x47aa77
mov ecx, dword [ebp - 0x56b0]
mov edx, dword [ebp - 0x463c]
and edx, dword [ecx]
mov eax, dword [ebp - 0x2ab8]
mov dword [eax], edx
mov cl, byte [ebp - 0x5196]
mov byte [ebp - 0x69d0], cl
cmp byte [ebp - 0x69d0], 0xa
je 0x47aa17
cmp byte [ebp - 0x69d0], 0x56
je 0x47aa64
jmp 0x47aa77
push 0x4a
mov edx, dword [ebp - 0x4614]
push edx
mov eax, dword [ebp - 0x5254]
push eax
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
mov word [ebp - 0x6208], ax
movzx ecx, word [ebp - 0x3e70]
movzx edx, word [ebp + 0x10]
add ecx, edx
mov eax, dword [ebp - 0x4b50]
mov word [eax], cx
mov ecx, dword [ebp - 0x4580]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x1b95]
sub edx, eax
mov byte [ebp - 0x694c], dl
jmp 0x47aa77
lea ecx, [ebp - 0x2cf0]
push ecx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
mov dword [ebp - 0x535c], eax
lea edx, [ebp - 0x463c]
mov dword [ebp - 0x3cf4], edx
mov eax, dword [ebp - 0x1b64]
mov ecx, dword [ebp - 0xb04]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x6388], edx
mov eax, dword [ebp - 0x1080]
mov ecx, dword [ebp - 0x3fb8]
add ecx, dword [eax]
mov dword [ebp - 0x344c], ecx
movsx edx, byte [ebp - 0x5196]
add edx, 0x3c
mov byte [ebp + 0xc], dl
movzx eax, word [ebp - 0x3e70]
movzx ecx, word [ebp + 0x10]
sar eax, cl
mov ecx, dword [ebp - 0x4b50]
mov word [ecx], ax
movzx edx, byte [ebp - 0x3671]
mov eax, dword [ebp - 0x4140]
movzx ecx, byte [eax]
xor edx, ecx
mov eax, dword [ebp - 0x4580]
mov byte [eax], dl
mov ecx, dword [ebp - 0xb04]
mov edx, dword [ebp - 0x1b64]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x6564], eax
mov ecx, dword [ebp - 0x56b0]
mov edx, dword [ebp - 0x344c]
or edx, dword [ecx]
mov dword [ebp - 0x2c50], edx
mov eax, dword [ebp - 0x2864]
and eax, dword [ebp - 0x3fb8]
mov ecx, dword [ebp - 0x1080]
mov dword [ecx], eax
mov edx, dword [ebp - 0x344c]
sub edx, dword [ebp - 0x4b98]
mov eax, dword [ebp - 0x4f18]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2864]
sub ecx, dword [ebp - 0x2c50]
mov edx, dword [ebp - 0x4b54]
mov dword [edx], ecx
movzx eax, word [ebp - 0x3e70]
movzx ecx, word [ebp + 0x10]
sub eax, ecx
mov edx, dword [ebp - 0x4b50]
mov word [edx], ax
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x5dc]
add ecx, edx
mov word [ebp - 0x6208], cx
mov eax, dword [ebp - 0x4b50]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x3e70]
and ecx, edx
mov word [ebp + 0x10], cx
movzx eax, byte [ebp - 0x61f1]
mov ecx, dword [ebp - 0x2e14]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x4140]
mov byte [ecx], al
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [edx]
add eax, dword [ebp - 0x6564]
mov dword [ebp - 0x28ec], eax
mov ecx, dword [ebp - 0x1b64]
mov edx, dword [ebp - 0x6388]
add edx, dword [ecx]
mov dword [ebp - 0x6564], edx
mov eax, dword [ebp - 0x4b50]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x3e70]
add ecx, edx
mov word [ebp + 0x10], cx
mov al, byte [ebp - 0x3671]
mov byte [ebp - 0x6948], al
mov ecx, dword [ebp - 0x2ab8]
mov edx, dword [ebp - 0x3314]
mov eax, dword [ecx]
mov ecx, dword [edx]
sar eax, cl
mov ecx, dword [ebp - 0x4f18]
mov dword [ecx], eax
mov edx, dword [ebp - 0x28ec]
mov ecx, dword [ebp - 0x6564]
shl edx, cl
mov eax, dword [ebp - 0x1bb4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x10c0]
sub ecx, 0xe4
mov dword [ebp - 0x10c0], ecx
mov edx, dword [ebp - 0x3cf4]
mov eax, dword [ebp - 0x4b98]
or eax, dword [edx]
mov ecx, dword [ebp - 0x4b54]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x5196]
xor edx, 0x10
mov byte [ebp + 0xc], dl
mov eax, dword [ebp - 0x4b50]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x3e70]
and ecx, edx
mov eax, dword [ebp - 0x4b50]
mov word [eax], cx
mov ecx, dword [ebp - 0x2a94]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x60ec]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x4580]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x1b64]
add edx, dword [eax]
mov ecx, dword [ebp - 0xb04]
mov dword [ecx], edx
mov edx, dword [ebp - 0x2ab8]
mov eax, dword [ebp - 0x2c50]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1080]
mov dword [ecx], eax
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x5dc]
sub eax, ecx
mov edx, dword [ebp - 0x137c]
mov word [edx], ax
mov eax, dword [ebp - 0x60ec]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x2a94]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x2e14]
mov byte [edx], cl
movzx eax, word [ebp + 0x10]
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
and eax, edx
mov word [ebp - 0x3e70], ax
movzx eax, byte [ebp - 0x61f1]
mov ecx, dword [ebp - 0x2a94]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x4140]
mov byte [ecx], al
cmp dword [ebp - 0x10c0], 0xc05a
jae 0x47aa83
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [ebp - 0x6564]
add eax, dword [edx]
mov dword [ebp - 0x28ec], eax
mov ecx, dword [ebp - 0x56b0]
mov edx, dword [ebp - 0x4b54]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x2ab8]
mov dword [ecx], eax
movsx eax, byte [ebp + 0xc]
cdq
mov ecx, 0x63
idiv ecx
movsx edx, byte [ebp - 0x5196]
cmp eax, edx
jge 0x47aece
mov eax, dword [ebp - 0x4b50]
movzx ecx, word [eax]
movzx edx, word [ebp + 0x10]
xor ecx, edx
movzx eax, word [ebp - 0x3e70]
cmp ecx, eax
jg 0x47aea1
lea ecx, [ebp - 0x2864]
mov dword [ebp - 0x52c8], ecx
mov dword [ebp - 0x3d5c], 0x273e
movzx edx, word [ebp - 0x3e70]
mov dword [ebp - 0x69d4], edx
cmp dword [ebp - 0x69d4], 0
je 0x47add2
jmp 0x47ae85
mov eax, dword [ebp - 0x1bb4]
mov ecx, dword [ebp - 0x1b64]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0xb04]
mov dword [eax], edx
mov ecx, dword [ebp - 0x56b0]
mov edx, dword [ecx]
mov dword [ebp - 0x1660], edx
movzx eax, byte [ebp - 0x1b95]
mov ecx, dword [ebp - 0x2a94]
movzx edx, byte [ecx]
or eax, edx
mov byte [ebp - 0x3671], al
mov eax, dword [ebp - 0x2864]
mov dword [ebp - 0x69d8], eax
cmp dword [ebp - 0x69d8], 0
je 0x47ae29
jmp 0x47ae65
mov cx, word [ebp - 0x3e70]
mov word [ebp - 0x4518], cx
mov edx, dword [ebp - 0x56b0]
mov eax, dword [ebp - 0x1660]
and eax, dword [edx]
mov ecx, dword [ebp - 0x52c8]
mov dword [ecx], eax
lea edx, [ebp - 0x6388]
mov dword [ebp - 0x3cbc], edx
mov dword [ebp - 0x2d0], 0x1dcb
jmp 0x47ae79
mov eax, dword [ebp - 0x2c50]
sub eax, dword [ebp - 0x1660]
mov ecx, dword [ebp - 0x1080]
mov dword [ecx], eax
mov dword [ebp - 0x3d48], 0xd3b
jmp 0x47ae9f
mov edx, dword [ebp - 0x2e14]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x60ec]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x694c], al
jmp 0x47aece
mov eax, dword [ebp - 0x4b50]
movzx edx, word [eax]
movzx ecx, word [ebp - 0x3e70]
sar edx, cl
movzx eax, word [ebp + 0x10]
cmp edx, eax
jge 0x47aece
lea ecx, [ebp - 0x12d0]
push ecx
call dword [sym.imp.SHELL32.dll_ILClone]
mov dword [ebp - 0x584], eax
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x6208]
add eax, ecx
movsx edx, word [ebp + 8]
movsx ecx, word [ebp - 0x5dc]
add edx, ecx
cmp eax, edx
jg 0x4bfb3c
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
mov dword [ebp - 0x69dc], eax
cmp dword [ebp - 0x69dc], 0
je 0x47af12
jmp 0x47b02f
lea ecx, [ebp - 0x5196]
mov dword [ebp - 0x5c7c], ecx
mov edx, dword [ebp - 0x2864]
sub edx, dword [ebp - 0x4b98]
mov eax, dword [ebp - 0x53b8]
mov ecx, dword [ebp - 0x3fb8]
or ecx, dword [eax]
cmp edx, ecx
jg 0x47b02d
mov edx, dword [ebp - 0x344c]
mov ecx, dword [ebp - 0x2c50]
shl edx, cl
mov eax, dword [ebp - 0x4b98]
mov ecx, dword [ebp - 0x1660]
sar eax, cl
cmp edx, eax
jne 0x47afea
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ecx]
and edx, dword [ebp - 0x28ec]
mov dword [ebp - 0x6388], edx
mov eax, dword [ebp - 0x3cf4]
mov ecx, dword [eax]
mov dword [ebp - 0x69e0], ecx
cmp dword [ebp - 0x69e0], 0x5f7dc0b4
je 0x47af94
jmp 0x47afdc
mov edx, dword [ebp - 0x56b0]
mov eax, dword [edx]
add eax, dword [ebp - 0x1660]
mov ecx, dword [ebp - 0x2ab8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4b50]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x3e70]
add eax, ecx
mov word [ebp - 0x4518], ax
mov edx, dword [ebp - 0x2a94]
movzx eax, byte [edx]
push eax
movzx ecx, word [ebp - 0x4518]
push ecx
call section..text
jmp 0x47afe8
mov dl, byte [ebp - 0x1b95]
mov byte [ebp - 0x2359], dl
jmp 0x47b023
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x5dc]
xor ecx, edx
movsx eax, word [ebp + 8]
movsx edx, word [ebp - 0x6208]
sub eax, edx
cmp ecx, eax
jge 0x47b023
mov eax, dword [ebp - 0x3cbc]
mov ecx, dword [ebp - 0x6388]
add ecx, dword [eax]
mov edx, dword [ebp - 0xb04]
mov dword [edx], ecx
mov dword [ebp - 0x5860], 0x7fd4
jmp 0x47b075
mov eax, dword [ebp - 0x137c]
mov cx, word [eax]
mov word [ebp + 8], cx
push 0xcd
mov edx, dword [ebp - 0x5524]
push edx
mov eax, dword [ebp - 0x4724]
push eax
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
mov word [ebp - 0x6208], ax
call fcn.004d7e60
mov ecx, dword [ebp - 0x3fb8]
sub ecx, dword [ebp - 0x344c]
mov edx, dword [ebp - 0x4f18]
mov dword [edx], ecx
mov eax, dword [ebp - 0x6564]
sub eax, dword [ebp - 0x6388]
mov ecx, dword [ebp - 0x1bb4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4b50]
mov ax, word [edx]
mov word [ebp - 0x3b78], ax
movsx ecx, word [ebp - 0x6208]
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
add ecx, eax
movsx edx, word [ebp - 0x36ec]
movsx eax, word [ebp - 0x5dc]
sub edx, eax
cmp ecx, edx
jg 0x4bfae9
movsx edx, word [ebp - 0x5dc]
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
shl edx, cl
movsx eax, word [ebp - 0x36ec]
movsx ecx, word [ebp - 0x6208]
sar eax, cl
cmp edx, eax
je 0x47b11c
call fcn.004d7e60
mov ecx, dword [ebp - 0x52c8]
mov edx, dword [ebp - 0x3cf4]
mov eax, dword [ecx]
or eax, dword [edx]
mov ecx, dword [ebp - 0x53b8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1b64]
add eax, dword [ecx]
mov dword [ebp - 0x28ec], eax
movzx edx, word [ebp + 0x10]
mov dword [ebp - 0x69e4], edx
cmp dword [ebp - 0x69e4], 0x4d7
je 0x47b140
cmp dword [ebp - 0x69e4], 0x9d9
je 0x47b155
jmp 0x47b197
lea eax, [ebp - 0x4ca0]
push eax
call dword [sym.imp.COMDLG32.dll_PageSetupDlgW]
mov dword [ebp - 0x2c90], eax
jmp 0x47b197
mov ecx, dword [ebp - 0x52c8]
mov edx, dword [ecx]
add edx, dword [ebp - 0x463c]
mov eax, dword [ebp - 0x3314]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2e14]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x61f1]
and edx, eax
mov byte [ebp - 0x6948], dl
mov ecx, dword [ebp - 0x4580]
movzx edx, byte [ecx]
push edx
movzx eax, word [ebp + 0x10]
push eax
call section..text
lea ecx, [ebp - 0x5196]
mov dword [ebp - 0x1fe8], ecx
movzx edx, word [ebp - 0x3b78]
mov dword [ebp - 0x69e8], edx
cmp dword [ebp - 0x69e8], 0
je 0x47b1bb
jmp 0x47b1e8
lea eax, [ebp - 0x6208]
mov dword [ebp - 0x578c], eax
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x40f4], ecx
movzx edx, byte [ebp - 0x1b95]
movzx eax, byte [ebp - 0x61f1]
sub edx, eax
mov byte [ebp - 0x3671], dl
jmp 0x47b232
push 0xd4
mov ecx, dword [ebp - 0x38e8]
push ecx
mov edx, dword [ebp - 0x5254]
push edx
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
mov word [ebp - 0x474], ax
mov eax, dword [ebp - 0xb04]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x3cbc]
add ecx, dword [edx]
mov eax, dword [ebp - 0x1bb4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x344c]
sub ecx, dword [ebp - 0x3fb8]
mov dword [ebp - 0x2c50], ecx
lea edx, [ebp - 0x3e70]
mov dword [ebp - 0x547c], edx
lea eax, [ebp - 0x1b95]
mov dword [ebp - 0x693c], eax
mov ecx, dword [ebp - 0x3cbc]
mov edx, dword [ebp - 0x1b64]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x1bb4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3fb8]
sub edx, dword [ebp - 0x4b98]
mov eax, dword [ebp - 0x1080]
mov dword [eax], edx
mov ecx, dword [ebp - 0x344c]
sub ecx, dword [ebp - 0x2864]
mov edx, dword [ebp - 0x53b8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1bb4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x1b64]
add ecx, dword [edx]
mov dword [ebp - 0x6388], ecx
movzx eax, byte [ebp - 0x3671]
mov ecx, dword [ebp - 0x2a94]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x61f1], al
mov eax, dword [ebp - 0x547c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x40f4]
movzx eax, word [edx]
xor ecx, eax
mov word [ebp - 0x3e70], cx
mov ecx, dword [ebp - 0x4140]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x60ec]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp - 0x694c], dl
mov ecx, dword [ebp - 0x53b8]
mov edx, dword [ebp - 0x1660]
or edx, dword [ecx]
mov eax, dword [ebp - 0x4b54]
mov dword [eax], edx
movsx edx, byte [ebp + 0xc]
mov eax, dword [ebp - 0x1fe8]
movsx ecx, byte [eax]
shl edx, cl
mov byte [ebp - 0x5196], dl
mov ecx, dword [ebp - 0x578c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x474]
and edx, eax
mov ecx, dword [ebp - 0x137c]
mov word [ecx], dx
movzx edx, byte [ebp - 0x61f1]
movzx eax, byte [ebp - 0x1b95]
sub edx, eax
mov ecx, dword [ebp - 0x2a94]
mov byte [ecx], dl
mov edx, dword [ebp - 0x4b50]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x40f4]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x4b50]
mov word [ecx], ax
mov edx, dword [ebp - 0x1b64]
mov eax, dword [ebp - 0x6388]
and eax, dword [edx]
mov ecx, dword [ebp - 0xb04]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3cbc]
mov eax, dword [edx]
add eax, dword [ebp - 0x6564]
mov dword [ebp - 0x6388], eax
mov ecx, dword [ebp - 0x5860]
sub ecx, 0x2a
mov dword [ebp - 0x5860], ecx
mov edx, dword [ebp - 0x56b0]
mov eax, dword [ebp - 0x2c50]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1080]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x1b95]
movzx eax, byte [ebp - 0x61f1]
add edx, eax
mov byte [ebp - 0x694c], dl
mov ecx, dword [ebp - 0x3fb8]
add ecx, dword [ebp - 0x1660]
mov edx, dword [ebp - 0x4b54]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4140]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x1b95]
sub ecx, edx
mov eax, dword [ebp - 0x2e14]
mov byte [eax], cl
movzx ecx, word [ebp - 0x3e70]
movzx edx, word [ebp + 0x10]
xor ecx, edx
mov eax, dword [ebp - 0x40f4]
mov word [eax], cx
cmp dword [ebp - 0x5860], 0x7abe
ja 0x47b24a
mov ecx, dword [ebp - 0x547c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x40f4]
movzx ecx, word [eax]
sar edx, cl
mov ecx, dword [ebp - 0x4b50]
movzx eax, word [ecx]
movzx ecx, word [ebp - 0x3b78]
or eax, ecx
cmp edx, eax
jg 0x4bfab8
mov edx, dword [ebp - 0x3314]
mov eax, dword [edx]
and eax, dword [ebp - 0x1660]
mov dword [ebp - 0x344c], eax
cmp dword [ebp - 0x3d48], 0x6bfa
je 0x47b627
mov cx, word [ebp - 0x5dc]
mov word [ebp + 8], cx
mov edx, dword [ebp - 0x6388]
sub edx, dword [ebp - 0x6564]
mov dword [ebp - 0x28ec], edx
mov eax, dword [ebp - 0x4140]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x6948]
sub ecx, edx
mov byte [ebp - 0x3671], cl
mov eax, dword [ebp - 0x547c]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x3e70]
add ecx, edx
mov word [ebp - 0x4518], cx
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
movsx edx, word [ebp + 8]
add ecx, edx
mov eax, dword [ebp - 0x137c]
mov word [eax], cx
movsx ecx, byte [ebp - 0x5196]
movsx edx, byte [ebp + 0xc]
and ecx, edx
mov eax, dword [ebp - 0x5c7c]
mov byte [eax], cl
mov ecx, dword [ebp - 0xb04]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x6388]
mov dword [ebp - 0x28ec], edx
mov eax, dword [ebp - 0x2ab8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x3314]
add ecx, dword [edx]
mov dword [ebp - 0x463c], ecx
mov eax, dword [ebp - 0x4580]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x2e14]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x3671], cl
movzx ecx, word [ebp - 0x3e70]
mov edx, dword [ebp - 0x40f4]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x547c]
mov word [edx], cx
mov eax, dword [ebp - 0x2ab8]
mov ecx, dword [ebp - 0x56b0]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x4f18]
mov dword [eax], edx
mov ecx, dword [ebp - 0x28ec]
xor ecx, dword [ebp - 0x6564]
mov edx, dword [ebp - 0x3cbc]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4b54]
mov edx, dword [ebp - 0x4b98]
mov ecx, dword [eax]
sar edx, cl
mov dword [ebp - 0x1660], edx
mov eax, dword [ebp - 0x2864]
or eax, dword [ebp - 0x344c]
mov ecx, dword [ebp - 0x56b0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3d48]
add edx, 0xf5
mov dword [ebp - 0x3d48], edx
movzx eax, word [ebp - 0x4518]
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
and eax, edx
mov ecx, dword [ebp - 0x547c]
mov word [ecx], ax
movzx edx, byte [ebp - 0x61f1]
movzx eax, byte [ebp - 0x1b95]
sub edx, eax
mov byte [ebp - 0x3671], dl
mov ecx, dword [ebp - 0x6564]
add ecx, dword [ebp - 0x6388]
mov dword [ebp - 0x28ec], ecx
mov edx, dword [ebp - 0x2864]
add edx, dword [ebp - 0x344c]
mov eax, dword [ebp - 0x53b8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x344c]
sub ecx, dword [ebp - 0x2864]
mov edx, dword [ebp - 0x53b8]
mov dword [edx], ecx
jmp 0x47b463
mov eax, dword [ebp - 0x56b0]
mov ecx, dword [eax]
mov dword [ebp - 0x41d8], ecx
movzx edx, word [ebp - 0x3e70]
movzx eax, word [ebp - 0x3b78]
sub edx, eax
movzx ecx, word [ebp - 0x4518]
movzx eax, word [ebp + 0x10]
and ecx, eax
cmp edx, ecx
jg 0x4bfa9a
mov ecx, dword [ebp - 0x5c7c]
mov dl, byte [ecx]
mov byte [ebp - 0x69ec], dl
cmp byte [ebp - 0x69ec], 0
je 0x47b676
jmp 0x4bf9b7
movzx eax, word [ebp - 0x3e70]
movzx ecx, word [ebp - 0x3b78]
xor eax, ecx
mov edx, dword [ebp - 0x40f4]
mov word [edx], ax
mov eax, dword [ebp - 0x1b64]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x6564]
shl edx, cl
mov dword [ebp - 0x6388], edx
mov eax, dword [ebp - 0x3cbc]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x28ec]
mov dword [ebp - 0x6388], ecx
movzx edx, byte [ebp - 0x61f1]
movzx eax, byte [ebp - 0x2359]
and edx, eax
mov ecx, dword [ebp - 0x4140]
mov byte [ecx], dl
movzx edx, word [ebp - 0x3b78]
movzx eax, word [ebp - 0x3e70]
add edx, eax
mov word [ebp + 0x10], dx
mov ecx, dword [ebp - 0x3314]
mov edx, dword [ebp - 0x2c50]
sub edx, dword [ecx]
mov dword [ebp - 0x344c], edx
mov eax, dword [ebp - 0x1b64]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x6564]
mov dword [ebp - 0x6388], ecx
mov edx, dword [ebp - 0x1660]
add edx, dword [ebp - 0x41d8]
mov eax, dword [ebp - 0x2ab8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x693c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x4140]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x6948], dl
movzx edx, word [ebp + 0x10]
movzx eax, word [ebp - 0x3e70]
sub edx, eax
mov word [ebp - 0x3b78], dx
movzx ecx, byte [ebp - 0x1b95]
mov edx, dword [ebp - 0x4580]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp - 0x3671], cl
mov ecx, dword [ebp - 0xb04]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x3cbc]
add edx, dword [eax]
mov ecx, dword [ebp - 0x1b64]
mov dword [ecx], edx
mov edx, dword [ebp - 0x2a84]
add edx, 0x27
mov dword [ebp - 0x2a84], edx
mov eax, dword [ebp - 0x4f18]
mov ecx, dword [ebp - 0x1080]
mov edx, dword [eax]
mov ecx, dword [ecx]
sar edx, cl
mov eax, dword [ebp - 0x53b8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
mov eax, dword [ebp - 0x578c]
movsx ecx, word [eax]
or edx, ecx
mov word [ebp + 8], dx
mov edx, dword [ebp - 0x1fe8]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x5196]
xor eax, ecx
mov edx, dword [ebp - 0x1fe8]
mov byte [edx], al
mov eax, dword [ebp - 0x2a94]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x4580]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp - 0x61f1], dl
movzx ecx, word [ebp + 0x10]
mov edx, dword [ebp - 0x40f4]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x547c]
mov word [edx], cx
mov eax, dword [ebp - 0x3cbc]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x28ec]
mov edx, dword [ebp - 0x3cbc]
mov dword [edx], ecx
mov eax, dword [ebp - 0x53b8]
mov ecx, dword [ebp - 0x2864]
add ecx, dword [eax]
mov edx, dword [ebp - 0x1080]
mov dword [edx], ecx
mov eax, dword [ebp - 0x53b8]
mov ecx, dword [ebp - 0x3fb8]
add ecx, dword [eax]
mov edx, dword [ebp - 0x4b54]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1bb4]
mov ecx, dword [ebp - 0x6564]
sub ecx, dword [eax]
mov dword [ebp - 0x6388], ecx
mov edx, dword [ebp - 0x1080]
mov eax, dword [ebp - 0x52c8]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x4f18]
mov dword [edx], ecx
mov eax, dword [ebp - 0x40f4]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x4518]
add ecx, edx
mov eax, dword [ebp - 0x4b50]
mov word [eax], cx
movzx ecx, byte [ebp - 0x2359]
movzx edx, byte [ebp - 0x694c]
sub ecx, edx
mov eax, dword [ebp - 0x693c]
mov byte [eax], cl
mov ecx, dword [ebp - 0x53b8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x4b54]
add edx, dword [eax]
mov dword [ebp - 0x4b98], edx
mov ecx, dword [ebp - 0x6388]
and ecx, dword [ebp - 0x6564]
mov edx, dword [ebp - 0xb04]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1660]
mov ecx, dword [ebp - 0x344c]
shl eax, cl
mov ecx, dword [ebp - 0x52c8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x578c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x5dc]
xor eax, ecx
mov word [ebp + 8], ax
mov edx, dword [ebp - 0x60ec]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x3671]
or eax, ecx
mov edx, dword [ebp - 0x4580]
mov byte [edx], al
mov eax, dword [ebp - 0x4b50]
movzx edx, word [eax]
mov eax, dword [ebp - 0x547c]
movzx ecx, word [eax]
sar edx, cl
mov word [ebp - 0x3b78], dx
mov ecx, dword [ebp - 0x1fe8]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x5196]
add edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x578c]
movsx edx, word [ecx]
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x6208], dx
cmp dword [ebp - 0x2a84], 0x9950
jne 0x47b68f
mov dl, byte [ebp - 0x5196]
mov byte [ebp - 0x69f0], dl
cmp byte [ebp - 0x69f0], 0
je 0x47b99f
cmp byte [ebp - 0x69f0], 0x73
je 0x4bf867
jmp 0x4bf8ba
mov eax, dword [ebp - 0x3cf4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x52c8]
add ecx, dword [edx]
mov eax, dword [ebp - 0x3314]
mov edx, dword [eax]
xor edx, dword [ebp - 0x41d8]
cmp ecx, edx
jne 0x47bad4
mov eax, dword [ebp - 0x3cf4]
mov ecx, dword [ebp - 0x4b98]
or ecx, dword [eax]
mov edx, dword [ebp - 0x53b8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4b50]
movzx ecx, word [eax]
mov dword [ebp - 0x69f4], ecx
cmp dword [ebp - 0x69f4], 0x731
je 0x47b9f8
jmp 0x47ba57
mov edx, dword [ebp - 0x4140]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x61f1]
and eax, ecx
mov byte [ebp - 0x694c], al
push 0x2a
lea edx, [ebp - 0x2cf0]
push edx
push 0xc6
lea eax, [ebp - 0xba8]
push eax
lea ecx, [ebp - 0x2810]
push ecx
lea edx, [ebp - 0x290]
push edx
call dword [sym.imp.ole32.dll_CoGetMarshalSizeMax]
mov dword [ebp - 0x2e6c], eax
movzx eax, word [ebp + 0x10]
movzx ecx, word [ebp - 0x3e70]
add eax, ecx
mov edx, dword [ebp - 0x40f4]
mov word [edx], ax
jmp 0x47bacf
movzx eax, byte [ebp - 0x61f1]
mov ecx, dword [ebp - 0x4580]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x37f2], al
mov eax, dword [ebp - 0x2864]
and eax, dword [ebp - 0x463c]
mov ecx, dword [ebp - 0x4f18]
mov dword [ecx], eax
mov dword [ebp - 0x3e60], 0x99b1
mov edx, dword [ebp - 0x1660]
mov dword [ebp - 0x3c18], edx
mov eax, dword [ebp - 0xb04]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x1b64]
add ecx, dword [edx]
mov dword [ebp - 0x6388], ecx
mov eax, dword [ebp - 0x1660]
mov dword [ebp - 0x4660], eax
mov ecx, dword [ebp - 0x1080]
mov edx, dword [ebp - 0x41d8]
add edx, dword [ecx]
mov dword [ebp - 0x3fb8], edx
jmp 0x47bbf2
movsx eax, word [ebp - 0x36ec]
movsx ecx, word [ebp - 0x6208]
sub eax, ecx
mov edx, dword [ebp - 0x578c]
movsx ecx, word [edx]
movsx edx, word [ebp - 0x5dc]
sub ecx, edx
cmp eax, ecx
jge 0x47bb14
movsx eax, byte [ebp + 0xc]
mov ecx, dword [ebp - 0x5c7c]
movsx ecx, byte [ecx]
sar eax, cl
mov byte [ebp - 0x5196], al
jmp 0x47bbf2
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
mov ecx, dword [ebp - 0x578c]
movsx edx, word [ecx]
or eax, edx
movsx ecx, word [ebp - 0x5dc]
movsx edx, word [ebp + 8]
xor ecx, edx
cmp eax, ecx
jle 0x47bbf2
mov eax, dword [ebp - 0x578c]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
and ecx, edx
mov eax, dword [ebp - 0x578c]
mov word [eax], cx
mov ecx, dword [ebp - 0x40f4]
movzx edx, word [ecx]
mov dword [ebp - 0x69f8], edx
cmp dword [ebp - 0x69f8], 0x95d
je 0x47bb81
cmp dword [ebp - 0x69f8], 0xf90
je 0x47bbde
jmp 0x47bbf2
lea eax, [ebp - 0x290]
push eax
push 0x59
lea ecx, [ebp - 0x2359]
push ecx
lea edx, [ebp - 0x4614]
push edx
mov eax, dword [ebp - 0x3f34]
push eax
call dword [sym.imp.SHELL32.dll_SHDoDragDrop]
mov dword [ebp - 0x2178], eax
movzx ecx, byte [ebp - 0x694c]
mov edx, dword [ebp - 0x4580]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x2e14]
mov byte [edx], cl
movzx eax, word [ebp - 0x4518]
movzx ecx, word [ebp - 0x3e70]
sub eax, ecx
mov word [ebp - 0x3b78], ax
jmp 0x47bbf2
mov edx, dword [ebp - 0x6564]
sub edx, dword [ebp - 0x6388]
mov eax, dword [ebp - 0x3cbc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3cf4]
mov edx, dword [ecx]
add edx, dword [ebp - 0x4b98]
mov dword [ebp - 0x2864], edx
lea eax, [ebp - 0x37f2]
mov dword [ebp - 0x1cb8], eax
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x547c]
movzx ecx, word [eax]
and edx, ecx
mov word [ebp - 0x4518], dx
movsx edx, word [ebp - 0x6208]
movsx eax, word [ebp - 0x36ec]
sub edx, eax
movsx ecx, word [ebp - 0x474]
movsx eax, word [ebp - 0x5dc]
add ecx, eax
cmp edx, ecx
jg 0x4bf6e2
movsx ecx, byte [ebp + 0xc]
mov edx, dword [ebp - 0x1fe8]
movsx eax, byte [edx]
and ecx, eax
mov edx, dword [ebp - 0x5c7c]
movsx eax, byte [edx]
movsx edx, byte [ebp - 0x5196]
sub eax, edx
cmp ecx, eax
jl 0x47bd3c
mov ax, word [ebp - 0x5dc]
mov word [ebp - 0x274c], ax
lea ecx, [ebp + 0xc]
mov dword [ebp - 0xa58], ecx
mov edx, dword [ebp - 0x3314]
mov eax, dword [edx]
mov dword [ebp - 0x69fc], eax
cmp dword [ebp - 0x69fc], 0
je 0x47bcae
jmp 0x47bd23
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
mov dword [ebp - 0x6a00], edx
cmp dword [ebp - 0x6a00], 0x44fd
je 0x47bccb
jmp 0x47bce0
lea eax, [ebp - 0x42d8]
push eax
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
mov dword [ebp - 0xb7c], eax
jmp 0x47bd21
movzx edx, word [ebp - 0x4518]
mov eax, dword [ebp - 0x547c]
movzx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x40f4]
mov word [ecx], dx
mov edx, dword [ebp - 0x4580]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x61f1]
or eax, ecx
mov edx, dword [ebp - 0x693c]
mov byte [edx], al
lea eax, [ebp - 0x6388]
mov dword [ebp - 0x5200], eax
jmp 0x47bd37
mov ecx, dword [ebp - 0x28ec]
xor ecx, dword [ebp - 0x6564]
mov edx, dword [ebp - 0xb04]
mov dword [edx], ecx
jmp 0x47bdcd
mov al, byte [ebp - 0x5196]
mov byte [ebp - 0x6a04], al
cmp byte [ebp - 0x6a04], 0x1b
je 0x47bdba
cmp byte [ebp - 0x6a04], 0x7d
je 0x47bd5c
jmp 0x47bdcd
mov ecx, dword [ebp - 0x56b0]
mov edx, dword [ebp - 0x463c]
mov ecx, dword [ecx]
sar edx, cl
mov dword [ebp - 0x2c50], edx
mov eax, dword [ebp - 0x3c18]
and eax, dword [ebp - 0x4660]
mov ecx, dword [ebp - 0x56b0]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x6948]
push edx
mov eax, dword [ebp - 0x3cbc]
mov ecx, dword [eax]
push ecx
movzx edx, word [ebp - 0x5dc]
push edx
mov eax, dword [ebp - 0xa58]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0xa58]
movzx eax, byte [edx]
push eax
call fcn.00429f50
jmp 0x47bdcd
lea ecx, [ebp - 0x2d84]
push ecx
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
mov dword [ebp - 0x3c18], eax
mov edx, dword [ebp - 0x6388]
mov dword [ebp - 0x6a08], edx
cmp dword [ebp - 0x6a08], 0xe1a3d88d
je 0x47bdea
jmp 0x47be6b
mov eax, dword [ebp - 0x1fe8]
mov cl, byte [eax]
mov byte [ebp - 0x6a0c], cl
cmp byte [ebp - 0x6a0c], 0x28
je 0x47be03
jmp 0x47be45
movzx edx, word [ebp + 0x10]
movzx eax, word [ebp - 0x3e70]
sub edx, eax
mov word [ebp - 0x4518], dx
movzx ecx, byte [ebp - 0x3671]
mov edx, dword [ebp - 0x4580]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x2a94]
mov byte [edx], cl
mov eax, dword [ebp - 0x28ec]
add eax, dword [ebp - 0x6564]
mov dword [ebp - 0x6388], eax
jmp 0x47be66
lea ecx, [ebp - 0x4b50]
push ecx
lea edx, [ebp - 0x1218]
push edx
lea eax, [ebp - 0x3314]
push eax
call dword [sym.imp.ole32.dll_CoUnmarshalInterface]
mov dword [ebp - 0x2178], eax
jmp 0x4bf6c5
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x40f4]
movzx ecx, word [eax]
add edx, ecx
movzx eax, word [ebp - 0x3b78]
mov ecx, dword [ebp - 0x547c]
movzx ecx, word [ecx]
add eax, ecx
cmp edx, eax
jg 0x4bf616
mov edx, dword [ebp - 0x60ec]
mov al, byte [edx]
mov byte [ebp - 0x6a10], al
cmp byte [ebp - 0x6a10], 0x38
je 0x47beb5
jmp 0x47bf64
lea ecx, [ebp - 0x2810]
push ecx
push 0xdc
lea edx, [ebp - 0x6180]
push edx
call dword [sym.imp.ole32.dll_CoGetStdMarshalEx]
mov dword [ebp - 0x653c], eax
movzx eax, word [ebp - 0x4518]
mov dword [ebp - 0x6a14], eax
cmp dword [ebp - 0x6a14], 0xcea
je 0x47beef
jmp 0x47bf3c
mov ecx, dword [ebp - 0x1fe8]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x5c7c]
movsx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0xa58]
mov byte [ecx], dl
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x474]
sub eax, ecx
mov word [ebp - 0x5dc], ax
mov edx, dword [ebp - 0x1b64]
mov edx, dword [edx]
mov eax, dword [ebp - 0x547c]
mov cx, word [eax]
call fcn.004721c0
jmp 0x47bf5f
push 0xa2
lea ecx, [ebp - 0x1640]
push ecx
push fcn.004721c0
mov edx, dword [ebp - 0x67e8]
push edx
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0x535c], eax
jmp 0x4bf5fd
mov eax, dword [ebp - 0x5200]
mov ecx, dword [ebp - 0x1b64]
mov edx, dword [eax]
and edx, dword [ecx]
mov eax, dword [ebp - 0x3cbc]
mov dword [eax], edx
lea ecx, [ebp - 0x2864]
mov dword [ebp - 0x560c], ecx
mov edx, dword [ebp - 0x4b50]
movzx eax, word [edx]
movzx ecx, word [ebp + 0x10]
add eax, ecx
mov edx, dword [ebp - 0x4b50]
mov word [edx], ax
mov eax, dword [ebp - 0x60ec]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x1cb8]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x4580]
mov byte [edx], cl
mov eax, dword [ebp - 0xa58]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x5c7c]
movsx eax, byte [edx]
sub ecx, eax
movsx edx, byte [ebp + 0xc]
movsx eax, byte [ebp - 0x5196]
add edx, eax
cmp ecx, edx
jle 0x47c06c
movsx ecx, byte [ebp - 0x5196]
mov edx, dword [ebp - 0xa58]
movsx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x1fe8]
movsx eax, byte [edx]
movsx edx, byte [ebp + 0xc]
and eax, edx
cmp ecx, eax
jle 0x47c03a
mov eax, dword [ebp - 0x3cf4]
mov ecx, dword [ebp - 0x4b54]
mov edx, dword [eax]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x560c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3cbc]
mov edx, dword [ebp - 0x1b64]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x6388], eax
mov ecx, dword [ebp - 0x53b8]
mov edx, dword [ecx]
or edx, dword [ebp - 0x3fb8]
mov eax, dword [ebp - 0x52c8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2e14]
movzx edx, byte [ecx]
push edx
movzx eax, word [ebp - 0x4518]
push eax
call section..text
jmp 0x47c138
mov ecx, dword [ebp - 0x5c7c]
movsx edx, byte [ecx]
movsx ecx, byte [ebp + 0xc]
sar edx, cl
movsx eax, byte [ebp - 0x5196]
mov ecx, dword [ebp - 0x1fe8]
movsx ecx, byte [ecx]
add eax, ecx
cmp edx, eax
jle 0x47c0c3
lea edx, [ebp - 0x4778]
push edx
mov eax, dword [ebp - 0x3f64]
push eax
call dword [sym.imp.SHELL32.dll_SHQueryRecycleBinW]
mov dword [ebp - 0x4f04], eax
mov ecx, dword [ebp - 0x2ab8]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x3c18]
mov eax, dword [ebp - 0x52c8]
mov dword [eax], edx
jmp 0x47c138
mov ecx, dword [ebp - 0x60ec]
mov dl, byte [ecx]
mov byte [ebp - 0x4bc5], dl
movzx eax, word [ebp - 0x3e70]
movzx ecx, word [ebp - 0x4518]
add eax, ecx
mov edx, dword [ebp - 0x547c]
mov word [edx], ax
lea eax, [ebp - 0x6564]
mov dword [ebp - 0x554c], eax
mov dword [ebp - 0x5484], 0xafd3
mov ecx, dword [ebp - 0x52c8]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x344c]
mov dword [ebp - 0x3c18], edx
mov eax, dword [ebp - 0x56b0]
mov ecx, dword [eax]
mov dword [ebp - 0x11bc], ecx
mov edx, dword [ebp - 0x56b0]
mov eax, dword [ebp - 0x4b98]
add eax, dword [edx]
mov ecx, dword [ebp - 0x560c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x560c]
mov eax, dword [ebp - 0x3c18]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x3cf4]
mov edx, dword [ebp - 0x56b0]
mov ecx, dword [ecx]
sub ecx, dword [edx]
cmp eax, ecx
jl 0x47c277
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
mov dword [ebp - 0x6a18], eax
cmp dword [ebp - 0x6a18], 0
je 0x47c18b
cmp dword [ebp - 0x6a18], 0x18bf
je 0x47c222
jmp 0x47c277
mov ecx, dword [ebp - 0x1080]
mov edx, dword [ebp - 0x4660]
sub edx, dword [ecx]
mov dword [ebp - 0x1660], edx
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
mov dword [ebp - 0x6a1c], ecx
cmp dword [ebp - 0x6a1c], 0
je 0x47c1b9
jmp 0x47c20e
mov dx, word [ebp - 0x6208]
mov word [ebp - 0x12c0], dx
mov eax, dword [ebp - 0x5c7c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1fe8]
movsx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0xa58]
mov byte [edx], cl
lea eax, [ebp - 0x3671]
mov dword [ebp - 0x5370], eax
mov ecx, dword [ebp - 0x40f4]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x547c]
movzx ecx, word [eax]
sar edx, cl
mov ecx, dword [ebp - 0x4b50]
mov word [ecx], dx
jmp 0x47c220
mov edx, dword [ebp - 0x6564]
or edx, dword [ebp - 0x6388]
mov dword [ebp - 0x28ec], edx
jmp 0x47c277
mov eax, dword [ebp - 0x5200]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x6564]
mov edx, dword [ebp - 0x1bb4]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x2359]
movzx ecx, byte [ebp - 0x4bc5]
shl eax, cl
mov byte [ebp - 0x694c], al
lea ecx, [ebp - 0x65e4]
push ecx
call dword [sym.imp.COMDLG32.dll_ChooseFontW]
mov dword [ebp - 0xf8], eax
movzx edx, word [ebp + 0x10]
movzx eax, word [ebp - 0x3e70]
and edx, eax
mov ecx, dword [ebp - 0x547c]
mov word [ecx], dx
cmp dword [ebp - 0x10b4], 0x8334
jbe 0x47c694
mov edx, dword [ebp - 0x3314]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4f18]
add eax, dword [ecx]
mov edx, dword [ebp - 0x56b0]
mov dword [edx], eax
mov eax, dword [ebp - 0x3cbc]
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x554c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x56b0]
mov edx, dword [ebp - 0x3cf4]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x1080]
mov dword [ecx], eax
mov edx, dword [ebp - 0x578c]
movsx eax, word [edx]
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
add eax, edx
mov word [ebp + 8], ax
mov eax, dword [ebp - 0x5370]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x4580]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x37f2], cl
mov ecx, dword [ebp - 0x40f4]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x4b50]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x3e70], dx
mov edx, dword [ebp - 0x1b64]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1bb4]
add eax, dword [ecx]
mov edx, dword [ebp - 0x3cbc]
mov dword [edx], eax
mov eax, dword [ebp - 0x560c]
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x3cf4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x10b4]
sub ecx, 0x32
mov dword [ebp - 0x10b4], ecx
movsx edx, byte [ebp - 0x5196]
mov eax, dword [ebp - 0x1fe8]
movsx ecx, byte [eax]
or edx, ecx
mov eax, dword [ebp - 0x5c7c]
mov byte [eax], dl
movsx edx, word [ebp - 0x274c]
movsx ecx, word [ebp - 0x36ec]
shl edx, cl
mov eax, dword [ebp - 0x137c]
mov word [eax], dx
movzx edx, byte [ebp - 0x4bc5]
mov eax, dword [ebp - 0x4580]
movzx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0x4140]
mov byte [ecx], dl
mov edx, dword [ebp - 0x40f4]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x4518]
xor eax, ecx
mov word [ebp - 0x3e70], ax
mov edx, dword [ebp - 0x3cbc]
mov eax, dword [edx]
and eax, dword [ebp - 0x6564]
mov ecx, dword [ebp - 0x5200]
mov dword [ecx], eax
mov edx, dword [ebp - 0x56b0]
mov eax, dword [edx]
add eax, dword [ebp - 0x41d8]
mov ecx, dword [ebp - 0x560c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x56b0]
mov eax, dword [ebp - 0x52c8]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x3314]
mov dword [edx], ecx
mov eax, dword [ebp - 0x28ec]
sub eax, dword [ebp - 0x6564]
mov dword [ebp - 0x6388], eax
mov ecx, dword [ebp - 0x693c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x2e14]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x6948], dl
mov edx, dword [ebp - 0x4b50]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x40f4]
movzx edx, word [ecx]
and eax, edx
mov ecx, dword [ebp - 0x4b50]
mov word [ecx], ax
movzx edx, byte [ebp - 0x694c]
movzx eax, byte [ebp - 0x4bc5]
sub edx, eax
mov ecx, dword [ebp - 0x2a94]
mov byte [ecx], dl
mov edx, dword [ebp - 0x2ab8]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3c18]
mov ecx, dword [ebp - 0x3cf4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6564]
add edx, dword [ebp - 0x28ec]
mov dword [ebp - 0x6388], edx
mov eax, dword [ebp - 0x2ab8]
mov ecx, dword [ebp - 0x344c]
add ecx, dword [eax]
mov dword [ebp - 0x3c18], ecx
movsx edx, byte [ebp - 0x5196]
mov eax, dword [ebp - 0x5c7c]
movsx ecx, byte [eax]
or edx, ecx
mov byte [ebp + 0xc], dl
movzx edx, byte [ebp - 0x3671]
movzx eax, byte [ebp - 0x1b95]
xor edx, eax
mov byte [ebp - 0x4bc5], dl
mov ecx, dword [ebp - 0x547c]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x3b78]
shl edx, cl
mov word [ebp - 0x3e70], dx
movsx eax, byte [ebp + 0xc]
movsx ecx, byte [ebp - 0x5196]
sar eax, cl
mov ecx, dword [ebp - 0xa58]
mov byte [ecx], al
movsx edx, word [ebp - 0x5dc]
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
and edx, ecx
mov word [ebp - 0x36ec], dx
movsx edx, word [ebp - 0x36ec]
movsx eax, word [ebp - 0x5dc]
sub edx, eax
mov word [ebp + 8], dx
mov ecx, dword [ebp - 0x560c]
mov edx, dword [ecx]
mov dword [ebp - 0xb7c], edx
movzx eax, word [ebp - 0x4518]
movzx ecx, word [ebp - 0x3e70]
sub eax, ecx
mov edx, dword [ebp - 0x4b50]
mov word [edx], ax
mov eax, dword [ebp - 0x4580]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x2a94]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x61f1], cl
mov ecx, dword [ebp - 0x1b64]
mov edx, dword [ecx]
add edx, dword [ebp - 0x6388]
mov dword [ebp - 0x28ec], edx
mov eax, dword [ebp - 0x1fe8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0xa58]
movsx eax, byte [edx]
add ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ecx]
and edx, dword [ebp - 0x463c]
mov eax, dword [ebp - 0x4b54]
mov dword [eax], edx
mov ecx, dword [ebp - 0xb04]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x6388]
mov eax, dword [ebp - 0x1b64]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x6948]
mov edx, dword [ebp - 0x1cb8]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x60ec]
mov byte [edx], cl
movzx eax, word [ebp - 0x4518]
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x40f4]
mov word [ecx], ax
mov edx, dword [ebp - 0x1660]
or edx, dword [ebp - 0x2c50]
mov eax, dword [ebp - 0x4b54]
mov dword [eax], edx
mov edx, dword [ebp - 0x1660]
mov ecx, dword [ebp - 0x344c]
shl edx, cl
mov eax, dword [ebp - 0x53b8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x6388]
shr edx, cl
mov eax, dword [ebp - 0x1b64]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4b54]
mov edx, dword [ebp - 0x463c]
xor edx, dword [ecx]
mov dword [ebp - 0x1660], edx
mov eax, dword [ebp - 0x3c18]
and eax, dword [ebp - 0x3fb8]
mov ecx, dword [ebp - 0x4b54]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x5196]
mov eax, dword [ebp - 0x5c7c]
movsx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0xa58]
mov byte [eax], dl
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x12c0]
sub edx, eax
mov word [ebp + 8], dx
jmp 0x47c277
movzx ecx, word [ebp - 0x3b78]
mov edx, dword [ebp - 0x547c]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x4b50]
mov word [edx], cx
movzx eax, byte [ebp - 0x3671]
movzx ecx, byte [ebp - 0x2359]
add eax, ecx
mov edx, dword [ebp - 0x2a94]
mov byte [edx], al
mov eax, dword [ebp - 0x1bb4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x3cbc]
add ecx, dword [edx]
mov eax, dword [ebp - 0x554c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x2ab8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x3314]
add edx, dword [eax]
mov ecx, dword [ebp - 0x560c]
mov dword [ecx], edx
movzx edx, word [ebp - 0x3e70]
movzx eax, word [ebp - 0x4518]
and edx, eax
mov word [ebp - 0x3b78], dx
mov ecx, dword [ebp - 0x693c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x60ec]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x61f1], dl
mov edx, dword [ebp - 0x6564]
xor edx, dword [ebp - 0x28ec]
mov dword [ebp - 0x6388], edx
mov eax, dword [ebp - 0x53b8]
mov edx, dword [ebp - 0x463c]
mov ecx, dword [eax]
sar edx, cl
mov eax, dword [ebp - 0x4b54]
mov dword [eax], edx
mov edx, dword [ebp - 0x4b98]
mov ecx, dword [ebp - 0x3fb8]
shl edx, cl
mov eax, dword [ebp - 0x56b0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x554c]
mov edx, dword [ebp - 0x28ec]
or edx, dword [ecx]
mov eax, dword [ebp - 0x5200]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x694c]
mov edx, dword [ebp - 0x60ec]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x61f1], cl
movzx ecx, word [ebp - 0x3b78]
movzx edx, word [ebp - 0x3e70]
and ecx, edx
mov eax, dword [ebp - 0x4b50]
mov word [eax], cx
movzx ecx, byte [ebp - 0x37f2]
mov edx, dword [ebp - 0x4580]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x694c], cl
mov ecx, dword [ebp - 0x560c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x344c]
mov eax, dword [ebp - 0x4b54]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1fe8]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x5196]
add edx, eax
mov ecx, dword [ebp - 0x5c7c]
mov byte [ecx], dl
movsx edx, word [ebp + 8]
mov eax, dword [ebp - 0x578c]
movsx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x137c]
mov word [eax], dx
movzx ecx, word [ebp - 0x4518]
mov edx, dword [ebp - 0x4b50]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x547c]
mov word [edx], cx
movzx eax, byte [ebp - 0x4bc5]
mov ecx, dword [ebp - 0x693c]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x1cb8]
mov byte [ecx], al
mov edx, dword [ebp - 0x1b64]
mov eax, dword [ebp - 0x554c]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x28ec], ecx
mov edx, dword [ebp - 0x28ec]
and edx, dword [ebp - 0x6564]
mov eax, dword [ebp - 0x1bb4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3cf4]
mov edx, dword [ebp - 0xb7c]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x52c8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2a94]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x2359]
xor edx, eax
mov byte [ebp - 0x694c], dl
mov ecx, dword [ebp - 0x3314]
mov edx, dword [ebp - 0x2ab8]
mov eax, dword [ecx]
mov ecx, dword [edx]
sar eax, cl
mov ecx, dword [ebp - 0x4f18]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x61f1]
movzx eax, byte [ebp - 0x2359]
or edx, eax
mov byte [ebp - 0x3671], dl
mov ecx, dword [ebp - 0x547c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x4b50]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x3b78], dx
mov edx, dword [ebp - 0x554c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x6564]
mov ecx, dword [ebp - 0x3cbc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x11bc]
and edx, dword [ebp - 0x4b98]
mov eax, dword [ebp - 0x2ab8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x693c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x60ec]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x6948], dl
mov edx, dword [ebp - 0x3cbc]
mov eax, dword [edx]
sub eax, dword [ebp - 0x6388]
mov dword [ebp - 0x28ec], eax
movzx ecx, word [ebp + 0x10]
mov edx, dword [ebp - 0x40f4]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x4b50]
mov word [edx], cx
mov eax, dword [ebp - 0x5370]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x37f2]
add ecx, edx
mov eax, dword [ebp - 0x4580]
mov byte [eax], cl
movsx ecx, word [ebp - 0x36ec]
movsx edx, word [ebp - 0x5dc]
sub ecx, edx
mov word [ebp + 8], cx
movsx eax, byte [ebp + 0xc]
mov ecx, dword [ebp - 0xa58]
movsx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x5196], al
mov eax, dword [ebp - 0x5200]
mov ecx, dword [ebp - 0x6388]
add ecx, dword [eax]
mov dword [ebp - 0x28ec], ecx
mov edx, dword [ebp - 0x4f18]
mov eax, dword [ebp - 0x4660]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x3cf4]
mov dword [ecx], eax
movzx edx, word [ebp - 0x4518]
mov eax, dword [ebp - 0x4b50]
movzx ecx, word [eax]
xor edx, ecx
mov word [ebp - 0x3e70], dx
mov edx, dword [ebp - 0x1cb8]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x3671]
sar eax, cl
mov byte [ebp - 0x694c], al
mov ecx, dword [ebp - 0x5484]
sub ecx, 0xc8
mov dword [ebp - 0x5484], ecx
mov edx, dword [ebp - 0x3314]
mov eax, dword [ebp - 0xb7c]
or eax, dword [edx]
mov ecx, dword [ebp - 0x560c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6388]
mov ecx, dword [ebp - 0x6564]
shl edx, cl
mov dword [ebp - 0x28ec], edx
mov eax, dword [ebp - 0x3c18]
and eax, dword [ebp - 0x2c50]
mov ecx, dword [ebp - 0x2ab8]
mov dword [ecx], eax
cmp dword [ebp - 0x5484], 0x992b
ja 0x47c6af
cmp dword [ebp - 0x3e60], 0x8d51
jb 0x47cd34
mov edx, dword [ebp - 0x1660]
add edx, dword [ebp - 0x4b98]
mov eax, dword [ebp - 0x56b0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x40f4]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x4518], dx
movzx edx, byte [ebp - 0x3671]
movzx eax, byte [ebp - 0x1b95]
and edx, eax
mov byte [ebp - 0x37f2], dl
mov ecx, dword [ebp - 0x5200]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x28ec]
mov eax, dword [ebp - 0x554c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1080]
mov edx, dword [ebp - 0x3c18]
add edx, dword [ecx]
mov eax, dword [ebp - 0x56b0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x56b0]
add edx, dword [eax]
mov ecx, dword [ebp - 0x52c8]
mov dword [ecx], edx
movsx edx, byte [ebp - 0x5196]
mov eax, dword [ebp - 0xa58]
movsx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x1080]
mov eax, dword [ebp - 0x4b98]
add eax, dword [edx]
mov ecx, dword [ebp - 0x52c8]
mov dword [ecx], eax
movsx edx, byte [ebp + 0xc]
mov eax, dword [ebp - 0x1fe8]
movsx ecx, byte [eax]
shl edx, cl
mov byte [ebp - 0x5196], dl
mov ecx, dword [ebp - 0x3e60]
sub ecx, 0xc6
mov dword [ebp - 0x3e60], ecx
mov edx, dword [ebp - 0x578c]
movsx eax, word [edx]
mov ecx, dword [ebp - 0x137c]
movsx ecx, word [ecx]
sar eax, cl
mov word [ebp - 0x12c0], ax
mov edx, dword [ebp - 0x40f4]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
xor eax, edx
mov ecx, dword [ebp - 0x547c]
mov word [ecx], ax
mov edx, dword [ebp - 0x2e14]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x4bc5]
or eax, ecx
mov byte [ebp - 0x2359], al
mov edx, dword [ebp - 0x3cbc]
mov eax, dword [ebp - 0x28ec]
and eax, dword [edx]
mov dword [ebp - 0x6564], eax
mov ecx, dword [ebp - 0x5200]
mov edx, dword [ebp - 0x6564]
add edx, dword [ecx]
mov dword [ebp - 0x28ec], edx
movzx eax, byte [ebp - 0x2359]
movzx ecx, byte [ebp - 0x37f2]
add eax, ecx
mov byte [ebp - 0x6948], al
mov edx, dword [ebp - 0x40f4]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x3b78]
sub eax, ecx
mov edx, dword [ebp - 0x4b50]
mov word [edx], ax
mov eax, dword [ebp - 0x41d8]
add eax, dword [ebp - 0x344c]
mov ecx, dword [ebp - 0x4b54]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6564]
and edx, dword [ebp - 0x28ec]
mov eax, dword [ebp - 0x554c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2ab8]
mov edx, dword [ebp - 0x2864]
add edx, dword [ecx]
mov eax, dword [ebp - 0x560c]
mov dword [eax], edx
movsx ecx, byte [ebp - 0x5196]
mov edx, dword [ebp - 0x1fe8]
movsx eax, byte [edx]
sub ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x547c]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x3e70], dx
mov edx, dword [ebp - 0x60ec]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x61f1]
sub eax, ecx
mov edx, dword [ebp - 0x4580]
mov byte [edx], al
mov eax, dword [ebp - 0x1bb4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x28ec]
shr edx, cl
mov eax, dword [ebp - 0xb04]
mov dword [eax], edx
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
mov eax, dword [ebp - 0x578c]
movsx ecx, word [eax]
xor edx, ecx
mov word [ebp + 8], dx
movsx edx, word [ebp - 0x5dc]
movsx ecx, word [ebp - 0x36ec]
shl edx, cl
mov word [ebp + 8], dx
mov eax, dword [ebp - 0x5c7c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1fe8]
movsx eax, byte [edx]
or ecx, eax
mov edx, dword [ebp - 0x5c7c]
mov byte [edx], cl
movzx eax, byte [ebp - 0x4bc5]
movzx ecx, byte [ebp - 0x37f2]
and eax, ecx
mov edx, dword [ebp - 0x693c]
mov byte [edx], al
mov eax, dword [ebp - 0x4b50]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x4518]
add ecx, edx
mov eax, dword [ebp - 0x547c]
mov word [eax], cx
mov ecx, dword [ebp - 0x1b64]
mov edx, dword [ecx]
add edx, dword [ebp - 0x6388]
mov dword [ebp - 0x28ec], edx
mov eax, dword [ebp - 0xa58]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x5196]
sub ecx, edx
mov byte [ebp + 0xc], cl
jmp 0x47ca57
mov eax, dword [ebp - 0x4140]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x2e14]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x693c]
movzx eax, byte [edx]
mov edx, dword [ebp - 0x1cb8]
movzx edx, byte [edx]
add eax, edx
cmp ecx, eax
jg 0x47ce2f
movsx eax, byte [ebp + 0xc]
movsx ecx, byte [ebp - 0x5196]
add eax, ecx
mov edx, dword [ebp - 0xa58]
movsx ecx, byte [edx]
mov edx, dword [ebp - 0x1fe8]
movsx edx, byte [edx]
sub ecx, edx
cmp eax, ecx
jne 0x47ce2a
lea eax, [ebp - 0x344c]
mov dword [ebp - 0x5208], eax
mov ecx, dword [ebp - 0xb04]
mov edx, dword [ebp - 0x6564]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x1b64]
mov dword [eax], edx
mov ecx, dword [ebp - 0x53b8]
mov edx, dword [ecx]
mov dword [ebp - 0x41c], edx
movzx eax, byte [ebp - 0x694c]
mov ecx, dword [ebp - 0x5370]
movzx ecx, byte [ecx]
sar eax, cl
mov edx, dword [ebp - 0x4140]
mov byte [edx], al
mov eax, dword [ebp - 0x40f4]
movzx edx, word [eax]
movzx ecx, word [ebp - 0x4518]
shl edx, cl
mov eax, dword [ebp - 0x40f4]
mov word [eax], dx
mov ecx, dword [ebp - 0x4b54]
mov edx, dword [ecx]
mov dword [ebp - 0x3360], edx
mov dword [ebp - 0x4afc], 0x8987
mov eax, dword [ebp - 0xb04]
mov ecx, dword [ebp - 0x28ec]
or ecx, dword [eax]
mov edx, dword [ebp - 0x1b64]
mov dword [edx], ecx
mov dword [ebp - 0x1680], 0x4af3
jmp 0x47cf39
mov eax, dword [ebp - 0x41d8]
and eax, dword [ebp - 0x11bc]
mov ecx, dword [ebp - 0x53b8]
mov edx, dword [ecx]
add edx, dword [ebp - 0x1660]
cmp eax, edx
jl 0x47ce79
lea eax, [ebp - 0x2d84]
push eax
lea ecx, [ebp - 0x2810]
push ecx
call dword [sym.imp.ole32.dll_CoGetCallContext]
mov dword [ebp - 0x2e6c], eax
mov edx, dword [ebp - 0x2c50]
sub edx, dword [ebp - 0x11bc]
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x1080]
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x56b0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1fe8]
mov dl, byte [ecx]
mov byte [ebp - 0x6a20], dl
cmp byte [ebp - 0x6a20], 0xe
je 0x47cf1d
cmp byte [ebp - 0x6a20], 0x52
je 0x47ceb6
jmp 0x47cf39
push 0x1f
lea eax, [ebp - 0x4b50]
push eax
call dword [sym.imp.SHELL32.dll_SHGetSettings]
mov ecx, dword [ebp - 0x60ec]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x2a94]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x5370]
mov byte [eax], dl
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x4518]
add edx, eax
mov word [ebp - 0x3b78], dx
mov ecx, dword [ebp - 0x5524]
push ecx
mov edx, dword [ebp - 0x6818]
push edx
mov eax, dword [ebp - 0x5524]
push eax
call dword [sym.imp.SHELL32.dll_FindExecutableW]
mov dword [ebp - 0x13ec], eax
jmp 0x47cf39
mov ecx, dword [ebp - 0x5c7c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xa58]
movsx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x1fe8]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1cb8]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x693c]
movzx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0x60ec]
movzx ecx, byte [eax]
mov eax, dword [ebp - 0x2e14]
movzx eax, byte [eax]
sub ecx, eax
cmp edx, ecx
jg 0x4bf551
movzx ecx, word [ebp + 0x10]
movzx edx, word [ebp - 0x4518]
sub ecx, edx
mov word [ebp - 0x35b0], cx
mov eax, dword [ebp - 0x5370]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x60ec]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x4580]
mov byte [edx], cl
mov eax, dword [ebp - 0xb04]
mov ecx, dword [ebp - 0x28ec]
add ecx, dword [eax]
mov dword [ebp - 0x6564], ecx
mov edx, dword [ebp - 0x53b8]
mov eax, dword [ebp - 0x463c]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x3314]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3314]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1080]
add eax, dword [ecx]
mov dword [ebp - 0xb7c], eax
mov edx, dword [ebp - 0x554c]
mov eax, dword [ebp - 0x1b64]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x3cbc]
mov dword [edx], ecx
movzx eax, word [ebp - 0x4518]
movzx ecx, word [ebp - 0x3e70]
and eax, ecx
mov edx, dword [ebp - 0x547c]
mov word [edx], ax
mov eax, dword [ebp - 0x5370]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x4580]
movzx eax, byte [edx]
or ecx, eax
mov edx, dword [ebp - 0x2e14]
mov byte [edx], cl
mov eax, dword [ebp - 0x4b54]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x463c]
shl edx, cl
mov eax, dword [ebp - 0x52c8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ebp - 0x41d8]
mov ecx, dword [ecx]
sar edx, cl
mov eax, dword [ebp - 0x2ab8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x28ec]
xor ecx, dword [ebp - 0x6388]
mov edx, dword [ebp - 0x3cbc]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1680]
add eax, 0x4c
mov dword [ebp - 0x1680], eax
mov ecx, dword [ebp - 0xb7c]
add ecx, dword [ebp - 0x3fb8]
mov edx, dword [ebp - 0x4f18]
mov dword [edx], ecx
mov eax, dword [ebp - 0x693c]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x37f2]
add ecx, edx
mov byte [ebp - 0x6948], cl
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x12c0]
and ecx, edx
mov eax, dword [ebp - 0x137c]
mov word [eax], cx
movsx ecx, byte [ebp - 0x5196]
mov edx, dword [ebp - 0xa58]
movsx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x5c7c]
mov byte [edx], cl
movzx eax, word [ebp - 0x4518]
movzx ecx, word [ebp - 0x3b78]
sub eax, ecx
mov edx, dword [ebp - 0x547c]
mov word [edx], ax
mov eax, dword [ebp - 0x2a94]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x37f2]
sub ecx, edx
mov byte [ebp - 0x61f1], cl
mov eax, dword [ebp - 0x6564]
add eax, dword [ebp - 0x6388]
mov ecx, dword [ebp - 0x5200]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4660]
sub edx, dword [ebp - 0x463c]
mov dword [ebp - 0x1660], edx
movzx eax, byte [ebp - 0x694c]
mov ecx, dword [ebp - 0x4580]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x1cb8]
mov byte [ecx], al
movzx edx, word [ebp - 0x3b78]
movzx eax, word [ebp - 0x3e70]
sub edx, eax
mov ecx, dword [ebp - 0x4b50]
mov word [ecx], dx
mov edx, dword [ebp - 0x6388]
sub edx, dword [ebp - 0x28ec]
mov eax, dword [ebp - 0x1b64]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4b54]
mov edx, dword [ebp - 0x4660]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x3314]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2ab8]
mov edx, dword [ebp - 0x3fb8]
or edx, dword [ecx]
mov eax, dword [ebp - 0x53b8]
mov dword [eax], edx
mov edx, dword [ebp - 0x6564]
mov ecx, dword [ebp - 0x28ec]
shr edx, cl
mov eax, dword [ebp - 0x3cbc]
mov dword [eax], edx
movzx edx, word [ebp - 0x3e70]
movzx ecx, word [ebp - 0x4518]
shl edx, cl
mov word [ebp - 0x3b78], dx
cmp dword [ebp - 0x1680], 0x584f
jb 0x47cf7d
movzx eax, word [ebp - 0x35b0]
mov dword [ebp - 0x6a24], eax
cmp dword [ebp - 0x6a24], 0x6ea
je 0x47d1ff
jmp 0x47d2d4
movzx ecx, byte [ebp - 0x6948]
mov edx, dword [ebp - 0x60ec]
movzx eax, byte [edx]
and ecx, eax
mov edx, dword [ebp - 0x4140]
mov byte [edx], cl
mov eax, dword [ebp - 0x554c]
mov ecx, dword [eax]
mov dword [ebp - 0x6a28], ecx
cmp dword [ebp - 0x6a28], 0xad93c45f
je 0x47d2b9
cmp dword [ebp - 0x6a28], 0xb4b4d2d3
je 0x47d248
jmp 0x47d2cf
mov edx, dword [ebp - 0x5200]
mov eax, dword [edx]
add eax, dword [ebp - 0x6564]
mov ecx, dword [ebp - 0x554c]
mov edx, dword [ebp - 0x6388]
sub edx, dword [ecx]
cmp eax, edx
ja 0x47d281
mov eax, dword [ebp - 0x5370]
movzx ecx, byte [eax]
push ecx
movzx edx, byte [ebp - 0x5196]
push edx
call fcn.004d1cd0
jmp 0x47d2b7
movzx eax, word [ebp - 0x3b78]
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
and eax, edx
mov ecx, dword [ebp - 0x40f4]
movzx edx, word [ecx]
mov ecx, dword [ebp - 0x547c]
movzx ecx, word [ecx]
sub edx, ecx
cmp eax, edx
jne 0x47d2b7
call dword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
mov dword [ebp - 0x28ec], eax
jmp 0x47d2cf
mov edx, dword [ebp - 0x56b0]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3360]
mov ecx, dword [ebp - 0x4b54]
mov dword [ecx], eax
jmp 0x47d354
mov edx, dword [ebp - 0x578c]
movsx eax, word [edx]
mov dword [ebp - 0x6a2c], eax
cmp dword [ebp - 0x6a2c], 0x4508
je 0x47d2f1
jmp 0x47d354
movsx ecx, word [ebp - 0x474]
mov dword [ebp - 0x6a30], ecx
cmp dword [ebp - 0x6a30], 0x13d2
je 0x47d30c
jmp 0x47d339
mov edx, dword [ebp - 0x4660]
add edx, dword [ebp - 0x2c50]
mov dword [ebp - 0x344c], edx
mov eax, dword [ebp - 0x693c]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x4b50]
movzx eax, word [edx]
push eax
call section..text
jmp 0x47d354
movsx ecx, word [ebp - 0x274c]
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x578c]
mov word [edx], cx
mov eax, dword [ebp - 0x60ec]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x4140]
movzx ecx, byte [eax]
add edx, ecx
movzx eax, byte [ebp - 0x2359]
movzx ecx, byte [ebp - 0x1b95]
sar eax, cl
cmp edx, eax
je 0x47d3d8
movsx ecx, byte [ebp + 0xc]
mov edx, dword [ebp - 0x5c7c]
movsx eax, byte [edx]
xor ecx, eax
mov byte [ebp - 0x5196], cl
mov ecx, dword [ebp - 0x5248]
push ecx
mov edx, dword [ebp - 0x4614]
push edx
mov eax, dword [ebp - 0x580c]
push eax
mov ecx, dword [ebp - 0x57a0]
push ecx
call dword [sym.imp.SHELL32.dll_ShellAboutW]
mov dword [ebp - 0x11bc], eax
call fcn.0046d040
movzx edx, byte [ebp - 0x1b95]
mov eax, dword [ebp - 0x4580]
movzx ecx, byte [eax]
or edx, ecx
mov eax, dword [ebp - 0x693c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ebp - 0x3fb8]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x41c]
and eax, dword [ebp - 0x344c]
cmp edx, eax
jge 0x47d49b
movsx ecx, byte [ebp - 0x5196]
movsx edx, byte [ebp + 0xc]
and ecx, edx
mov eax, dword [ebp - 0x5c7c]
movsx edx, byte [eax]
mov eax, dword [ebp - 0x1fe8]
movsx eax, byte [eax]
sub edx, eax
cmp ecx, edx
jl 0x47d439
mov ecx, dword [ebp - 0xb04]
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x554c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x53b8]
mov eax, dword [ebp - 0x4660]
sub eax, dword [edx]
mov dword [ebp - 0x41d8], eax
lea ecx, [ebp - 0x52c8]
push ecx
push 0x85
lea edx, [ebp - 0x2810]
push edx
call dword [sym.imp.ole32.dll_CoGetStdMarshalEx]
mov dword [ebp - 0x4478], eax
mov eax, dword [ebp - 0x2ab8]
mov ecx, dword [ebp - 0x2c50]
add ecx, dword [eax]
mov edx, dword [ebp - 0x1080]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3c18]
mov ecx, dword [ebp - 0x3fb8]
shl eax, cl
mov dword [ebp - 0x344c], eax
jmp 0x4bf496
cmp dword [ebp - 0x2d0], 0x1c66
jb 0x47d637
mov ecx, dword [ebp - 0x547c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x35b0]
xor edx, eax
mov word [ebp - 0x4518], dx
mov ecx, dword [ebp - 0x4580]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x6948]
or edx, eax
mov ecx, dword [ebp - 0x693c]
mov byte [ecx], dl
mov edx, dword [ebp - 0x3cbc]
mov eax, dword [ebp - 0x1bb4]
mov edx, dword [edx]
mov ecx, dword [eax]
shr edx, cl
mov eax, dword [ebp - 0xb04]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5370]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x4bc5]
and edx, eax
mov byte [ebp - 0x6948], dl
movsx ecx, word [ebp - 0x474]
mov edx, dword [ebp - 0x578c]
movsx eax, word [edx]
add ecx, eax
mov word [ebp + 8], cx
mov ecx, dword [ebp - 0x6388]
sub ecx, dword [ebp - 0x6564]
mov dword [ebp - 0x28ec], ecx
movzx edx, byte [ebp - 0x4bc5]
movzx eax, byte [ebp - 0x6948]
add edx, eax
mov byte [ebp - 0x1b95], dl
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x547c]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x4b50]
mov word [eax], dx
movsx ecx, byte [ebp - 0x5196]
mov edx, dword [ebp - 0xa58]
movsx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x1fe8]
mov byte [edx], cl
movsx eax, word [ebp + 8]
movsx ecx, word [ebp - 0x36ec]
and eax, ecx
mov edx, dword [ebp - 0x137c]
mov word [edx], ax
mov eax, dword [ebp - 0x554c]
mov ecx, dword [ebp - 0x6388]
add ecx, dword [eax]
mov dword [ebp - 0x6564], ecx
mov edx, dword [ebp - 0x2d0]
sub edx, 7
mov dword [ebp - 0x2d0], edx
mov eax, dword [ebp - 0x4f18]
mov ecx, dword [ebp - 0x2ab8]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x53b8]
mov dword [eax], edx
movzx ecx, word [ebp - 0x3b78]
movzx edx, word [ebp - 0x4518]
sub ecx, edx
mov eax, dword [ebp - 0x547c]
mov word [eax], cx
movzx edx, byte [ebp - 0x2359]
mov eax, dword [ebp - 0x2e14]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp - 0x6948], dl
mov ecx, dword [ebp - 0x5c7c]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x5196]
xor edx, eax
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x28ec]
shr edx, cl
mov dword [ebp - 0x6564], edx
jmp 0x47d49b
mov eax, dword [ebp - 0x1660]
or eax, dword [ebp - 0x4660]
mov dword [ebp - 0x3360], eax
mov ecx, dword [ebp - 0x3cf4]
mov edx, dword [ebp - 0x52c8]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x11bc], eax
cmp dword [ebp - 0x3d5c], 0x3576
ja 0x47d959
mov ecx, dword [ebp - 0x5370]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x4580]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x2e14]
mov byte [eax], dl
movzx ecx, word [ebp - 0x3b78]
movzx edx, word [ebp - 0x35b0]
sub ecx, edx
mov eax, dword [ebp - 0x4b50]
mov word [eax], cx
mov ecx, dword [ebp - 0x3cbc]
mov edx, dword [ecx]
add edx, dword [ebp - 0x6564]
mov dword [ebp - 0x28ec], edx
mov eax, dword [ebp - 0x56b0]
mov ecx, dword [ebp - 0xb7c]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x1080]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x61f1]
mov ecx, dword [ebp - 0x693c]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x694c], al
mov eax, dword [ebp - 0x560c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x2ab8]
add ecx, dword [edx]
mov eax, dword [ebp - 0x560c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x3c18]
and ecx, dword [ebp - 0x3360]
mov edx, dword [ebp - 0x53b8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
mov edx, dword [ebp - 0x578c]
movsx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x137c]
mov word [edx], cx
mov eax, dword [ebp - 0xa58]
movsx edx, byte [eax]
movsx ecx, byte [ebp - 0x5196]
sar edx, cl
mov eax, dword [ebp - 0x5c7c]
mov byte [eax], dl
movzx ecx, byte [ebp - 0x2359]
mov edx, dword [ebp - 0x4140]
movzx eax, byte [edx]
or ecx, eax
mov edx, dword [ebp - 0x60ec]
mov byte [edx], cl
mov eax, dword [ebp - 0x4b50]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x3e70]
xor ecx, edx
mov eax, dword [ebp - 0x40f4]
mov word [eax], cx
mov ecx, dword [ebp - 0x3cbc]
mov edx, dword [ebp - 0x6564]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0x6388], edx
mov eax, dword [ebp - 0x5200]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x3cbc]
add ecx, dword [edx]
mov eax, dword [ebp - 0x554c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x2e14]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x5370]
movzx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0x2e14]
mov byte [eax], dl
movzx ecx, word [ebp - 0x35b0]
movzx edx, word [ebp - 0x3e70]
sub ecx, edx
mov word [ebp + 0x10], cx
mov eax, dword [ebp - 0x52c8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x2c50]
mov edx, dword [ebp - 0x4b54]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5200]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xb04]
add ecx, dword [edx]
mov eax, dword [ebp - 0x1b64]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x52c8]
mov edx, dword [ecx]
add edx, dword [ebp - 0x3360]
mov eax, dword [ebp - 0x4f18]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2ab8]
mov edx, dword [ebp - 0x560c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x4f18]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4b50]
movzx eax, word [edx]
movzx ecx, word [ebp + 0x10]
sub eax, ecx
mov word [ebp - 0x35b0], ax
mov edx, dword [ebp - 0x4580]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x693c]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x60ec]
mov byte [ecx], al
mov edx, dword [ebp - 0x28ec]
and edx, dword [ebp - 0x6388]
mov eax, dword [ebp - 0x1b64]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1080]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x2864]
mov eax, dword [ebp - 0x1080]
mov dword [eax], edx
mov ecx, dword [ebp - 0xa58]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x5c7c]
movsx ecx, byte [eax]
or edx, ecx
mov byte [ebp + 0xc], dl
movsx edx, word [ebp + 8]
movsx ecx, word [ebp - 0x474]
sar edx, cl
mov eax, dword [ebp - 0x137c]
mov word [eax], dx
movzx edx, byte [ebp - 0x61f1]
movzx ecx, byte [ebp - 0x4bc5]
shl edx, cl
mov byte [ebp - 0x2359], dl
mov eax, dword [ebp - 0x3d5c]
add eax, 0x8c
mov dword [ebp - 0x3d5c], eax
movzx ecx, word [ebp - 0x3b78]
movzx edx, word [ebp + 0x10]
sub ecx, edx
mov eax, dword [ebp - 0x40f4]
mov word [eax], cx
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x6388]
mov eax, dword [ebp - 0x1bb4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5208]
mov edx, dword [ecx]
and edx, dword [ebp - 0x344c]
mov eax, dword [ebp - 0x3314]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2ab8]
mov edx, dword [ecx]
add edx, dword [ebp - 0x2c50]
mov dword [ebp - 0x4660], edx
mov eax, dword [ebp - 0xb04]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x6388]
mov edx, dword [ebp - 0x554c]
mov dword [edx], ecx
jmp 0x47d65f
lea eax, [ebp - 0x2c50]
mov dword [ebp - 0x6464], eax
movzx ecx, word [ebp + 0x10]
movzx edx, word [ebp - 0x4518]
sub ecx, edx
mov word [ebp - 0x3b78], cx
cmp dword [ebp - 0x2868], 0xb16e
ja 0x47db8f
mov eax, dword [ebp - 0x2e14]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x1b95]
add ecx, edx
mov byte [ebp - 0x6948], cl
mov eax, dword [ebp - 0x6464]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x56b0]
add ecx, dword [edx]
mov dword [ebp - 0x11bc], ecx
mov eax, dword [ebp - 0x28ec]
sub eax, dword [ebp - 0x6388]
mov ecx, dword [ebp - 0xb04]
mov dword [ecx], eax
mov edx, dword [ebp - 0x56b0]
mov eax, dword [ebp - 0x3360]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x560c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3cf4]
mov eax, dword [ebp - 0x3fb8]
add eax, dword [edx]
mov ecx, dword [ebp - 0x5208]
mov dword [ecx], eax
mov edx, dword [ebp - 0x547c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x3e70]
or eax, ecx
mov edx, dword [ebp - 0x4b50]
mov word [edx], ax
mov eax, dword [ebp - 0x5370]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x60ec]
movzx ecx, byte [eax]
shl edx, cl
mov ecx, dword [ebp - 0x1cb8]
mov byte [ecx], dl
movsx edx, byte [ebp - 0x5196]
mov eax, dword [ebp - 0x1fe8]
movsx ecx, byte [eax]
sar edx, cl
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x2868]
add ecx, 0x1d
mov dword [ebp - 0x2868], ecx
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x12c0]
xor eax, ecx
mov edx, dword [ebp - 0x137c]
mov word [edx], ax
mov eax, dword [ebp - 0x28ec]
and eax, dword [ebp - 0x6388]
mov ecx, dword [ebp - 0x554c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3314]
mov eax, dword [ebp - 0x41d8]
add eax, dword [edx]
mov dword [ebp - 0x463c], eax
movzx ecx, word [ebp - 0x3e70]
movzx edx, word [ebp - 0x35b0]
sub ecx, edx
mov eax, dword [ebp - 0x40f4]
mov word [eax], cx
movzx ecx, byte [ebp - 0x3671]
mov edx, dword [ebp - 0x60ec]
movzx eax, byte [edx]
and ecx, eax
mov edx, dword [ebp - 0x5370]
mov byte [edx], cl
mov eax, dword [ebp - 0x6564]
sub eax, dword [ebp - 0x6388]
mov dword [ebp - 0x28ec], eax
mov ecx, dword [ebp - 0x1080]
mov edx, dword [ebp - 0x2c50]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x2ab8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x41c]
sub ecx, dword [ebp - 0x2c50]
mov edx, dword [ebp - 0x52c8]
mov dword [edx], ecx
movzx eax, word [ebp - 0x35b0]
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
add eax, edx
mov word [ebp + 0x10], ax
mov eax, dword [ebp - 0x40f4]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x4b50]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0x35b0], cx
movzx ecx, byte [ebp - 0x2359]
movzx edx, byte [ebp - 0x37f2]
xor ecx, edx
mov eax, dword [ebp - 0x1cb8]
mov byte [eax], cl
movsx edx, byte [ebp - 0x5196]
mov eax, dword [ebp - 0xa58]
movsx ecx, byte [eax]
shl edx, cl
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x344c]
mov ecx, dword [ebp - 0x41c]
sar edx, cl
mov dword [ebp - 0x463c], edx
mov eax, dword [ebp - 0x554c]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x6388]
mov dword [ebp - 0x6564], ecx
jmp 0x47d979
lea edx, [ebp - 0x41c]
mov dword [ebp - 0x4058], edx
mov eax, dword [ebp - 0x578c]
movsx ecx, word [eax]
mov dword [ebp - 0x6a34], ecx
cmp dword [ebp - 0x6a34], 0x719f
je 0x47dbbb
jmp 0x47dc44
lea edx, [ebp - 0x28ec]
push edx
lea eax, [ebp - 0x5524]
push eax
call dword [sym.imp.SHELL32.dll_ILFindChild]
mov dword [ebp - 0x4118], eax
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ecx]
and edx, dword [ebp - 0x2c50]
mov eax, dword [ebp - 0x5208]
mov dword [eax], edx
mov ecx, dword [ebp - 0x344c]
mov dword [ebp - 0x6a38], ecx
cmp dword [ebp - 0x6a38], 0x612a72b8
je 0x47dc2a
cmp dword [ebp - 0x6a38], 0x7a2caba1
je 0x47dc11
jmp 0x47dc3f
mov edx, dword [ebp - 0x4140]
movzx eax, byte [edx]
push eax
movzx ecx, word [ebp - 0x35b0]
push ecx
call section..text
jmp 0x47dc3f
movsx edx, byte [ebp + 0xc]
mov eax, dword [ebp - 0xa58]
movsx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x5196], dl
jmp 0x47dcee
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
mov dword [ebp - 0x6a3c], eax
cmp dword [ebp - 0x6a3c], 0x5a2e
je 0x47dc61
jmp 0x47dcb2
mov ecx, dword [ebp - 0x1660]
mov dword [ebp - 0x6a40], ecx
cmp dword [ebp - 0x6a40], 0x65e07546
je 0x47dc87
cmp dword [ebp - 0x6a40], 0x7cbfff20
je 0x47dca4
jmp 0x47dcb0
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x474]
add eax, ecx
mov edx, dword [ebp - 0x578c]
mov word [edx], ax
jmp 0x47dcb0
call dword [sym.imp.ole32.dll_CoRevertToSelf]
mov dword [ebp - 0x2178], eax
jmp 0x47dcee
mov eax, dword [ebp - 0x60ec]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x4580]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x2a94]
mov byte [edx], cl
mov ax, word [ebp - 0x3b78]
mov word [ebp - 0x5b60], ax
mov ecx, dword [ebp - 0x28ec]
add ecx, dword [ebp - 0x6564]
mov dword [ebp - 0x6388], ecx
mov edx, dword [ebp - 0x560c]
mov eax, dword [ebp - 0x3360]
and eax, dword [edx]
mov ecx, dword [ebp - 0x6464]
mov dword [ecx], eax
lea edx, [ebp - 0x35b0]
mov dword [ebp - 0x38cc], edx
movsx eax, word [ebp - 0x36ec]
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
sub eax, edx
movsx ecx, word [ebp + 8]
movsx edx, word [ebp - 0x274c]
add ecx, edx
cmp eax, ecx
jge 0x47ddbc
movzx eax, byte [ebp - 0x2359]
movzx ecx, byte [ebp - 0x37f2]
xor eax, ecx
mov edx, dword [ebp - 0x1cb8]
mov byte [edx], al
mov eax, dword [ebp - 0x5c7c]
mov cl, byte [eax]
mov byte [ebp - 0x6a44], cl
cmp byte [ebp - 0x6a44], 0x55
je 0x47dd68
jmp 0x47ddab
mov edx, dword [ebp - 0x3cbc]
mov eax, dword [edx]
or eax, dword [ebp - 0x6564]
mov dword [ebp - 0x6388], eax
mov ecx, dword [ebp - 0x52c8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3360]
sar edx, cl
mov eax, dword [ebp - 0x5208]
mov dword [eax], edx
movsx edx, byte [ebp - 0x5196]
mov eax, dword [ebp - 0xa58]
movsx ecx, byte [eax]
shl edx, cl
mov byte [ebp + 0xc], dl
jmp 0x47ddb7
call dword [sym.imp.ole32.dll_CoTestCancel]
mov dword [ebp - 0x2178], eax
jmp 0x47df35
mov ecx, dword [ebp - 0x560c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x1660]
mov eax, dword [ebp - 0x5208]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x52c8]
add ecx, dword [eax]
cmp edx, ecx
jne 0x47df0e
movzx ecx, byte [ebp - 0x61f1]
mov edx, dword [ebp - 0x4140]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x2a94]
movzx eax, byte [edx]
mov edx, dword [ebp - 0x60ec]
movzx edx, byte [edx]
sub eax, edx
cmp ecx, eax
jle 0x47df02
mov eax, dword [ebp - 0x1b64]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x28ec]
mov edx, dword [ebp - 0x554c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5c7c]
mov cl, byte [eax]
mov byte [ebp - 0x6a48], cl
cmp byte [ebp - 0x6a48], 0x2f
je 0x47de4f
cmp byte [ebp - 0x6a48], 0x7d
je 0x47deec
jmp 0x47df02
mov edx, dword [ebp - 0x1cd4]
push edx
mov eax, dword [ebp - 0x1cd8]
push eax
call dword [sym.imp.ole32.dll_CoRevokeInitializeSpy]
mov dword [ebp - 0x2178], eax
mov ecx, dword [ebp - 0x547c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x4518]
add edx, eax
mov word [ebp - 0x35b0], dx
movzx ecx, byte [ebp - 0x4bc5]
mov edx, dword [ebp - 0x5370]
movzx eax, byte [edx]
or ecx, eax
mov edx, dword [ebp - 0x2e14]
mov byte [edx], cl
lea eax, [ebp - 0x38e8]
push eax
push 0x5b
lea ecx, [ebp - 0x4b54]
push ecx
push 0x8e
push 0x1e
lea edx, [ebp - 0x1640]
push edx
lea eax, [ebp - 0x1344]
push eax
lea ecx, [ebp - 0xba8]
push ecx
call dword [sym.imp.ole32.dll_CoGetInstanceFromFile]
mov dword [ebp - 0x1a08], eax
mov edx, dword [ebp - 0x560c]
mov eax, dword [edx]
xor eax, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x53b8]
mov dword [ecx], eax
jmp 0x47df02
mov edx, dword [ebp - 0x3314]
mov eax, dword [ebp - 0x41d8]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x11bc], eax
mov dword [ebp - 0x1790], 0x35c8
jmp 0x47df35
call dword [sym.imp.ole32.dll_CoTestCancel]
mov dword [ebp - 0x4f04], eax
movsx edx, word [ebp - 0x6208]
mov eax, dword [ebp - 0x578c]
movsx ecx, word [eax]
sar edx, cl
mov ecx, dword [ebp - 0x137c]
mov word [ecx], dx
mov dword [ebp - 0x4ea4], 0x3507
movzx edx, word [ebp - 0x3b78]
mov dword [ebp - 0x6a4c], edx
cmp dword [ebp - 0x6a4c], 0
je 0x47e027
cmp dword [ebp - 0x6a4c], 0x233
je 0x47df6a
jmp 0x47e05f
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
mov edx, dword [ebp - 0x578c]
movsx eax, word [edx]
and ecx, eax
movsx edx, word [ebp - 0x12c0]
movsx eax, word [ebp - 0x36ec]
sub edx, eax
cmp ecx, edx
jne 0x47dfca
movsx ecx, byte [ebp + 0xc]
mov edx, dword [ebp - 0xa58]
movsx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x5196], cl
call fcn.0046d040
push 1
lea ecx, [ebp - 0x1cd8]
push ecx
lea edx, [ebp - 0x1ba0]
push edx
call dword [sym.imp.SHELL32.dll_ILAppendID]
mov dword [ebp - 0x4858], eax
jmp 0x47e025
mov eax, dword [ebp - 0x2a94]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x6948]
add ecx, edx
mov eax, dword [ebp - 0x5370]
movzx edx, byte [eax]
movzx eax, byte [ebp - 0x1b95]
sub edx, eax
cmp ecx, edx
jne 0x47e025
movzx ecx, word [ebp - 0x5b60]
mov edx, dword [ebp - 0x38cc]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x40f4]
mov word [edx], cx
movzx eax, byte [ebp - 0x4bc5]
mov ecx, dword [ebp - 0x4580]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x6948], al
jmp 0x47e05f
mov eax, dword [ebp - 0xb04]
mov ecx, dword [ebp - 0x1b64]
mov edx, dword [eax]
and edx, dword [ecx]
mov dword [ebp - 0x6564], edx
lea eax, [ebp - 0x6564]
mov dword [ebp - 0x5c0], eax
mov ecx, dword [ebp - 0x3cf4]
mov edx, dword [ecx]
add edx, dword [ebp - 0x3c18]
mov eax, dword [ebp - 0x3cf4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x560c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x41c]
sar edx, cl
mov eax, dword [ebp - 0x1080]
mov dword [eax], edx
lea ecx, [ebp - 0x3360]
mov dword [ebp - 0x5194], ecx
mov edx, dword [ebp - 0x547c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x3e70]
shl eax, cl
mov word [ebp - 0x35b0], ax
mov ecx, dword [ebp - 0x6564]
xor ecx, dword [ebp - 0x6388]
mov edx, dword [ebp - 0xb04]
mov eax, dword [ebp - 0x28ec]
or eax, dword [edx]
cmp ecx, eax
jae 0x47e139
call fcn.0046d040
mov ecx, dword [ebp - 0x3c18]
mov dword [ebp - 0x6a50], ecx
cmp dword [ebp - 0x6a50], 0xe9603e0
je 0x47e0d9
jmp 0x47e11f
mov edx, dword [ebp - 0x4f18]
mov eax, dword [ebp - 0x4660]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2ab8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5c0]
mov eax, dword [edx]
add eax, dword [ebp - 0x28ec]
mov dword [ebp - 0x6388], eax
lea ecx, [ebp - 0xa58]
push ecx
mov edx, dword [ebp - 0x3534]
push edx
call dword [sym.imp.SHELL32.dll_DragQueryPoint]
mov dword [ebp - 0xf8], eax
jmp 0x47e134
movzx eax, byte [ebp - 0x37f2]
push eax
movzx ecx, byte [ebp - 0x5196]
push ecx
call fcn.004d1cd0
jmp 0x4bf416
lea edx, [ebp + 0x10]
mov dword [ebp - 0x1530], edx
movzx eax, byte [ebp - 0x61f1]
mov ecx, dword [ebp - 0x5370]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x2359], al
lea eax, [ebp - 0x6208]
mov dword [ebp - 0x655c], eax
cmp dword [ebp - 0x4afc], 0x7c94
jbe 0x47e554
movsx ecx, byte [ebp - 0x5196]
movsx edx, byte [ebp + 0xc]
sub ecx, edx
mov eax, dword [ebp - 0x5c7c]
mov byte [eax], cl
mov ecx, dword [ebp - 0x3cbc]
mov edx, dword [ecx]
and edx, dword [ebp - 0x28ec]
mov eax, dword [ebp - 0x1b64]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3314]
mov edx, dword [ebp - 0x463c]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x4afc]
sub eax, 0x33
mov dword [ebp - 0x4afc], eax
movzx edx, byte [ebp - 0x694c]
mov eax, dword [ebp - 0x5370]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp - 0x4bc5], dl
movzx ecx, word [ebp - 0x35b0]
mov edx, dword [ebp - 0x38cc]
movzx eax, word [edx]
xor ecx, eax
mov word [ebp + 0x10], cx
mov ecx, dword [ebp - 0x578c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x274c]
or edx, eax
mov word [ebp + 8], dx
mov ecx, dword [ebp - 0x6388]
sub ecx, dword [ebp - 0x28ec]
mov edx, dword [ebp - 0x554c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5208]
mov ecx, dword [ebp - 0x4058]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x3fb8], edx
mov eax, dword [ebp - 0x2ab8]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x2c50]
mov edx, dword [ebp - 0x6464]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x61f1]
mov ecx, dword [ebp - 0x693c]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x3671], al
mov eax, dword [ebp - 0x1530]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x40f4]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x547c]
mov word [edx], cx
mov eax, dword [ebp - 0x5200]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x6564]
mov dword [ebp - 0x6388], ecx
mov edx, dword [ebp - 0x52c8]
mov eax, dword [ebp - 0x3360]
add eax, dword [edx]
mov ecx, dword [ebp - 0x3cf4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1660]
sub edx, dword [ebp - 0x3360]
mov eax, dword [ebp - 0x53b8]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x4bc5]
movzx edx, byte [ebp - 0x3671]
sub ecx, edx
mov byte [ebp - 0x694c], cl
mov eax, dword [ebp - 0x2864]
add eax, dword [ebp - 0x4660]
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0xa58]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x5196]
add edx, eax
mov ecx, dword [ebp - 0x5c7c]
mov byte [ecx], dl
movsx edx, word [ebp + 8]
movsx ecx, word [ebp - 0x36ec]
sar edx, cl
mov word [ebp - 0x5dc], dx
movzx eax, byte [ebp - 0x61f1]
movzx ecx, byte [ebp - 0x37f2]
shl eax, cl
mov ecx, dword [ebp - 0x5370]
mov byte [ecx], al
movzx edx, word [ebp - 0x3b78]
mov eax, dword [ebp - 0x40f4]
movzx ecx, word [eax]
xor edx, ecx
mov eax, dword [ebp - 0x38cc]
mov word [eax], dx
mov ecx, dword [ebp - 0xb04]
mov edx, dword [ebp - 0x5c0]
mov eax, dword [ecx]
or eax, dword [edx]
mov dword [ebp - 0x28ec], eax
mov ecx, dword [ebp - 0x5c0]
mov edx, dword [ecx]
and edx, dword [ebp - 0x6388]
mov dword [ebp - 0x28ec], edx
mov eax, dword [ebp - 0x38cc]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x3b78]
sub ecx, edx
mov word [ebp + 0x10], cx
mov eax, dword [ebp - 0x60ec]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x3671]
add ecx, edx
mov eax, dword [ebp - 0x2a94]
mov byte [eax], cl
mov ecx, dword [ebp - 0x4660]
and ecx, dword [ebp - 0x2864]
mov dword [ebp - 0x11bc], ecx
mov edx, dword [ebp - 0x5c0]
mov eax, dword [edx]
add eax, dword [ebp - 0x28ec]
mov ecx, dword [ebp - 0x554c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x11bc]
sub edx, dword [ebp - 0x3fb8]
mov eax, dword [ebp - 0x560c]
mov dword [eax], edx
movsx ecx, byte [ebp - 0x5196]
mov edx, dword [ebp - 0x1fe8]
movsx eax, byte [edx]
add ecx, eax
mov byte [ebp + 0xc], cl
mov ecx, dword [ebp - 0x4140]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x60ec]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x3671], dl
mov edx, dword [ebp - 0x38cc]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x5b60]
sub eax, ecx
mov edx, dword [ebp - 0x4b50]
mov word [edx], ax
mov eax, dword [ebp - 0x6388]
or eax, dword [ebp - 0x6564]
mov dword [ebp - 0x28ec], eax
movsx ecx, byte [ebp - 0x5196]
mov edx, dword [ebp - 0x1fe8]
movsx eax, byte [edx]
xor ecx, eax
mov byte [ebp + 0xc], cl
movsx edx, byte [ebp - 0x5196]
movsx ecx, byte [ebp + 0xc]
sar edx, cl
mov eax, dword [ebp - 0xa58]
mov byte [eax], dl
mov cx, word [ebp - 0x5dc]
mov word [ebp - 0x474], cx
movzx edx, byte [ebp - 0x4bc5]
movzx ecx, byte [ebp - 0x694c]
shl edx, cl
mov eax, dword [ebp - 0x5370]
mov byte [eax], dl
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x5b60]
and edx, eax
mov ecx, dword [ebp - 0x1530]
mov word [ecx], dx
mov edx, dword [ebp - 0xb04]
mov eax, dword [ebp - 0x6388]
sub eax, dword [edx]
mov dword [ebp - 0x28ec], eax
movzx ecx, word [ebp - 0x3b78]
mov edx, dword [ebp - 0x40f4]
movzx eax, word [edx]
add ecx, eax
mov word [ebp + 0x10], cx
mov ecx, dword [ebp - 0x3c18]
add ecx, dword [ebp - 0x2864]
mov dword [ebp - 0x463c], ecx
mov edx, dword [ebp - 0x554c]
mov eax, dword [ebp - 0x1bb4]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x3cbc]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1080]
mov ecx, dword [ebp - 0x4660]
and ecx, dword [eax]
mov edx, dword [ebp - 0x4058]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4580]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x694c]
add ecx, edx
mov byte [ebp - 0x37f2], cl
movzx eax, word [ebp - 0x5b60]
mov ecx, dword [ebp - 0x40f4]
movzx edx, word [ecx]
add eax, edx
mov word [ebp + 0x10], ax
mov eax, dword [ebp - 0x4660]
sub eax, dword [ebp - 0x3fb8]
mov ecx, dword [ebp - 0x53b8]
mov dword [ecx], eax
jmp 0x47e166
movsx edx, word [ebp + 8]
mov dword [ebp - 0x6a54], edx
cmp dword [ebp - 0x6a54], 0
je 0x47e56c
jmp 0x4bf355
cmp dword [ebp - 0x4ea4], 0x15fd
jb 0x47e9cf
mov eax, dword [ebp - 0x40f4]
movzx edx, word [eax]
movzx ecx, word [ebp - 0x3b78]
sar edx, cl
mov eax, dword [ebp - 0x38cc]
mov word [eax], dx
mov ecx, dword [ebp - 0x578c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x5dc]
and edx, eax
mov ecx, dword [ebp - 0x578c]
mov word [ecx], dx
mov edx, dword [ebp - 0x5c7c]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x5196]
sub eax, ecx
mov edx, dword [ebp - 0x1fe8]
mov byte [edx], al
movzx eax, byte [ebp - 0x3671]
mov ecx, dword [ebp - 0x693c]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x694c], al
mov eax, dword [ebp - 0x3cf4]
mov ecx, dword [ebp - 0x2c50]
add ecx, dword [eax]
mov dword [ebp - 0x3fb8], ecx
mov edx, dword [ebp - 0x4ea4]
sub edx, 0x89
mov dword [ebp - 0x4ea4], edx
movzx eax, word [ebp - 0x5b60]
movzx ecx, word [ebp - 0x3b78]
add eax, ecx
mov word [ebp - 0x35b0], ax
mov edx, dword [ebp - 0x5370]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x60ec]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x4140]
mov byte [ecx], al
mov edx, dword [ebp - 0x6388]
and edx, dword [ebp - 0x28ec]
mov eax, dword [ebp - 0x5200]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1530]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x40f4]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp + 0x10], dx
mov edx, dword [ebp - 0x3cf4]
mov eax, dword [ebp - 0x1660]
sub eax, dword [edx]
mov dword [ebp - 0x3c18], eax
mov ecx, dword [ebp - 0x6564]
add ecx, dword [ebp - 0x6388]
mov edx, dword [ebp - 0xb04]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x61f1]
mov ecx, dword [ebp - 0x60ec]
movzx edx, byte [ecx]
or eax, edx
mov ecx, dword [ebp - 0x2a94]
mov byte [ecx], al
movzx edx, word [ebp - 0x35b0]
movzx eax, word [ebp - 0x3b78]
xor edx, eax
mov ecx, dword [ebp - 0x40f4]
mov word [ecx], dx
mov edx, dword [ebp - 0x547c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x38cc]
movzx ecx, word [ecx]
shl eax, cl
mov word [ebp + 0x10], ax
mov edx, dword [ebp - 0x2ab8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3fb8]
sar eax, cl
mov ecx, dword [ebp - 0x2ab8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x28ec]
and edx, dword [ebp - 0x6388]
mov dword [ebp - 0x6564], edx
mov eax, dword [ebp - 0x52c8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x2864]
mov edx, dword [ebp - 0x4058]
mov dword [edx], ecx
movsx eax, byte [ebp - 0x5196]
mov ecx, dword [ebp - 0x1fe8]
movsx edx, byte [ecx]
add eax, edx
mov byte [ebp + 0xc], al
movsx eax, word [ebp - 0x5dc]
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x578c]
mov word [ecx], ax
mov edx, dword [ebp - 0xa58]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x5c7c]
movsx edx, byte [ecx]
sub eax, edx
mov byte [ebp + 0xc], al
movzx eax, word [ebp - 0x5b60]
mov ecx, dword [ebp - 0x38cc]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x40f4]
mov word [ecx], ax
movzx edx, byte [ebp - 0x2359]
mov eax, dword [ebp - 0x1cb8]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x60ec]
mov byte [eax], dl
mov ecx, dword [ebp - 0xb04]
mov edx, dword [ecx]
and edx, dword [ebp - 0x6564]
mov eax, dword [ebp - 0x1bb4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3fb8]
sub ecx, dword [ebp - 0xb7c]
mov edx, dword [ebp - 0x4058]
mov dword [edx], ecx
movzx eax, word [ebp - 0x4518]
mov ecx, dword [ebp - 0x38cc]
movzx ecx, word [ecx]
shl eax, cl
mov word [ebp - 0x5b60], ax
movzx edx, byte [ebp - 0x4bc5]
movzx ecx, byte [ebp - 0x37f2]
sar edx, cl
mov eax, dword [ebp - 0x693c]
mov byte [eax], dl
mov ecx, dword [ebp - 0xb04]
mov edx, dword [ecx]
or edx, dword [ebp - 0x28ec]
mov eax, dword [ebp - 0x5200]
mov dword [eax], edx
mov ecx, dword [ebp - 0xa58]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x5c7c]
movsx ecx, byte [eax]
xor edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x4f18]
mov eax, dword [edx]
add eax, dword [ebp - 0x41d8]
mov ecx, dword [ebp - 0x2ab8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x554c]
mov eax, dword [edx]
and eax, dword [ebp - 0x6388]
mov ecx, dword [ebp - 0x554c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4b50]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x38cc]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x40f4]
mov word [ecx], ax
movzx edx, byte [ebp - 0x3671]
movzx eax, byte [ebp - 0x6948]
add edx, eax
mov ecx, dword [ebp - 0x2a94]
mov byte [ecx], dl
mov edx, dword [ebp - 0x1cb8]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x4580]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x694c], al
mov eax, dword [ebp - 0x3360]
add eax, dword [ebp - 0x2c50]
mov dword [ebp - 0x4660], eax
movsx ecx, word [ebp + 8]
movsx edx, word [ebp - 0x474]
sub ecx, edx
mov eax, dword [ebp - 0x137c]
mov word [eax], cx
movsx ecx, byte [ebp - 0x5196]
movsx edx, byte [ebp + 0xc]
add ecx, edx
mov eax, dword [ebp - 0x5c7c]
mov byte [eax], cl
mov ecx, dword [ebp - 0x60ec]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x4140]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x693c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x547c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x5b60]
and edx, eax
mov ecx, dword [ebp - 0x1530]
mov word [ecx], dx
mov edx, dword [ebp - 0x554c]
mov eax, dword [ebp - 0x28ec]
mov ecx, dword [edx]
shr eax, cl
mov ecx, dword [ebp - 0x1b64]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5200]
mov eax, dword [ebp - 0x6564]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x554c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4660]
mov ecx, dword [ebp - 0x344c]
shl edx, cl
mov dword [ebp - 0x2c50], edx
mov eax, dword [ebp - 0x344c]
or eax, dword [ebp - 0x2864]
mov ecx, dword [ebp - 0x52c8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4b54]
mov eax, dword [ebp - 0x4660]
add eax, dword [edx]
mov ecx, dword [ebp - 0x53b8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5370]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x693c]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x2a94]
mov byte [ecx], al
movzx edx, word [ebp - 0x35b0]
mov eax, dword [ebp - 0x1530]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0x38cc]
mov word [eax], dx
mov ecx, dword [ebp - 0x5c0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x5200]
add edx, dword [eax]
mov ecx, dword [ebp - 0x3cbc]
mov dword [ecx], edx
jmp 0x47e56c
mov edx, dword [ebp - 0x3cbc]
mov eax, dword [edx]
sub eax, dword [ebp - 0x28ec]
mov ecx, dword [ebp - 0x5200]
mov edx, dword [ebp - 0x6564]
sub edx, dword [ecx]
cmp eax, edx
jne 0x47eacc
movsx eax, word [ebp + 8]
mov dword [ebp - 0x6a58], eax
cmp dword [ebp - 0x6a58], 0x56a1
je 0x47ea0e
jmp 0x47eacc
mov cl, byte [ebp - 0x5196]
mov byte [ebp - 0x6a5c], cl
cmp byte [ebp - 0x6a5c], 0x16
je 0x47ea31
cmp byte [ebp - 0x6a5c], 0x2c
je 0x47ea9f
jmp 0x47eacc
movsx edx, byte [ebp - 0x5196]
mov eax, dword [ebp - 0x5c7c]
movsx ecx, byte [eax]
sub edx, ecx
mov byte [ebp + 0xc], dl
lea edx, [ebp - 0x2d84]
push edx
lea eax, [ebp - 0x3534]
push eax
lea ecx, [ebp - 0x6564]
push ecx
push 0xc0
lea edx, [ebp - 0x42d8]
push edx
call dword [sym.imp.ole32.dll_CoInstall]
mov dword [ebp - 0x2178], eax
mov eax, dword [ebp - 0x2ab8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x2c50]
mov edx, dword [ebp - 0x53b8]
mov dword [edx], ecx
mov eax, dword [ebp - 0xb04]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x6564]
mov dword [ebp - 0x28ec], ecx
jmp 0x47eacc
movzx edx, byte [ebp - 0x4bc5]
push edx
mov eax, dword [ebp - 0x5c0]
mov ecx, dword [eax]
push ecx
movzx edx, word [ebp - 0x274c]
push edx
mov eax, dword [ebp - 0xa58]
movzx ecx, byte [eax]
push ecx
movzx edx, byte [ebp + 0xc]
push edx
call fcn.00429f50
mov eax, dword [ebp - 0x2e14]
mov cl, byte [eax]
mov byte [ebp - 0x6a60], cl
cmp byte [ebp - 0x6a60], 0
je 0x47eaf5
cmp byte [ebp - 0x6a60], 0x4a
je 0x4bf27c
jmp 0x4bf309
mov edx, dword [ebp - 0x28ec]
mov ecx, dword [ebp - 0x6388]
shr edx, cl
mov dword [ebp - 0x6564], edx
mov eax, dword [ebp - 0x1660]
mov dword [ebp - 0x6720], eax
cmp dword [ebp - 0x1790], 0x54b0
jae 0x47ee4e
movzx ecx, word [ebp - 0x35b0]
movzx edx, word [ebp - 0x3e70]
xor ecx, edx
mov eax, dword [ebp - 0x40f4]
mov word [eax], cx
movzx ecx, byte [ebp - 0x37f2]
movzx edx, byte [ebp - 0x3671]
and ecx, edx
mov eax, dword [ebp - 0x2a94]
mov byte [eax], cl
mov ecx, dword [ebp - 0x4580]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x2359]
add edx, eax
mov byte [ebp - 0x6948], dl
mov ecx, dword [ebp - 0x1790]
add ecx, 0xb8
mov dword [ebp - 0x1790], ecx
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [ebp - 0x28ec]
add eax, dword [edx]
mov dword [ebp - 0x6564], eax
mov ecx, dword [ebp - 0x4058]
mov edx, dword [ecx]
and edx, dword [ebp - 0x4660]
mov eax, dword [ebp - 0x6464]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5370]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x37f2]
add edx, eax
mov byte [ebp - 0x694c], dl
movzx ecx, word [ebp - 0x3b78]
mov edx, dword [ebp - 0x40f4]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x547c]
mov word [edx], cx
movzx eax, byte [ebp - 0x61f1]
mov ecx, dword [ebp - 0x5370]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x693c]
mov byte [ecx], al
mov edx, dword [ebp - 0x5c0]
mov eax, dword [ebp - 0xb04]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x1bb4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2ab8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x2864]
mov edx, dword [ebp - 0x4058]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x1b95]
mov ecx, dword [ebp - 0x5370]
movzx edx, byte [ecx]
or eax, edx
mov byte [ebp - 0x6948], al
mov eax, dword [ebp - 0x5208]
mov ecx, dword [ebp - 0x5194]
mov edx, dword [eax]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x4f18]
mov dword [eax], edx
mov edx, dword [ebp - 0x3c18]
mov ecx, dword [ebp - 0x41d8]
shl edx, cl
mov dword [ebp - 0xb7c], edx
mov eax, dword [ebp - 0x137c]
movsx edx, word [eax]
mov eax, dword [ebp - 0x655c]
movsx ecx, word [eax]
sar edx, cl
mov word [ebp - 0x474], dx
mov ecx, dword [ebp - 0xa58]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1fe8]
movsx ecx, byte [eax]
and edx, ecx
mov byte [ebp - 0x5196], dl
mov edx, dword [ebp - 0x547c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x38cc]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp + 0x10], ax
mov eax, dword [ebp - 0x693c]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x3671]
sub ecx, edx
mov eax, dword [ebp - 0x5370]
mov byte [eax], cl
mov ecx, dword [ebp - 0x28ec]
sub ecx, dword [ebp - 0x6388]
mov edx, dword [ebp - 0x1b64]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1b64]
mov ecx, dword [ebp - 0x28ec]
add ecx, dword [eax]
mov edx, dword [ebp - 0x5200]
mov dword [edx], ecx
movzx eax, word [ebp - 0x3e70]
mov ecx, dword [ebp - 0x547c]
movzx edx, word [ecx]
and eax, edx
mov word [ebp + 0x10], ax
mov eax, dword [ebp - 0x5370]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x61f1]
add ecx, edx
mov eax, dword [ebp - 0x2a94]
mov byte [eax], cl
mov ecx, dword [ebp - 0x560c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x3360]
mov eax, dword [ebp - 0x3314]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6388]
add ecx, dword [ebp - 0x6564]
mov edx, dword [ebp - 0x554c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x4058]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x463c]
mov edx, dword [ebp - 0x6464]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5c7c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1fe8]
movsx eax, byte [edx]
or ecx, eax
mov byte [ebp + 0xc], cl
movzx edx, byte [ebp - 0x37f2]
mov eax, dword [ebp - 0x5370]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp - 0x61f1], dl
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x38cc]
movzx ecx, word [eax]
xor edx, ecx
mov eax, dword [ebp - 0x40f4]
mov word [eax], dx
mov ecx, dword [ebp - 0x3cbc]
mov edx, dword [ebp - 0x28ec]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x1b64]
mov dword [eax], edx
mov ecx, dword [ebp - 0xa58]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1fe8]
movsx ecx, byte [eax]
and edx, ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp - 0x5c7c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0xa58]
movsx edx, byte [ecx]
add eax, edx
mov byte [ebp + 0xc], al
mov eax, dword [ebp - 0x655c]
movsx ecx, word [eax]
movsx edx, word [ebp + 8]
sub ecx, edx
mov eax, dword [ebp - 0x137c]
mov word [eax], cx
mov ecx, dword [ebp - 0x2e14]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x61f1]
add edx, eax
mov ecx, dword [ebp - 0x60ec]
mov byte [ecx], dl
movzx edx, word [ebp - 0x4518]
mov eax, dword [ebp - 0x1530]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x4b50]
mov word [eax], dx
jmp 0x47eb15
mov ecx, dword [ebp - 0x5200]
mov edx, dword [ebp - 0x6564]
sub edx, dword [ecx]
mov dword [ebp - 0x28ec], edx
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x474]
and ecx, edx
movsx eax, word [ebp + 8]
movsx edx, word [ebp - 0x6208]
add eax, edx
cmp ecx, eax
je 0x47efd1
mov eax, dword [ebp - 0x4b50]
movzx edx, word [eax]
movzx ecx, word [ebp - 0x3b78]
sar edx, cl
movzx eax, word [ebp - 0x5b60]
mov ecx, dword [ebp - 0x40f4]
movzx ecx, word [ecx]
xor eax, ecx
cmp edx, eax
jne 0x47efcc
movzx edx, byte [ebp - 0x694c]
movzx eax, byte [ebp - 0x3671]
or edx, eax
mov byte [ebp - 0x6948], dl
mov ecx, dword [ebp - 0x3cf4]
mov edx, dword [ebp - 0x344c]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x1080]
mov dword [eax], edx
mov ecx, dword [ebp - 0x28ec]
mov dword [ebp - 0x6a64], ecx
cmp dword [ebp - 0x6a64], 0xc43aad0
je 0x47ef00
jmp 0x47efb1
movzx edx, word [ebp + 0x10]
mov eax, dword [ebp - 0x547c]
movzx ecx, word [eax]
and edx, ecx
movzx eax, word [ebp - 0x3e70]
mov ecx, dword [ebp - 0x1530]
movzx ecx, word [ecx]
add eax, ecx
cmp edx, eax
jge 0x47ef52
mov edx, dword [ebp - 0x554c]
mov eax, dword [ebp - 0x3cbc]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x6564], ecx
push 4
lea edx, [ebp - 0x5196]
push edx
call dword [sym.imp.SHELL32.dll_SHMultiFileProperties]
mov dword [ebp - 0x12ec], eax
jmp 0x47efaf
mov eax, dword [ebp - 0x6464]
mov ecx, dword [ebp - 0x6720]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x560c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3c18]
cmp ecx, eax
jl 0x47efaf
mov ecx, dword [ebp - 0x41d8]
add ecx, dword [ebp - 0xb7c]
mov edx, dword [ebp - 0x3cf4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x37a8]
push eax
call dword [sym.imp.SHELL32.dll_SHChangeNotification_Unlock]
mov dword [ebp - 0x2c90], eax
movzx ecx, byte [ebp - 0x61f1]
movzx edx, byte [ebp - 0x37f2]
sub ecx, edx
mov byte [ebp - 0x1b95], cl
jmp 0x47efcc
mov eax, dword [ebp - 0x40f4]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x5b60]
and ecx, edx
mov eax, dword [ebp - 0x40f4]
mov word [eax], cx
jmp 0x47f11c
lea ecx, [ebp - 0x11bc]
mov dword [ebp - 0x22b8], ecx
mov edx, dword [ebp - 0x1b64]
mov eax, dword [edx]
add eax, dword [ebp - 0x6564]
mov ecx, dword [ebp - 0x1b64]
mov dword [ecx], eax
mov edx, dword [ebp - 0x41c]
xor edx, dword [ebp - 0x2864]
mov dword [ebp - 0x4b98], edx
mov eax, dword [ebp - 0x4b50]
movzx ecx, word [eax]
mov dword [ebp - 0x6a68], ecx
cmp dword [ebp - 0x6a68], 0x896
je 0x47f025
jmp 0x47f11c
mov edx, dword [ebp - 0x655c]
movsx eax, word [edx]
mov dword [ebp - 0x6a6c], eax
cmp dword [ebp - 0x6a6c], 0x4a6
je 0x47f055
cmp dword [ebp - 0x6a6c], 0x15b0
je 0x47f107
jmp 0x47f11c
movzx edx, word [ebp + 0x10]
movzx eax, word [ebp - 0x5b60]
or edx, eax
mov ecx, dword [ebp - 0x40f4]
movzx eax, word [ecx]
mov ecx, dword [ebp - 0x547c]
movzx ecx, word [ecx]
shl eax, cl
cmp edx, eax
jle 0x47f0ad
push 0x2f
mov edx, dword [ebp - 0x3e34]
push edx
mov eax, dword [ebp - 0x4614]
push eax
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
mov word [ebp - 0x12c0], ax
mov edx, dword [ebp - 0x3c18]
mov ecx, dword [ebp - 0x41c]
sar edx, cl
mov eax, dword [ebp - 0x6464]
mov dword [eax], edx
movzx ecx, word [ebp - 0x35b0]
mov edx, dword [ebp - 0x38cc]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x3e70], cx
lea ecx, [ebp - 0x5196]
push ecx
call dword [sym.imp.SHELL32.dll_ILFree]
mov edx, dword [ebp - 0x2a94]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x60ec]
movzx edx, byte [ecx]
and eax, edx
mov ecx, dword [ebp - 0x4580]
mov byte [ecx], al
mov edx, dword [ebp - 0x578c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x5dc]
sub eax, ecx
mov word [ebp + 8], ax
jmp 0x47f11c
movzx edx, byte [ebp - 0x37f2]
push edx
movzx eax, byte [ebp - 0x5196]
push eax
call fcn.004d1cd0
mov ecx, dword [ebp - 0xb04]
mov edx, dword [ecx]
mov dword [ebp - 0x6a70], edx
cmp dword [ebp - 0x6a70], 0
je 0x47f138
jmp 0x4bf105
movsx eax, word [ebp + 8]
movsx ecx, word [ebp - 0x12c0]
sub eax, ecx
movsx edx, word [ebp - 0x36ec]
movsx ecx, word [ebp - 0x5dc]
add edx, ecx
cmp eax, edx
jle 0x47f177
mov edx, dword [ebp - 0x60ec]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x1fe8]
movzx edx, byte [ecx]
push edx
call fcn.004d1cd0
jmp 0x4bf063
movzx eax, word [ebp - 0x5b60]
movzx ecx, word [ebp + 0x10]
and eax, ecx
movzx edx, word [ebp - 0x4518]
movzx ecx, word [ebp - 0x35b0]
add edx, ecx
cmp eax, edx
jg 0x4bf063
lea edx, [ebp - 0x2359]
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp - 0x41c]
add eax, dword [ebp - 0x41d8]
mov dword [ebp - 0x2c50], eax
mov cl, byte [ebp - 0x694c]
mov byte [ebp - 0x6a74], cl
cmp byte [ebp - 0x6a74], 0x19
je 0x47f1d1
jmp 0x47f243
mov edx, dword [ebp - 0x22b8]
mov eax, dword [edx]
add eax, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x4058]
mov dword [ecx], eax
mov dl, byte [ebp - 0x37f2]
mov byte [ebp - 0x6a78], dl
cmp byte [ebp - 0x6a78], 0xfe
je 0x47f1fe
jmp 0x47f22b
mov eax, dword [ebp - 0x4b50]
movzx edx, word [eax]
movzx ecx, word [ebp - 0x4518]
sar edx, cl
mov word [ebp + 0x10], dx
movzx eax, byte [ebp - 0x2359]
push eax
movzx ecx, byte [ebp - 0x5196]
push ecx
call fcn.004d1cd0
jmp 0x47f23e
lea edx, [ebp - 0x47f0]
push edx
call dword [sym.imp.ole32.dll_CoGetCallerTID]
mov dword [ebp - 0x653c], eax
jmp 0x4bf01f
mov al, byte [ebp - 0x5196]
mov byte [ebp - 0x52fe], al
mov ecx, dword [ebp - 0x655c]
mov dx, word [ecx]
mov word [ebp - 0x2b5c], dx
mov eax, dword [ebp - 0x56b0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x3360]
shl edx, cl
mov eax, dword [ebp - 0x4f18]
mov ecx, dword [ebp - 0x1080]
mov eax, dword [eax]
or eax, dword [ecx]
cmp edx, eax
jl 0x47f31f
mov ecx, dword [ebp - 0x1cb8]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x2e14]
movzx ecx, byte [eax]
xor edx, ecx
mov byte [ebp - 0x2359], dl
movsx edx, word [ebp - 0x474]
mov dword [ebp - 0x6a7c], edx
cmp dword [ebp - 0x6a7c], 0x1e88
je 0x47f2bc
jmp 0x47f31f
movzx eax, word [ebp - 0x4518]
movzx ecx, word [ebp - 0x35b0]
and eax, ecx
mov edx, dword [ebp - 0x40f4]
mov word [edx], ax
mov eax, dword [ebp - 0x5c7c]
mov cl, byte [eax]
mov byte [ebp - 0x6a80], cl
cmp byte [ebp - 0x6a80], 0x4c
je 0x47f2ee
jmp 0x47f305
movzx edx, byte [ebp - 0x3671]
push edx
movzx eax, word [ebp - 0x4518]
push eax
call section..text
jmp 0x47f31f
mov ecx, dword [ebp - 0x60ec]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x2e14]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x694c], dl
mov edx, dword [ebp - 0x40f4]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x3e70]
sub eax, ecx
mov edx, dword [ebp - 0x4b50]
movzx ecx, word [edx]
mov edx, dword [ebp - 0x547c]
movzx edx, word [edx]
and ecx, edx
cmp eax, ecx
je 0x47f364
mov eax, dword [ebp - 0x5200]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x40f4]
mov cx, word [ecx]
call fcn.004721c0
jmp 0x4bef3b
mov edx, dword [ebp - 0x4b54]
mov eax, dword [ebp - 0x1660]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x53b8]
mov edx, dword [ecx]
or edx, dword [ebp - 0x3c18]
cmp eax, edx
jl 0x47f4c6
mov eax, dword [ebp - 0x6720]
mov dword [ebp - 0x6808], eax
mov ecx, dword [ebp - 0x554c]
mov edx, dword [ebp - 0x6388]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x3cbc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x52c8]
mov edx, dword [ebp - 0x6808]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x344c]
add eax, dword [ebp - 0x4b98]
cmp edx, eax
jge 0x47f4b3
mov ecx, dword [ebp - 0x2e14]
mov dl, byte [ecx]
mov byte [ebp - 0x6a84], dl
cmp byte [ebp - 0x6a84], 0xd9
je 0x47f3e8
jmp 0x47f499
mov eax, dword [ebp - 0x2a94]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x694c]
add ecx, edx
mov eax, dword [ebp - 0x4e4]
mov byte [eax], cl
mov ecx, dword [ebp - 0x52c8]
mov edx, dword [ebp - 0x4660]
add edx, dword [ecx]
mov eax, dword [ebp - 0x53b8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x463c]
cmp edx, ecx
jne 0x47f497
lea edx, [ebp - 0xf0]
push edx
lea eax, [ebp - 0x4778]
push eax
call dword [sym.imp.ole32.dll_CoCopyProxy]
mov dword [ebp - 0x2e6c], eax
movzx edx, word [ebp + 0x10]
movzx ecx, word [ebp - 0x35b0]
sar edx, cl
mov word [ebp - 0x4518], dx
mov eax, dword [ebp - 0x11bc]
or eax, dword [ebp - 0x4b98]
mov ecx, dword [ebp - 0x560c]
mov dword [ecx], eax
push 0x72
lea edx, [ebp - 0x494]
push edx
lea eax, [ebp - 0x42d8]
push eax
push 0x65
mov ecx, dword [ebp - 0x4b04]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
mov dword [ebp - 0x28ec], eax
mov edx, dword [ebp - 0x6388]
mov ecx, dword [ebp + 0x10]
call fcn.004721c0
jmp 0x47f4b1
mov edx, dword [ebp - 0x1080]
mov eax, dword [ebp - 0x56b0]
mov ecx, dword [edx]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x3cf4]
mov dword [edx], ecx
jmp 0x47f4c1
mov eax, dword [ebp - 0x1fe8]
mov cl, byte [eax]
mov byte [ebp - 0x677d], cl
jmp 0x47f590
mov edx, dword [ebp - 0x4f18]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x344c]
shl eax, cl
mov ecx, dword [ebp - 0x5208]
mov edx, dword [ebp - 0x560c]
mov ecx, dword [ecx]
and ecx, dword [edx]
cmp eax, ecx
jle 0x47f55a
mov edx, dword [ebp - 0x655c]
movsx eax, word [edx]
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
add eax, edx
mov word [ebp - 0x274c], ax
lea eax, [ebp - 0x13ec]
push eax
push fcn.00478870
mov ecx, dword [ebp - 0x3340]
push ecx
call sub.COMCTL32.dll_RemoveWindowSubclass
mov dword [ebp - 0x2c90], eax
mov edx, dword [ebp - 0x40f4]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x40f4]
mov word [ecx], ax
movzx edx, byte [ebp - 0x37f2]
mov eax, dword [ebp - 0x4580]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x6948], dl
jmp 0x47f590
movsx edx, word [ebp - 0x6208]
movsx eax, word [ebp + 8]
sub edx, eax
movsx ecx, word [ebp - 0x5dc]
movsx eax, word [ebp - 0x2b5c]
sub ecx, eax
cmp edx, ecx
jne 0x47f590
lea ecx, [ebp - 0x60a0]
push ecx
push 0x36
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov dword [ebp - 0x535c], eax
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [ebp - 0x1b64]
mov ecx, dword [edx]
and ecx, dword [eax]
mov dword [ebp - 0x6564], ecx
movzx edx, word [ebp - 0x3b78]
mov dword [ebp - 0x6a88], edx
cmp dword [ebp - 0x6a88], 0x4a2
je 0x47f5c1
jmp 0x47f5de
mov eax, dword [ebp - 0x5c0]
mov ecx, dword [ebp - 0x3cbc]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x1b64]
mov dword [eax], edx
jmp 0x47f66b
mov ecx, dword [ebp - 0x6388]
add ecx, dword [ebp - 0x6564]
mov edx, dword [ebp - 0x5200]
mov eax, dword [edx]
sub eax, dword [ebp - 0x28ec]
cmp ecx, eax
jb 0x47f66b
mov ecx, dword [ebp - 0x53b8]
mov edx, dword [ecx]
mov dword [ebp - 0x5c20], edx
mov eax, dword [ebp - 0x4660]
xor eax, dword [ebp - 0x6720]
mov ecx, dword [ebp - 0x56b0]
mov dword [ecx], eax
lea edx, [ebp - 0x3c18]
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0x1530]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x3e70]
or ecx, edx
mov eax, dword [ebp - 0x4b50]
mov word [eax], cx
mov ecx, dword [ebp - 0x4580]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0x2359]
shl edx, cl
mov eax, dword [ebp - 0x2a94]
mov byte [eax], dl
lea ecx, [ebp - 0x28ec]
mov dword [ebp - 0x5c2c], ecx
movzx edx, byte [ebp - 0x3671]
mov eax, dword [ebp - 0x5370]
movzx ecx, byte [eax]
sar edx, cl
movzx ecx, byte [ebp - 0x694c]
movzx eax, byte [ebp - 0x61f1]
and ecx, eax
cmp edx, ecx
jge 0x47f6b8
movsx ecx, byte [ebp - 0x677d]
movsx edx, byte [ebp - 0x5196]
sub ecx, edx
mov byte [ebp + 0xc], cl
mov eax, dword [ebp - 0x3c18]
add eax, dword [ebp - 0x344c]
mov ecx, dword [ebp - 0x560c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [ebp - 0x6388]
sub eax, dword [edx]
mov dword [ebp - 0x28ec], eax
lea ecx, [ebp - 0x4bc5]
mov dword [ebp - 0x2fc4], ecx
mov edx, dword [ebp - 0x4b50]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x40f4]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x547c]
mov word [ecx], ax
mov edx, dword [ebp - 0x554c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x28ec]
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ebp - 0x5c0]
mov ecx, dword [ecx]
sub ecx, dword [edx]
cmp eax, ecx
jb 0x4bee37
mov edx, dword [ebp - 0x4bd8]
mov dword [ebp - 0x6a8c], edx
cmp dword [ebp - 0x6a8c], 0
je 0x47f735
jmp 0x4bec56
mov eax, dword [ebp - 0x554c]
mov edx, dword [ebp - 0x6388]
mov ecx, dword [eax]
shr edx, cl
mov eax, dword [ebp - 0x5c0]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x4bd8]
shl eax, cl
cmp edx, eax
ja 0x47f83a
movzx ecx, byte [ebp - 0x3671]
movzx edx, byte [ebp - 0x4bc5]
add ecx, edx
mov eax, dword [ebp - 0x1cb8]
movzx edx, byte [eax]
movzx eax, byte [ebp - 0x37f2]
and edx, eax
cmp ecx, edx
jge 0x47f81f
mov cl, byte [ebp - 0x694c]
mov byte [ebp - 0x6a90], cl
cmp byte [ebp - 0x6a90], 0x73
je 0x47f79e
jmp 0x47f807
mov edx, dword [ebp - 0x4f18]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1080]
add eax, dword [ecx]
mov edx, dword [ebp - 0x228]
mov dword [edx], eax
mov eax, dword [ebp - 0x5c0]
mov ecx, dword [ebp - 0x28ec]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [ebp - 0x5200]
mov edx, dword [edx]
sub edx, dword [eax]
cmp ecx, edx
jne 0x47f805
mov eax, dword [ebp - 0x2fc4]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0xb04]
mov eax, dword [edx]
push eax
movzx ecx, word [ebp + 8]
push ecx
movzx edx, byte [ebp - 0x52fe]
push edx
movzx eax, byte [ebp - 0x677d]
push eax
call fcn.00429f50
jmp 0x47f81f
lea ecx, [ebp - 0x3b10]
push ecx
push str.Bathhouse_Uninteresting
call dword [sym.imp.ole32.dll_GetClassFile]
mov dword [ebp - 0x4f04], eax
mov edx, dword [ebp - 0x56b0]
mov eax, dword [edx]
sub eax, dword [ebp - 0x463c]
mov ecx, dword [ebp - 0x4058]
mov dword [ecx], eax
jmp 0x47f96e
movzx edx, byte [ebp - 0x2359]
movzx eax, byte [ebp - 0x37f2]
xor edx, eax
movzx ecx, byte [ebp - 0x4bc5]
movzx eax, byte [ebp - 0x6948]
add ecx, eax
cmp edx, ecx
jle 0x47f96e
mov ecx, dword [ebp - 0x693c]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x61f1]
add edx, eax
mov ecx, dword [ebp - 0x2a94]
movzx eax, byte [ecx]
movzx ecx, byte [ebp - 0x2359]
sub eax, ecx
cmp edx, eax
jl 0x47f8cf
mov edx, dword [ebp - 0x4f18]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3c18]
mov ecx, dword [ebp - 0x52c8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4b54]
mov eax, dword [ebp - 0x52c8]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x4b98], ecx
movsx edx, word [ebp - 0x474]
movsx ecx, word [ebp - 0x36ec]
shl edx, cl
mov eax, dword [ebp - 0x655c]
mov word [eax], dx
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
mov dword [ebp - 0x6a94], edx
cmp dword [ebp - 0x6a94], 0x4ce
je 0x47f8f8
cmp dword [ebp - 0x6a94], 0xafc
je 0x47f954
jmp 0x47f96e
movsx eax, byte [ebp - 0x5196]
mov ecx, dword [ebp - 0xa58]
movsx ecx, byte [ecx]
sar eax, cl
mov byte [ebp - 0x52fe], al
lea edx, [ebp - 0x3fb8]
push edx
push 0x8c
push 0x9f
push 0x87
push 0x7e
mov eax, dword [ebp - 0x2338]
push eax
call dword [sym.imp.SHELL32.dll_SHChangeNotifyRegister]
mov dword [ebp - 0x6564], eax
mov ecx, dword [ebp - 0x2a94]
movzx edx, byte [ecx]
push edx
movzx eax, byte [ebp - 0x5196]
push eax
call fcn.004d1cd0
jmp 0x47f96e
movzx ecx, byte [ebp - 0x1b95]
mov edx, dword [ebp - 0x693c]
movzx eax, byte [edx]
or ecx, eax
mov edx, dword [ebp - 0x4580]
mov byte [edx], cl
mov eax, dword [ebp - 0x1530]
movzx ecx, word [eax]
mov dword [ebp - 0x6a98], ecx
cmp dword [ebp - 0x6a98], 0x2d8
je 0x47f99a
cmp dword [ebp - 0x6a98], 0xe09
je 0x47fa0e
jmp 0x47fb4a
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x453c]
push eax
lea ecx, [ebp - 0x1bb4]
push ecx
call sub.gdiplus.dll_GdiplusStartup
mov dword [ebp - 0x6564], eax
mov edx, dword [ebp - 0x1530]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x547c]
movzx edx, word [ecx]
xor eax, edx
mov word [ebp - 0x3b78], ax
mov eax, dword [ebp - 0x6388]
and eax, dword [ebp - 0x28ec]
mov ecx, dword [ebp - 0xb04]
mov dword [ecx], eax
call dword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
mov dword [ebp - 0x6388], eax
movzx edx, byte [ebp - 0x2359]
push edx
mov eax, dword [ebp - 0x4b50]
movzx ecx, word [eax]
push ecx
call section..text
jmp 0x47fb4a
mov edx, dword [ebp - 0x5c0]
mov eax, dword [ebp - 0x6388]
add eax, dword [edx]
mov ecx, dword [ebp - 0x5c2c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
mov dword [ebp - 0x6a9c], eax
cmp dword [ebp - 0x6a9c], 0x7ea3
je 0x47fa44
jmp 0x47fb36
mov ecx, dword [ebp - 0x547c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x4518]
add edx, eax
mov ecx, dword [ebp - 0x40f4]
movzx eax, word [ecx]
movzx ecx, word [ebp - 0x35b0]
and eax, ecx
cmp edx, eax
jl 0x47fb34
mov edx, dword [ebp - 0x547c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x1530]
movzx edx, word [ecx]
add eax, edx
mov word [ebp + 0x10], ax
lea eax, [ebp - 0x16dc]
push eax
lea ecx, [ebp - 0x4e6c]
push ecx
lea edx, [ebp - 0x60a0]
push edx
push 0xfa
lea eax, [ebp - 0x4858]
push eax
call dword [sym.imp.SHELL32.dll_PathMakeUniqueName]
mov dword [ebp - 0x62ec], eax
movzx ecx, byte [ebp - 0x694c]
movzx edx, byte [ebp - 0x37f2]
sub ecx, edx
mov eax, dword [ebp - 0x1cb8]
mov byte [eax], cl
mov ecx, dword [ebp - 0x52c8]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x41c]
mov dword [ebp - 0x6720], edx
movzx eax, word [ebp - 0x35b0]
push eax
movzx ecx, byte [ebp - 0x52fe]
push ecx
movzx edx, word [ebp - 0x2b5c]
push edx
mov eax, dword [ebp - 0x4e4]
mov dl, byte [eax]
mov cl, byte [ebp - 0x4bc5]
call fcn.00478870
lea ecx, [ebp - 0x1fd8]
push ecx
lea edx, [ebp - 0x3f64]
push edx
lea eax, [ebp - 0x60a0]
push eax
mov ecx, dword [ebp - 0x13e4]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetDiskFreeSpaceExW]
mov dword [ebp - 0x2c90], eax
jmp 0x47fb4a
mov edx, dword [ebp - 0x4bd8]
add edx, dword [ebp - 0x6564]
mov eax, dword [ebp - 0x5200]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ecx]
mov dword [ebp - 0x4d4], edx
movsx eax, byte [ebp - 0x5196]
mov ecx, dword [ebp - 0x1fe8]
movsx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0xa58]
movsx edx, byte [ecx]
movsx ecx, byte [ebp + 0xc]
xor edx, ecx
cmp eax, edx
jne 0x47fe4c
mov edx, dword [ebp - 0x6564]
mov dword [ebp - 0x6aa0], edx
cmp dword [ebp - 0x6aa0], 0x9b173b4c
je 0x47fb9e
jmp 0x47fcaa
mov al, byte [ebp - 0x1b95]
mov byte [ebp - 0x6aa4], al
cmp byte [ebp - 0x6aa4], 0xa9
je 0x47fbb8
movzx edx, byte [ebp - 0x4bc5]
mov eax, dword [ebp - 0x60ec]
movzx ecx, byte [eax]
or edx, ecx
movzx eax, byte [ebp - 0x61f1]
movzx ecx, byte [ebp - 0x6948]
shl eax, cl
cmp edx, eax
je 0x47fea9
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x41d8]
mov eax, dword [ebp - 0x3314]
mov dword [eax], edx
lea ecx, [ebp - 0x4ca0]
push ecx
lea edx, [ebp - 0x3f34]
push edx
lea eax, [ebp - 0x42d8]
push eax
call dword [sym.imp.ole32.dll_CoFileTimeToDosDateTime]
mov dword [ebp - 0x1398], eax
mov ecx, dword [ebp - 0xa58]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x52fe]
add edx, eax
movsx ecx, byte [ebp - 0x5196]
movsx eax, byte [ebp + 0xc]
sub ecx, eax
cmp edx, ecx
jne 0x4beb21
mov edx, dword [ebp - 0x4058]
mov eax, dword [edx]
add eax, dword [ebp - 0x3c18]
mov ecx, dword [ebp - 0x3cf4]
mov dword [ecx], eax
mov dl, byte [ebp - 0x52fe]
mov byte [ebp - 0x6ba0], dl
cmp byte [ebp - 0x6ba0], 0x55
je 0x4bec83
jmp 0x4becdd
mov eax, dword [ebp - 0x4580]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x5370]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x1b95], cl
call dword [sym.imp.ole32.dll_CoSuspendClassObjects]
mov dword [ebp - 0x653c], eax
movzx ecx, word [ebp - 0x5b60]
movzx edx, word [ebp - 0x3e70]
and ecx, edx
mov eax, dword [ebp - 0x40f4]
mov word [eax], cx
mov ecx, dword [ebp - 0x60ec]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x38cc]
movzx ecx, word [eax]
push ecx
call section..text
jmp 0x4becf3
mov edx, dword [ebp - 0x554c]
mov eax, dword [ebp - 0x5c0]
mov ecx, dword [edx]
or ecx, dword [eax]
mov dword [ebp - 0x6564], ecx
mov edx, dword [ebp - 0x5c7c]
mov al, byte [edx]
mov byte [ebp - 0x6ba4], al
cmp byte [ebp - 0x6ba4], 0x13
je 0x4bed0f
jmp 0x4bee2a
mov ecx, dword [ebp - 0x3c18]
xor ecx, dword [ebp - 0x463c]
mov edx, dword [ebp - 0x560c]
mov eax, dword [edx]
mov edx, dword [ebp - 0x52c8]
add eax, dword [edx]
cmp ecx, eax
jge 0x4bedf4
lea eax, [ebp - 0x494]
push eax
lea ecx, [ebp - 0x494]
push ecx
lea edx, [ebp - 0x65e4]
push edx
lea eax, [ebp - 0x1cd8]
push eax
call dword [sym.imp.SHELL32.dll_PathYetAnotherMakeUniqueName]
mov dword [ebp - 0x2c90], eax
mov ecx, dword [ebp - 0x40f4]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x3e70]
sub edx, eax
mov word [ebp + 0x10], dx
movzx ecx, word [ebp - 0x5b60]
mov dword [ebp - 0x6ba8], ecx
cmp dword [ebp - 0x6ba8], 0x896
je 0x4beddc
cmp dword [ebp - 0x6ba8], 0xd74
je 0x4bed98
mov eax, dword [ebp - 0x3cbc]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x6388]
mov edx, dword [ebp - 0x5c2c]
mov dword [edx], ecx
jmp 0x4bee28
mov eax, dword [ebp - 0x4058]
mov ecx, dword [ebp - 0x52c8]
mov edx, dword [eax]
and edx, dword [ecx]
mov eax, dword [ebp - 0x4b54]
mov ecx, dword [ebp - 0x11bc]
sub ecx, dword [eax]
cmp edx, ecx
jg 0x4bee28
mov edx, dword [ebp - 0x41d8]
add edx, dword [ebp - 0xb7c]
mov dword [ebp - 0x344c], edx
jmp 0x4bee37
mov eax, dword [ebp - 0x4ebc]
push eax
call dword [sym.imp.SHELL32.dll_DragFinish]
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ecx]
mov dword [ebp - 0x6bac], edx
cmp dword [ebp - 0x6bac], 0x481fba25
je 0x4bee53
jmp 0x4beed0
mov eax, dword [ebp - 0x4b50]
movzx ecx, word [eax]
mov dword [ebp - 0x6bb0], ecx
cmp dword [ebp - 0x6bb0], 0x2be
je 0x4bee70
jmp 0x4bee88
movzx edx, byte [ebp - 0x2359]
movzx ecx, byte [ebp - 0x61f1]
sar edx, cl
mov eax, dword [ebp - 0x4580]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ebp - 0x28ec]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x1b64]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ecx]
or edx, dword [ebp - 0xb7c]
mov dword [ebp - 0x3360], edx
lea eax, [ebp - 0x3b10]
push eax
lea ecx, [ebp - 0x3b10]
push ecx
call dword [sym.imp.ole32.dll_CoTreatAsClass]
mov dword [ebp - 0x4478], eax
jmp 0x4bef05
mov edx, dword [ebp - 0xa58]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x5196]
and eax, ecx
mov edx, dword [ebp - 0xa58]
mov byte [edx], al
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
mov edx, dword [ebp - 0x578c]
movsx eax, word [edx]
add ecx, eax
mov word [ebp - 0x474], cx
mov ecx, dword [ebp - 0x38cc]
movzx edx, word [ecx]
push edx
movzx eax, byte [ebp + 0xc]
push eax
movzx ecx, word [ebp - 0x6208]
push ecx
mov edx, dword [ebp - 0x4580]
mov dl, byte [edx]
mov cl, byte [ebp - 0x1b95]
call fcn.00478870
call dword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
mov dword [ebp - 0x4bd8], eax
mov eax, dword [ebp - 0x52c8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x41d8]
mov edx, dword [ebp - 0x3314]
mov dword [edx], ecx
mov eax, dword [ebp - 0xb04]
mov ecx, dword [eax]
mov dword [ebp - 0x6bb4], ecx
cmp dword [ebp - 0x6bb4], 0x5d6bd864
je 0x4bef6d
jmp 0x4bef6f
jmp 0x4bef89
mov edx, dword [ebp - 0x5524]
push edx
lea eax, [ebp - 0x5c0]
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
mov dword [ebp - 0x62ec], eax
push 0x79
call dword [sym.imp.SHELL32.dll_SHChangeNotifyDeregister]
mov dword [ebp - 0x54dc], eax
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
mov dword [ebp - 0x6bb8], edx
cmp dword [ebp - 0x6bb8], 0x2090
je 0x4bf00a
cmp dword [ebp - 0x6bb8], 0x722b
je 0x4befc0
jmp 0x4bf01f
movzx eax, byte [ebp - 0x3671]
movzx ecx, byte [ebp - 0x61f1]
sub eax, ecx
mov edx, dword [ebp - 0x4580]
mov byte [edx], al
movzx eax, word [ebp + 0x10]
mov ecx, dword [ebp - 0x4b50]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x3e70], ax
mov eax, dword [ebp - 0x554c]
mov ecx, dword [ebp - 0x5200]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x1b64]
mov dword [eax], edx
jmp 0x4bf01f
movsx edx, byte [ebp - 0x52fe]
mov eax, dword [ebp - 0xa58]
movsx ecx, byte [eax]
sar edx, cl
mov byte [ebp + 0xc], dl
mov ecx, dword [ebp - 0x4058]
mov edx, dword [ecx]
add edx, dword [ebp - 0x6720]
mov eax, dword [ebp - 0x22b8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3cbc]
mov edx, dword [ebp - 0x6564]
add edx, dword [ecx]
mov dword [ebp - 0x6388], edx
lea eax, [ebp - 0x578c]
push eax
mov ecx, dword [ebp - 0x4614]
push ecx
call dword [sym.imp.SHELL32.dll_SHQueryRecycleBinW]
mov dword [ebp - 0x2178], eax
mov edx, dword [ebp - 0x41d8]
mov dword [ebp - 0x6bbc], edx
cmp dword [ebp - 0x6bbc], 0x14656915
je 0x4bf07d
jmp 0x4bf097
lea eax, [ebp - 0x50cc]
push eax
lea ecx, [ebp - 0x50cc]
push ecx
call dword [sym.imp.ole32.dll_CoSwitchCallContext]
mov dword [ebp - 0x2e6c], eax
mov edx, dword [ebp - 0x2864]
sub edx, dword [ebp - 0x3360]
mov eax, dword [ebp - 0x3cf4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2878]
push ecx
mov edx, dword [ebp - 0x6818]
push edx
mov eax, dword [ebp - 0x5524]
push eax
mov ecx, dword [ebp - 0x57a0]
push ecx
call dword [sym.imp.SHELL32.dll_ShellAboutW]
mov dword [ebp - 0x463c], eax
mov edx, dword [ebp - 0xa58]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x5c7c]
movsx edx, byte [ecx]
sub eax, edx
mov byte [ebp + 0xc], al
movzx eax, word [ebp - 0x3e70]
movzx ecx, word [ebp - 0x5b60]
sub eax, ecx
mov edx, dword [ebp - 0x1530]
mov word [edx], ax
jmp 0x4bf16d
movsx eax, word [ebp - 0x274c]
mov dword [ebp - 0x6bc0], eax
cmp dword [ebp - 0x6bc0], 0x76bf
je 0x4bf120
jmp 0x4bf13a
mov ecx, dword [ebp - 0x3cbc]
mov edx, dword [ebp - 0x6388]
mov ecx, dword [ecx]
shr edx, cl
mov eax, dword [ebp - 0x1bb4]
mov dword [eax], edx
jmp 0x4bf16d
movsx edx, byte [ebp - 0x5196]
mov eax, dword [ebp - 0x5c7c]
movsx ecx, byte [eax]
shl edx, cl
mov byte [ebp + 0xc], dl
lea ecx, [ebp - 0x35b0]
push ecx
push fcn.004d1cd0
mov edx, dword [ebp - 0x47f0]
push edx
call sub.COMCTL32.dll_RemoveWindowSubclass
mov dword [ebp - 0x62ec], eax
lea eax, [ebp - 0x3b10]
push eax
lea ecx, [ebp - 0x12d0]
push ecx
push 0xd0
mov edx, dword [ebp - 0xc08]
push edx
call dword [sym.imp.ole32.dll_IsAccelerator]
mov dword [ebp - 0x2eac], eax
mov eax, dword [ebp - 0x1fe8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0xa58]
movsx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x5c7c]
movsx eax, byte [edx]
movsx edx, byte [ebp - 0x5196]
sub eax, edx
cmp ecx, eax
jg 0x4bf207
movsx eax, byte [ebp - 0x5196]
mov ecx, dword [ebp - 0x1fe8]
movsx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0xa58]
mov byte [ecx], al
movzx edx, byte [ebp - 0x37f2]
mov eax, dword [ebp - 0x60ec]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x694c], dl
mov edx, dword [ebp - 0x4058]
mov eax, dword [edx]
and eax, dword [ebp - 0x2864]
mov ecx, dword [ebp - 0x6464]
mov dword [ecx], eax
jmp 0x4bf277
mov edx, dword [ebp - 0x2e14]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x2a94]
movzx edx, byte [ecx]
add eax, edx
movzx ecx, byte [ebp - 0x2359]
mov edx, dword [ebp - 0x4140]
movzx edx, byte [edx]
add ecx, edx
cmp eax, ecx
jg 0x4bf277
lea eax, [ebp - 0x36ec]
push eax
call dword [sym.imp.ole32.dll_CoIsHandlerConnected]
mov dword [ebp - 0x2eac], eax
movzx ecx, byte [ebp - 0x6948]
mov edx, dword [ebp - 0x60ec]
movzx eax, byte [edx]
or ecx, eax
mov edx, dword [ebp - 0x4580]
mov byte [edx], cl
movzx eax, word [ebp - 0x3b78]
mov ecx, dword [ebp - 0x38cc]
movzx edx, word [ecx]
xor eax, edx
mov word [ebp - 0x35b0], ax
jmp 0x4bf309
movzx eax, word [ebp - 0x4518]
movzx ecx, word [ebp - 0x35b0]
sub eax, ecx
mov word [ebp - 0x5b60], ax
movsx edx, byte [ebp - 0x5196]
movsx ecx, byte [ebp + 0xc]
shl edx, cl
mov eax, dword [ebp - 0xa58]
mov byte [eax], dl
mov ecx, dword [ebp - 0x6464]
mov edx, dword [ecx]
mov dword [ebp - 0x6bc4], edx
cmp dword [ebp - 0x6bc4], 0xf47be26
je 0x4bf2c4
jmp 0x4bf2ee
lea eax, [ebp - 0x4778]
push eax
lea ecx, [ebp - 0x2810]
push ecx
lea edx, [ebp - 0x554c]
push edx
lea eax, [ebp - 0x584]
push eax
call dword [sym.imp.ole32.dll_CoGetObject]
mov dword [ebp - 0x653c], eax
jmp 0x4bf309
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x6208]
or edx, eax
mov ecx, dword [ebp - 0x578c]
mov word [ecx], dx
push 0x64
lea edx, [ebp - 0x1fd8]
push edx
lea eax, [ebp - 0x1344]
push eax
call dword [sym.imp.SHELL32.dll_SHSetLocalizedName]
mov dword [ebp - 0x2e6c], eax
movzx ecx, byte [ebp - 0x1b95]
movzx edx, byte [ebp - 0x37f2]
sub ecx, edx
mov eax, dword [ebp - 0x2e14]
mov byte [eax], cl
mov ecx, dword [ebp - 0x554c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x35b0]
call fcn.004721c0
jmp 0x4bf400
mov edx, dword [ebp - 0x578c]
movsx eax, word [edx]
mov dword [ebp - 0x6bc8], eax
cmp dword [ebp - 0x6bc8], 0x24df
je 0x4bf37e
cmp dword [ebp - 0x6bc8], 0x7b05
je 0x4bf394
jmp 0x4bf3ac
mov edx, dword [ebp - 0x6564]
mov ecx, dword [ebp - 0x38cc]
mov cx, word [ecx]
call fcn.004721c0
jmp 0x4bf3ac
movzx edx, byte [ebp - 0x61f1]
movzx eax, byte [ebp - 0x1b95]
xor edx, eax
mov ecx, dword [ebp - 0x2a94]
mov byte [ecx], dl
lea edx, [ebp - 0x13d8]
push edx
call dword [sym.imp.ole32.dll_CoGetContextToken]
mov dword [ebp - 0x4478], eax
mov eax, dword [ebp - 0x3314]
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [eax]
or edx, dword [ecx]
mov dword [ebp - 0x11bc], edx
mov eax, dword [ebp - 0x1080]
mov edx, dword [ebp - 0x11bc]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x3cf4]
mov dword [eax], edx
lea ecx, [ebp - 0x587c]
push ecx
call dword [sym.imp.ole32.dll_CoIsHandlerConnected]
mov dword [ebp - 0x2eac], eax
mov edx, dword [ebp - 0x1b64]
mov eax, dword [ebp - 0x28ec]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x5c0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x547c]
movzx eax, word [edx]
mov dword [ebp - 0x6bcc], eax
cmp dword [ebp - 0x6bcc], 0x10
je 0x4bf430
jmp 0x4bf480
movzx ecx, byte [ebp - 0x4bc5]
mov edx, dword [ebp - 0x5370]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x2a94]
mov byte [edx], cl
lea eax, [ebp - 0x50cc]
push eax
lea ecx, [ebp - 0x13d8]
push ecx
lea edx, [ebp - 0x1640]
push edx
call sub.gdiplus.dll_GdiplusStartup
mov dword [ebp - 0x6564], eax
mov eax, dword [ebp - 0x6564]
add eax, dword [ebp - 0x28ec]
mov ecx, dword [ebp - 0x1b64]
mov dword [ecx], eax
jmp 0x4bf496
movzx edx, byte [ebp - 0x6948]
movzx eax, byte [ebp - 0x1b95]
sub edx, eax
mov byte [ebp - 0x694c], dl
lea ecx, [ebp - 0x4e6c]
push ecx
lea edx, [ebp - 0x12d0]
push edx
lea eax, [ebp - 0xa58]
push eax
call dword [sym.imp.ole32.dll_CoFileTimeToDosDateTime]
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0x40f4]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x4518]
add edx, eax
mov word [ebp + 0x10], dx
mov ecx, dword [ebp - 0x3cbc]
mov edx, dword [ecx]
add edx, dword [ebp - 0x6564]
mov eax, dword [ebp - 0x5200]
mov dword [eax], edx
movsx ecx, word [ebp + 8]
mov dword [ebp - 0x6bd0], ecx
cmp dword [ebp - 0x6bd0], 0x1ad7
je 0x4bf51c
cmp dword [ebp - 0x6bd0], 0x6998
je 0x4bf507
jmp 0x4bf54c
lea edx, [ebp - 0x3ddc]
push edx
call dword [sym.imp.COMDLG32.dll_ReplaceTextW]
mov dword [ebp - 0x3094], eax
jmp 0x4bf54c
movzx eax, byte [ebp - 0x61f1]
push eax
mov ecx, dword [ebp - 0x6564]
push ecx
mov edx, dword [ebp - 0x578c]
movzx eax, word [edx]
push eax
movzx ecx, byte [ebp - 0x5196]
push ecx
mov edx, dword [ebp - 0xa58]
movzx eax, byte [edx]
push eax
call fcn.00429f50
jmp 0x4bf5e2
mov ecx, dword [ebp - 0x4f18]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x463c]
sar edx, cl
mov eax, dword [ebp - 0x3314]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x11bc]
shl eax, cl
cmp edx, eax
jle 0x4bf5e2
push 0
mov ecx, dword [ebp - 0x67e8]
push ecx
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [ebp - 0x6564]
and eax, dword [edx]
mov ecx, dword [ebp - 0x3cbc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4660]
mov dword [ebp - 0x6bd4], edx
cmp dword [ebp - 0x6bd4], 0x24709cf0
je 0x4bf5b4
jmp 0x4bf5b6
jmp 0x4bf5cc
mov eax, dword [ebp - 0x5208]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x56b0]
add ecx, dword [edx]
mov dword [ebp - 0x4b98], ecx
mov eax, dword [ebp - 0x1b64]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x547c]
mov cx, word [ecx]
call fcn.004721c0
mov edx, dword [ebp - 0x578c]
movsx eax, word [edx]
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
or eax, edx
mov word [ebp - 0x5dc], ax
movzx eax, word [ebp - 0x4518]
mov ecx, dword [ebp - 0x547c]
movzx edx, word [ecx]
xor eax, edx
mov word [ebp - 0x3b78], ax
call fcn.0046d040
mov eax, dword [ebp - 0x5c7c]
mov cl, byte [eax]
mov byte [ebp - 0x6bd8], cl
cmp byte [ebp - 0x6bd8], 2
je 0x4bf634
jmp 0x4bf64e
movzx edx, byte [ebp - 0x2359]
mov eax, dword [ebp - 0x4140]
movzx ecx, byte [eax]
shl edx, cl
mov ecx, dword [ebp - 0x2e14]
mov byte [ecx], dl
mov edx, dword [ebp - 0x52c8]
mov eax, dword [ebp - 0x4f18]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x3314]
mov dword [edx], ecx
lea eax, [ebp - 0x2c50]
push eax
lea ecx, [ebp - 0x290]
push ecx
lea edx, [ebp - 0x4778]
push edx
mov eax, dword [ebp - 0x494]
push eax
call dword [sym.imp.SHELL32.dll_SHGetDiskFreeSpaceExA]
mov dword [ebp - 0xf8], eax
movzx ecx, byte [ebp - 0x61f1]
movzx edx, byte [ebp - 0x6948]
sub ecx, edx
mov byte [ebp - 0x694c], cl
mov eax, dword [ebp - 0x6564]
or eax, dword [ebp - 0x6388]
mov ecx, dword [ebp - 0x1b64]
mov dword [ecx], eax
lea edx, [ebp - 0x1bb4]
push edx
call dword [sym.imp.SHELL32.dll_SHSetInstanceExplorer]
mov eax, dword [ebp - 0x1080]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x3cf4]
add ecx, dword [edx]
mov eax, dword [ebp - 0x53b8]
mov dword [eax], ecx
jmp 0x4bf7e7
mov ecx, dword [ebp - 0x1080]
mov edx, dword [ecx]
mov dword [ebp - 0x6bdc], edx
cmp dword [ebp - 0x6bdc], 0x498340ac
je 0x4bf6fe
jmp 0x4bf700
jmp 0x4bf714
mov edx, dword [ebp - 0x28ec]
mov eax, dword [ebp - 0x547c]
mov cx, word [eax]
call fcn.004721c0
movsx edx, word [ebp - 0x6208]
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
shl edx, cl
movsx ecx, word [ebp + 8]
movsx eax, word [ebp - 0x474]
and ecx, eax
cmp edx, ecx
jge 0x4bf79c
mov ecx, dword [ebp - 0xb04]
mov edx, dword [ecx]
add edx, dword [ebp - 0x6388]
mov eax, dword [ebp - 0xb04]
mov dword [eax], edx
lea ecx, [ebp - 0x22e4]
push ecx
lea edx, [ebp - 0x587c]
push edx
lea eax, [ebp - 0x1218]
push eax
call dword [sym.imp.ole32.dll_CoUnmarshalInterface]
mov dword [ebp - 0x2e6c], eax
movzx ecx, word [ebp - 0x4518]
movzx edx, word [ebp + 0x10]
add ecx, edx
mov eax, dword [ebp - 0x40f4]
mov word [eax], cx
movzx ecx, byte [ebp - 0x37f2]
mov edx, dword [ebp - 0x1cb8]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x3671], cl
lea ecx, [ebp - 0x547c]
push ecx
lea edx, [ebp - 0x587c]
push edx
lea eax, [ebp - 0x1344]
push eax
call dword [sym.imp.ole32.dll_CoGetInterfaceAndReleaseStream]
mov dword [ebp - 0x5654], eax
mov ecx, dword [ebp - 0x56b0]
mov edx, dword [ebp - 0x2864]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x53b8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3cf4]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x2864]
mov dword [ebp - 0x463c], edx
movzx eax, word [ebp + 0x10]
mov dword [ebp - 0x6be0], eax
cmp dword [ebp - 0x6be0], 0x56a
je 0x4bf7ff
jmp 0x4bf837
mov ecx, dword [ebp - 0x4b54]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x4660]
mov eax, dword [ebp - 0x53b8]
mov dword [eax], edx
call dword [sym.imp.ole32.dll_CoRevertToSelf]
mov dword [ebp - 0x5654], eax
movsx edx, word [ebp - 0x36ec]
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
sar edx, cl
mov word [ebp + 8], dx
mov ecx, dword [ebp - 0x3cbc]
mov edx, dword [ebp - 0x1b64]
mov eax, dword [ecx]
or eax, dword [edx]
mov dword [ebp - 0x6564], eax
lea ecx, [ebp - 0x1124]
push ecx
push 0xda
call dword [sym.imp.ole32.dll_GetRunningObjectTable]
mov dword [ebp - 0x4f04], eax
jmp 0x4bf8ba
mov edx, dword [ebp - 0x28ec]
add edx, dword [ebp - 0x6564]
mov dword [ebp - 0x6388], edx
push 0xdd
lea eax, [ebp - 0x2114]
push eax
push 0xc2
lea ecx, [ebp - 0x22e4]
push ecx
lea edx, [ebp - 0x14c0]
push edx
call dword [sym.imp.SHELL32.dll_SHGetDataFromIDListW]
mov dword [ebp - 0x2ea4], eax
mov eax, dword [ebp - 0x56b0]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x463c]
mov edx, dword [ebp - 0x4f18]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3cbc]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x6388]
mov edx, dword [ebp - 0x3cbc]
mov dword [edx], ecx
mov al, byte [ebp - 0x61f1]
mov byte [ebp - 0x6be4], al
cmp byte [ebp - 0x6be4], 0xfb
je 0x4bf8e7
jmp 0x4bf903
mov ecx, dword [ebp - 0x693c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x2e14]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x693c]
mov byte [eax], dl
movzx ecx, word [ebp - 0x4518]
mov edx, dword [ebp - 0x547c]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x40f4]
movzx eax, word [edx]
mov edx, dword [ebp - 0x4b50]
movzx edx, word [edx]
sub eax, edx
cmp ecx, eax
je 0x4bf9b5
lea eax, [ebp - 0x1344]
push eax
call dword [sym.imp.SHELL32.dll_SHGetInstanceExplorer]
mov dword [ebp - 0x2ea4], eax
mov ecx, dword [ebp - 0x2864]
sub ecx, dword [ebp - 0x41d8]
mov dword [ebp - 0x463c], ecx
mov edx, dword [ebp - 0x40f4]
movzx eax, word [edx]
mov dword [ebp - 0x6be8], eax
cmp dword [ebp - 0x6be8], 0x4fb
je 0x4bf973
jmp 0x4bf99e
movzx ecx, word [ebp + 0x10]
movzx edx, word [ebp - 0x4518]
sub ecx, edx
mov eax, dword [ebp - 0x4b50]
mov word [eax], cx
lea ecx, [ebp - 0x4778]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetDesktopFolder]
mov dword [ebp - 0x2e6c], eax
jmp 0x4bf9b5
movzx edx, byte [ebp - 0x3671]
push edx
mov eax, dword [ebp - 0x1fe8]
movzx ecx, byte [eax]
push ecx
call fcn.004d1cd0
jmp 0x4bfa23
lea edx, [ebp - 0x2e14]
push edx
push 0x66
lea eax, [ebp - 0x1398]
push eax
push 0xda
push 0x40
lea ecx, [ebp - 0x5196]
push ecx
lea edx, [ebp - 0x67e8]
push edx
lea eax, [ebp - 0x4e6c]
push eax
call dword [sym.imp.ole32.dll_CoGetInstanceFromFile]
mov dword [ebp - 0x2ea4], eax
mov ecx, dword [ebp - 0x4140]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0xb04]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x137c]
movzx eax, word [edx]
push eax
mov ecx, dword [ebp - 0x5c7c]
movzx edx, byte [ecx]
push edx
movzx eax, byte [ebp - 0x5196]
push eax
call fcn.00429f50
mov cl, byte [ebp - 0x5196]
mov byte [ebp - 0x6bec], cl
cmp byte [ebp - 0x6bec], 0x28
je 0x4bfa3a
jmp 0x4bfa3c
jmp 0x4bfa54
movzx edx, byte [ebp - 0x3671]
mov eax, dword [ebp - 0x2a94]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp - 0x6948], dl
mov ecx, dword [ebp - 0x2c50]
sub ecx, dword [ebp - 0x3fb8]
mov edx, dword [ebp - 0x4b54]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1fe8]
movsx ecx, byte [eax]
movsx edx, byte [ebp + 0xc]
add ecx, edx
mov byte [ebp - 0x5196], cl
mov eax, dword [ebp - 0x137c]
movsx ecx, word [eax]
mov edx, dword [ebp - 0x578c]
movsx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x137c]
mov word [edx], cx
lea eax, [ebp - 0x14c0]
push eax
lea ecx, [ebp - 0x1218]
push ecx
push 0xb3
push 0x97
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
mov edx, dword [ebp - 0x3cbc]
mov eax, dword [ebp - 0x1bb4]
mov edx, dword [edx]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x1b64]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4580]
movzx edx, byte [ecx]
push edx
movzx eax, byte [ebp - 0x5196]
push eax
call fcn.004d1cd0
lea ecx, [ebp - 0x4e6c]
push ecx
call dword [sym.imp.SHELL32.dll_ILFree]
mov edx, dword [ebp - 0x2a94]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x2e14]
movzx edx, byte [ecx]
and eax, edx
mov byte [ebp - 0x61f1], al
mov eax, dword [ebp - 0x1660]
xor eax, dword [ebp - 0x4b98]
mov ecx, dword [ebp - 0x4b54]
mov dword [ecx], eax
lea edx, [ebp - 0x1fd8]
push edx
push 0xca
call dword [sym.imp.ole32.dll_CoGetMalloc]
mov dword [ebp - 0x2ea4], eax
mov al, byte [ebp - 0x61f1]
mov byte [ebp - 0x6bf0], al
cmp byte [ebp - 0x6bf0], 0xe4
je 0x4bfb55
jmp 0x4bfb68
lea ecx, [ebp - 0x6180]
push ecx
call dword [sym.imp.COMDLG32.dll_ReplaceTextW]
mov dword [ebp - 0x67e8], eax
mov edx, dword [ebp - 0x4b50]
movzx eax, word [edx]
movzx ecx, word [ebp + 0x10]
add eax, ecx
mov edx, dword [ebp - 0x4b50]
mov word [edx], ax
mov eax, dword [ebp - 0x4580]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x1b95]
add ecx, edx
mov byte [ebp - 0x61f1], cl
movsx eax, word [ebp - 0x5dc]
movsx ecx, word [ebp - 0x36ec]
and eax, ecx
mov edx, dword [ebp - 0x137c]
mov word [edx], ax
movzx eax, byte [ebp - 0x61f1]
push eax
mov ecx, dword [ebp - 0x28ec]
push ecx
movzx edx, word [ebp - 0x5dc]
push edx
movzx eax, byte [ebp - 0x5196]
push eax
movzx ecx, byte [ebp - 0x5196]
push ecx
call fcn.00429f50
jmp 0x4bfc80
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dl, byte [ebp - 0x61f1]
mov byte [ebp - 0x6bf4], dl
cmp byte [ebp - 0x6bf4], 0xc0
je 0x4bfbff
jmp 0x4bfc6a
mov eax, dword [ebp - 0x2e14]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x61f1]
and ecx, edx
mov eax, dword [ebp - 0x2e14]
mov byte [eax], cl
mov ecx, dword [ebp - 0x137c]
movsx edx, word [ecx]
movsx eax, word [ebp + 8]
add edx, eax
mov word [ebp - 0x5dc], dx
mov ecx, dword [ebp - 0x580c]
push ecx
call dword [sym.imp.SHELL32.dll_ILCreateFromPathW]
mov dword [ebp - 0x1124], eax
mov edx, dword [ebp - 0x4f18]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x344c]
sar eax, cl
mov ecx, dword [ebp - 0x56b0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6388]
mov ecx, dword [ebp + 0x10]
call fcn.004721c0
jmp 0x4bfc80
mov edx, dword [ebp - 0x2ab8]
mov eax, dword [ebp - 0x4f18]
mov ecx, dword [edx]
or ecx, dword [eax]
mov dword [ebp - 0x3fb8], ecx
call fcn.004d7e60
mov edx, dword [ebp - 0x3fb8]
sub edx, dword [ebp - 0x344c]
mov eax, dword [ebp - 0x1080]
mov dword [eax], edx
movsx ecx, byte [ebp + 0xc]
sub ecx, 0x65
mov byte [ebp + 0xc], cl
jmp 0x4bfd57
mov dl, byte [ebp - 0x3671]
mov byte [ebp - 0x6bf8], dl
cmp byte [ebp - 0x6bf8], 0xac
je 0x4bfcbf
jmp 0x4bfd07
movzx eax, word [ebp + 0x10]
push eax
movzx ecx, byte [ebp + 0xc]
push ecx
movzx edx, word [ebp + 8]
push edx
mov dl, byte [ebp - 0x3671]
mov cl, byte [ebp - 0x3671]
call fcn.00478870
lea eax, [ebp - 0x4778]
push eax
lea ecx, [ebp - 0x36ec]
push ecx
lea edx, [ebp - 0x2a94]
push edx
mov eax, dword [ebp - 0x4614]
push eax
call dword [sym.imp.SHELL32.dll_SHGetDiskFreeSpaceExW]
mov dword [ebp - 0x62ec], eax
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ecx]
mov dword [ebp - 0x6388], edx
lea eax, [ebp - 0x1ba0]
push eax
lea ecx, [ebp - 0x3f34]
push ecx
call dword [sym.imp.ole32.dll_CoAllowSetForegroundWindow]
mov dword [ebp - 0x2ea4], eax
mov edx, dword [ebp - 0x2ab8]
mov eax, dword [ebp - 0x4b98]
add eax, dword [edx]
mov ecx, dword [ebp - 0x4f18]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4b98]
sub edx, dword [ebp - 0x344c]
mov dword [ebp - 0x2864], edx
movzx eax, word [ebp + 0x10]
mov dword [ebp - 0x6bfc], eax
cmp dword [ebp - 0x6bfc], 0xe2d
je 0x4bfd6f
jmp 0x4bfded
lea ecx, [ebp - 0x2a94]
push ecx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov edx, dword [ebp - 0x137c]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x6208]
or eax, ecx
mov word [ebp - 0x36ec], ax
mov edx, dword [ebp - 0x4f18]
mov eax, dword [ebp - 0x2ab8]
mov edx, dword [edx]
mov ecx, dword [eax]
sar edx, cl
mov eax, dword [ebp - 0x4f18]
mov dword [eax], edx
lea ecx, [ebp - 0x4778]
push ecx
lea edx, [ebp - 0x4778]
push edx
push 0x1a
mov eax, dword [ebp - 0x22e4]
push eax
call dword [sym.imp.SHELL32.dll_SHChangeNotification_Lock]
mov dword [ebp - 0x2114], eax
mov ecx, dword [ebp - 0x2c50]
push ecx
mov edx, dword [ebp - 0x4140]
movzx eax, byte [edx]
push eax
call fcn.004ef7c0
add esp, 8
jmp 0x4bfe07
mov ecx, dword [ebp - 0x4140]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x61f1]
and edx, eax
mov ecx, dword [ebp - 0x2e14]
mov byte [ecx], dl
push 0x61
push 0x9e
lea edx, [ebp - 0x1fd8]
push edx
push 0xe0
mov eax, dword [ebp - 0x38e8]
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov dword [ebp - 0x28ec], eax
movsx ecx, word [ebp - 0x6208]
movsx edx, word [ebp + 8]
add ecx, edx
mov eax, dword [ebp - 0x137c]
movsx edx, word [eax]
cmp ecx, edx
jle 0x4bfecb
movsx eax, word [ebp - 0x6208]
movsx ecx, word [ebp + 8]
sar eax, cl
mov ecx, dword [ebp - 0x137c]
mov word [ecx], ax
mov dl, byte [ebp + 0xc]
mov byte [ebp - 0x6c00], dl
cmp byte [ebp - 0x6c00], 0x51
je 0x4bfe75
jmp 0x4bfe82
movzx eax, word [ebp + 0x10]
shl eax, 0xc
mov word [ebp + 0x10], ax
jmp 0x4bfeaf
mov ecx, dword [ebp - 0x1bb4]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x6388]
mov eax, dword [ebp - 0x1bb4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2c50]
push ecx
movzx edx, byte [ebp - 0x1b95]
push edx
call fcn.004ef7c0
add esp, 8
lea eax, [ebp - 0x2c50]
push eax
lea ecx, [ebp - 0x2370]
push ecx
call dword [sym.imp.SHELL32.dll_ILIsEqual]
mov dword [ebp - 0x1398], eax
jmp 0x4bff07
movzx edx, byte [ebp - 0x61f1]
mov eax, dword [ebp - 0x2a94]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x2e14]
movzx ecx, byte [eax]
movzx eax, byte [ebp - 0x1b95]
or ecx, eax
cmp edx, ecx
jge 0x4bff07
mov ecx, dword [ebp - 0x344c]
and ecx, dword [ebp - 0x2c50]
mov edx, dword [ebp - 0x4f18]
mov dword [edx], ecx
lea eax, [ebp - 0x290]
push eax
call dword [sym.imp.COMDLG32.dll_PrintDlgW]
mov dword [ebp - 0x535c], eax
movzx ecx, word [ebp + 0x10]
mov dword [ebp - 0x6c04], ecx
cmp dword [ebp - 0x6c04], 0x3ea
je 0x4bff32
jmp 0x4bff5a
movzx edx, byte [ebp - 0x694c]
movzx eax, byte [ebp - 0x61f1]
sub edx, eax
mov ecx, dword [ebp - 0x2e14]
mov byte [ecx], dl
mov edx, dword [ebp - 0x1bb4]
mov eax, dword [edx]
mov dword [ebp - 0x6388], eax
jmp 0x4bff6e
mov ecx, dword [ebp - 0x2a94]
movzx edx, byte [ecx]
push edx
movzx eax, word [ebp + 0x10]
push eax
call section..text
mov ecx, dword [ebp - 0x137c]
mov dx, word [ecx]
mov word [ebp + 8], dx
call fcn.0046d040
lea eax, [ebp - 0x2c50]
push eax
lea ecx, [ebp - 0x2c50]
push ecx
call dword [sym.imp.SHELL32.dll_ILFindChild]
mov dword [ebp - 0xba8], eax
movsx edx, byte [ebp + 0xc]
cmp edx, 0x60
jl 0x4c0056
movzx eax, byte [ebp - 0x61f1]
movzx ecx, byte [ebp - 0x3671]
shl eax, cl
mov ecx, dword [ebp - 0x2e14]
mov byte [ecx], al
movsx edx, word [ebp - 0x6208]
mov dword [ebp - 0x6c08], edx
cmp dword [ebp - 0x6c08], 0x11c1
je 0x4bffda
jmp 0x4c0029
mov eax, dword [ebp - 0x137c]
mov cx, word [eax]
mov word [ebp + 8], cx
movsx edx, word [ebp - 0x6208]
movsx ecx, word [ebp + 8]
sar edx, cl
mov eax, dword [ebp - 0x137c]
mov word [eax], dx
mov ecx, dword [ebp - 0x2e14]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x6388]
push eax
mov ecx, dword [ebp - 0x137c]
movzx edx, word [ecx]
push edx
movzx eax, byte [ebp + 0xc]
push eax
movzx ecx, byte [ebp + 0xc]
push ecx
call fcn.00429f50
jmp 0x4c0056
lea edx, [ebp - 0x2dd8]
push edx
lea eax, [ebp - 0x1218]
push eax
lea ecx, [ebp - 0xf0]
push ecx
push 0x95
lea edx, [ebp - 0xf0]
push edx
call dword [sym.imp.ole32.dll_CoGetClassObject]
mov dword [ebp - 0x5654], eax
mov eax, dword [section..data]
pop esi
mov esp, ebp
pop ebp
ret 0xc