Function at 0x4640a0
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49f0bd
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x668
mov eax, dword [0x4d7200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x610], edi
mov eax, dword [edi + 0xbc]
lea ecx, [edi + 0x2e8]
cmp eax, 0xffffffff
jne 0x4640fc
mov eax, dword [ecx]
mov edx, dword [edi + 0x2e4]
test edx, edx
je 0x467231
cmp eax, 1
jl 0x467231
cmp eax, dword [ecx]
jg 0x467231
lea eax, [eax + eax*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x467231
cmp dword [edx + eax*8], 0xf
jne 0x467231
push 2
push 0xffffffffffffffff
push 0x100c
push dword [edx + eax*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x648], eax
test eax, eax
js 0x467231
push ecx
push dword [edi + 0xd8]
lea ecx, [edi + 0x2a8]
call fcn.00416520
mov edx, eax
lea ecx, [edi + 0x2a8]
mov dword [ebp - 0x644], edx
test edx, edx
jns 0x464190
push ecx
push 0x1c2
push 0x96
push ecx
push 0
push 0x4c93b8
jmp 0x46724a
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
movq qword [ebp - 0x28], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov byte [ebp - 0x20], 1
mov dword [ebp - 4], 0
movq qword [ebp - 0x44], xmm0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov byte [ebp - 0x3c], 1
movq qword [ebp - 0x98], xmm0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x98], 0
mov byte [ebp - 0x90], 1
xor eax, eax
movq qword [ebp - 0x34], xmm0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x618], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x2c], 1
movq qword [ebp - 0xc4], xmm0
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xc4], eax
mov byte [ebp - 0xbc], 1
push 4
push edx
mov byte [ebp - 4], 4
push dword [edi + 0xd8]
call fcn.00416470
mov dword [ebp - 0x61c], eax
mov edx, 2
mov dword [ebp - 0x40], 0
test eax, eax
jne 0x464291
mov byte [ebp - 0x3c], al
xor ecx, ecx
mov eax, 1
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x61c], eax
xor ecx, ecx
mov word [eax], cx
mov byte [ebp - 0x3c], 1
mov dword [ebp - 0x44], eax
cmp eax, 0x4c21e0
je 0x4642ca
test eax, eax
je 0x464368
mov esi, 0x4c21e0
sub eax, esi
mov dword [ebp - 0x5b8], eax
movzx eax, word [eax + esi]
mov ecx, eax
test ax, ax
jne 0x464317
cmp word [esi], ax
jne 0x46431c
mov edi, dword [ebp - 0x610]
push ecx
push 0x1c2
push 0x96
lea eax, [edi + 0x2a8]
mov ecx, edi
push eax
push 0
push 0x4c9c90
call fcn.00432ac0
or esi, 0xffffffff
mov eax, dword [ebp - 0x61c]
test eax, eax
je 0x464300
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x464310
push eax
call fcn.00489f13
add esp, 4
mov eax, esi
jmp 0x467254
cmp ax, word [esi]
je 0x464354
xor edx, edx
cmp dx, ax
jne 0x464327
xor edi, edi
jmp 0x464333
push ecx
call fcn.0048e184
add esp, 4
movzx edi, ax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x464343
xor eax, eax
jmp 0x46434f
push ecx
call fcn.0048e184
add esp, 4
movzx eax, ax
cmp di, ax
jne 0x464362
mov eax, dword [ebp - 0x5b8]
add esi, 2
jmp 0x4642b4
mov edi, dword [ebp - 0x610]
mov ecx, edi
call fcn.0042ee70
push 3
push dword [ebp - 0x648]
lea ecx, [edi + 0x2a8]
push dword [edi + 0xbc]
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x28]
test esi, esi
jne 0x4643e2
test eax, eax
je 0x46439e
push eax
call fcn.00489f13
add esp, 4
push 2
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x4643d4
mov ax, word [ecx + ecx]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x4643c1
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
jmp 0x4643f7
test eax, eax
je 0x4643ef
push eax
call fcn.00489f13
add esp, 4
xor eax, eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x20], 1
test esi, esi
je 0x464428
test eax, eax
jne 0x464415
cmp word [esi], ax
je 0x464410
inc eax
cmp word [esi + eax*2], 0
jne 0x464408
mov dword [ebp - 0x24], eax
test eax, eax
jle 0x464428
push esi
mov byte [ebp - 0x20], 1
call fcn.0048e09c
add esp, 4
mov edi, eax
jmp 0x46442e
mov byte [ebp - 0x20], 0
xor edi, edi
mov eax, dword [ebp - 0x610]
push 4
push dword [ebp - 0x644]
push dword [eax + 0xd8]
lea ecx, [eax + 0x2a8]
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x61c]
test esi, esi
jne 0x464484
test eax, eax
je 0x464466
push eax
call fcn.00489f13
add esp, 4
push 2
mov byte [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
call fcn.0048a2cb
mov ecx, eax
add esp, 4
xor eax, eax
mov word [ecx], ax
jmp 0x46449a
test eax, eax
je 0x464491
push eax
call fcn.00489f13
add esp, 4
mov ecx, esi
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x61c], ecx
test ecx, ecx
je 0x4644d6
xor eax, eax
cmp word [ecx], ax
je 0x4644b8
nop
inc eax
cmp word [ecx + eax*2], 0
jne 0x4644b0
mov dword [ebp - 0x40], eax
test eax, eax
jle 0x4644d6
push ecx
mov byte [ebp - 0x3c], 1
call fcn.0048e09c
mov ecx, dword [ebp - 0x61c]
add esp, 4
mov esi, eax
jmp 0x4644dc
mov byte [ebp - 0x3c], 0
xor esi, esi
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x467206
cmp word [eax], 0
je 0x467206
test ecx, ecx
je 0x467206
cmp word [ecx], 0
je 0x467206
mov ecx, dword [ebp - 0x610]
push esi
push edi
call fcn.0042f380
test eax, eax
je 0x467206
xorps xmm0, xmm0
movups xmmword [ebp - 0xe4], xmm0
mov dword [ebp - 0xe4], 0
movups xmmword [ebp - 0xd4], xmm0
mov eax, dword [ebp - 0x610]
push ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xe4]
movaps xmm0, xmmword [0x4cd010]
push 0
push dword [eax + 0x54]
movups xmmword [ebp - 0xdc], xmm0
mov dword [ebp - 0xcc], 0xd
push dword [eax + 0x44]
add eax, 0x2a8
mov dword [ebp - 0xc8], 0
push eax
call fcn.00417480
push 0
push esi
mov esi, dword [ebp - 0x610]
mov ecx, esi
push edi
mov byte [ebp - 4], 6
call fcn.0042f1e0
mov dword [ebp - 0x5b8], eax
test eax, eax
je 0x4645ca
push 0
push 0x4c23c4
lea ecx, [esi + 0x1a0]
call fcn.0041b1c0
mov byte [ebp - 0x90], 0
mov edi, eax
test eax, eax
je 0x4645d3
xor esi, esi
cmp word [eax], si
je 0x4645d5
nop
inc esi
cmp word [eax + esi*2], 0
jne 0x4645c0
jmp 0x4645d5
xor edi, edi
mov byte [ebp - 0x90], 0
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x94], esi
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x98], eax
test esi, esi
jle 0x464626
mov ecx, eax
sub edi, eax
mov edx, esi
nop word [eax + eax]
mov ax, word [edi + ecx]
lea ecx, [ecx + 2]
mov word [ecx - 2], ax
sub edx, 1
jne 0x464610
mov eax, dword [ebp - 0x98]
xor ecx, ecx
mov byte [ebp - 0x90], 1
mov word [eax + esi*2], cx
mov esi, dword [ebp - 0x610]
push 0x4c2198
lea ecx, [esi + 0x168]
call fcn.0041b0e0
cmp byte [esi + 0x198], 0
jne 0x46465c
xor edi, edi
mov dword [ebp - 0x38], edi
jmp 0x464706
cmp word [esi + 0x178], 8
jne 0x464679
push dword [esi + 0x180]
call fcn.0048e09c
add esp, 4
movzx edi, ax
jmp 0x464680
movzx edi, word [esi + 0x180]
mov dword [ebp - 0x38], edi
test di, di
je 0x464706
mov byte [ebp - 0x2c], 0
xor esi, esi
inc esi
cmp word [esi*2 + 0x4c0540], 0
jne 0x464692
xor ecx, ecx
mov dword [ebp - 0x618], esi
lea eax, [esi + 1]
mov dword [ebp - 0x30], esi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x34], eax
test esi, esi
jle 0x4646f9
mov edx, dword [ebp - 0x618]
mov esi, 0x4c0540
mov ecx, eax
sub esi, eax
nop dword [eax]
mov ax, word [esi + ecx]
lea ecx, [ecx + 2]
mov word [ecx - 2], ax
sub edx, 1
jne 0x4646e0
mov esi, dword [ebp - 0x618]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov byte [ebp - 0x2c], 1
mov word [eax + esi*2], cx
mov word [eax], di
mov esi, dword [ebp - 0x610]
push dword [esi + 0x4d8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x464724
mov edi, dword [esi + 0x4d8]
jmp 0x464726
xor edi, edi
push 0x268
lea eax, [ebp - 0x350]
push 0
push eax
call fcn.0048ba10
add esp, 0xc
mov word [ebp - 0x318], 0
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x240], 0
mov byte [ebp - 0x238], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x350]
push 1
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0
call fcn.00417000
push ecx
push edi
push 0xffffffffffffffff
push SysReAllocString
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x136
push 0x23a
add esi, 0x22c
lea eax, [ebp - 0x350]
push 0x4ca26c
cmovne eax, esi
lea ecx, [ebp - 0x350]
push 0x4c3d00
mov dword [ebp - 0x190], eax
call fcn.0040bf80
push ecx
push 0xc
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xff000000
push 0x136
push 0x23a
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 8
call fcn.004167f0
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x640], eax
test edi, edi
je 0x46485e
mov edi, dword [ebp - 0x610]
xor esi, esi
add edi, 0x2f8
nop dword [eax]
mov eax, dword [edi]
test eax, eax
je 0x46483c
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x46483c
inc esi
add edi, 4
cmp esi, 0x30
jl 0x464820
jmp 0x46485e
mov eax, dword [ebp - 0x610]
mov ecx, dword [ebp - 0x640]
mov dword [eax + esi*4 + 0x2f8], ecx
inc esi
cmp esi, dword [eax + 0x2f4]
jle 0x46485e
mov dword [eax + 0x2f4], esi
movsd xmm0, qword [0x4cc778]
xor eax, eax
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0xffffff
movsd qword [ebp - 0x1e0], xmm0
mov dword [ebp - 0x1d8], 0x2bc
mov byte [ebp - 0x1d4], 1
mov byte [ebp - 0x192], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4bff50], 0
jne 0x4648a0
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x1d2]
push 0x20
push eax
call fcn.0048d1b3
add esp, 0x10
mov dword [ebp - 0x160], 0x1400
lea ecx, [ebp - 0x350]
call fcn.00416d40
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
test al, al
je 0x46494c
mov eax, dword [ebp - 0x310]
push 0
push dword [ebp - 0x234]
inc eax
push eax
push dword [ebp - 0x11c]
movzx eax, byte [ebp - 0x108]
push 0x1c
push 0x216
push 5
and eax, 1
push 5
shl eax, 0x11
add eax, 0x50000300
push eax
push 0x4ca2a8
push 0x4c018c
push 0
call esi
test eax, eax
je 0x46494c
push eax
push 0xd
lea ecx, [ebp - 0x350]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cce40]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x314]
movups xmmword [eax + ecx*8 + 0x24], xmm0
push 0xff000000
sub esp, 8
lea ecx, [ebp - 0x350]
push 7
push 0x21b
call fcn.00411850
movsd xmm0, qword [0x4cc768]
mov dword [ebp - 0x60c], eax
xor eax, eax
movsd qword [ebp - 0x1e0], xmm0
mov dword [ebp - 0x1d8], 0x190
mov byte [ebp - 0x1d4], 1
mov byte [ebp - 0x192], 0
nop word [eax + eax]
inc eax
cmp word [eax*2 + 0x4bff50], 0
jne 0x4649a0
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x1d2]
push 0x20
push eax
call fcn.0048d1b3
add esp, 0x10
mov dword [ebp - 0x160], 0x400
lea ecx, [ebp - 0x350]
call fcn.00416d40
test al, al
je 0x464a43
mov eax, dword [ebp - 0x310]
push 0
push dword [ebp - 0x234]
inc eax
push eax
push dword [ebp - 0x11c]
movzx eax, byte [ebp - 0x108]
push 0x12
push 0x6e
push 0x34
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4ca300
push 0x4c018c
push 0
call esi
test eax, eax
je 0x464a43
push eax
push 0xd
lea ecx, [ebp - 0x350]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cca60]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x314]
movups xmmword [eax + ecx*8 + 0x24], xmm0
lea ecx, [ebp - 0x350]
mov byte [ebp - 0x90], 1
call fcn.00416d40
test al, al
jne 0x464a68
mov dword [ebp - 0x64c], 0
jmp 0x464aee
test byte [ebp - 0x108], 1
mov eax, 0x50020080
push 0
push dword [ebp - 0x234]
mov ecx, 0x50000080
cmovne ecx, eax
mov eax, dword [ebp - 0x310]
inc eax
or ecx, 0x10000
push eax
push dword [ebp - 0x11c]
push 0x14
push 0xd2
push 0x32
push 0x87
push ecx
push dword [ebp - 0x98]
push 0x4c0220
push 0x200
call esi
test eax, eax
jne 0x464ac5
mov dword [ebp - 0x64c], eax
jmp 0x464aee
push eax
push 0xc
lea ecx, [ebp - 0x350]
call fcn.00416ab0
mov ecx, dword [ebp - 0x314]
movaps xmm0, xmmword [0x4ccce0]
mov dword [ebp - 0x64c], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
cmp dword [ebp - 0x120], 0
je 0x464b7f
lea ecx, [ebp - 0x350]
call fcn.00416d40
test al, al
je 0x464b7f
mov eax, dword [ebp - 0x310]
push 0
push dword [ebp - 0x234]
inc eax
push eax
push dword [ebp - 0x11c]
movzx eax, byte [ebp - 0x108]
push 0x16
push 0x46
push 0x31
and eax, 1
push 0x15e
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4ca324
push 0x4c019c
push 0
call esi
test eax, eax
je 0x464b7f
push eax
push 3
lea ecx, [ebp - 0x350]
call fcn.00416ab0
mov ecx, dword [ebp - 0x314]
movaps xmm0, xmmword [0x4ccd10]
mov dword [ebp - 0x650], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x464b89
mov dword [ebp - 0x650], 0
cmp dword [ebp - 0x5b8], 0
jne 0x464ba1
push 0x40
push 0xffffffffffffffff
lea ecx, [ebp - 0x350]
call fcn.00414360
lea ecx, [ebp - 0x44]
call fcn.0041e2a0
lea ecx, [ebp - 0x350]
call fcn.00416d40
test al, al
je 0x464c1e
mov eax, dword [ebp - 0x310]
push 0
push dword [ebp - 0x234]
inc eax
push eax
push dword [ebp - 0x11c]
movzx eax, byte [ebp - 0x108]
push 0x12
push 0x6e
push 0x5d
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4ca330
push 0x4c018c
push 0
call esi
test eax, eax
je 0x464c1e
push eax
push 0xd
lea ecx, [ebp - 0x350]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cca70]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x314]
movups xmmword [eax + ecx*8 + 0x24], xmm0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x61c], eax
test eax, eax
jne 0x464c46
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x61c], eax
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov word [eax], cx
sub esp, 0x10
mov byte [ebp - 0x3c], 1
lea ecx, [ebp - 0x350]
push 0x5a
push 0x5a
push 0x87
push eax
call fcn.00411c70
cmp dword [ebp - 0x120], 0
mov edi, eax
mov dword [ebp - 0x628], edi
je 0x464cfb
lea ecx, [ebp - 0x350]
call fcn.00416d40
test al, al
je 0x464cfb
mov eax, dword [ebp - 0x310]
push 0
push dword [ebp - 0x234]
inc eax
push eax
push dword [ebp - 0x11c]
movzx eax, byte [ebp - 0x108]
push 0x19
push 0x46
push 0x59
and eax, 1
push 0xe6
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4ca324
push 0x4c019c
push 0
call esi
test eax, eax
je 0x464cfb
push eax
push 3
lea ecx, [ebp - 0x350]
call fcn.00416ab0
mov ecx, dword [ebp - 0x314]
movaps xmm0, xmmword [0x4ccd40]
mov dword [ebp - 0x63c], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x464d05
mov dword [ebp - 0x63c], 0
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x4c1e78
je 0x464d41
test ecx, ecx
je 0x464d65
mov esi, 0x4c1e78
mov eax, ecx
sub eax, esi
mov dword [ebp - 0x5b8], eax
movzx eax, word [eax + esi]
mov ecx, eax
test ax, ax
jne 0x464ed5
cmp word [esi], ax
jne 0x464eda
mov edi, dword [ebp - 0x628]
push 0x40
push edi
lea ecx, [ebp - 0x350]
call fcn.00414360
push 0x40
push dword [ebp - 0x63c]
lea ecx, [ebp - 0x350]
call fcn.00414360
mov ecx, dword [ebp - 0x34]
cmp word [ebp - 0x38], 0
je 0x464f24
test ecx, ecx
jne 0x464d91
push 2
call fcn.0048a2cb
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x618], eax
mov dword [ebp - 0x30], eax
mov word [ecx], ax
mov eax, dword [ebp - 0x28]
mov edi, ecx
mov byte [ebp - 0x2c], 1
xor esi, esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 0
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
inc esi
cmp word [esi*2 + 0x4ca354], 0
jne 0x464db1
test ecx, ecx
je 0x464dd2
xor eax, eax
cmp word [ecx], ax
je 0x464dd0
inc eax
cmp word [ecx + eax*2], 0
jne 0x464dc8
add esi, eax
xor eax, eax
inc eax
cmp word [eax*2 + 0x4bfc74], 0
jne 0x464dd4
add esi, eax
xor ecx, ecx
mov edx, 2
mov dword [ebp - 0x62c], esi
lea eax, [esi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, dword [ebp - 0x28]
add esp, 4
mov dword [ebp - 0x5b8], eax
mov ecx, eax
test edx, edx
je 0x464e31
movzx eax, word [edx]
test ax, ax
je 0x464e31
nop dword [eax + eax]
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x464e20
mov esi, 0x4ca354
mov edx, 0x52
sub esi, ecx
nop dword [eax]
mov word [ecx], dx
add ecx, 2
movzx eax, word [esi + ecx]
mov edx, eax
test ax, ax
jne 0x464e40
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x464e73
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x464e73
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
add ecx, 2
test ax, ax
jne 0x464e62
mov eax, 0x29
mov esi, 0x4bfc74
nop dword [eax]
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
lea ecx, [ecx + 2]
test ax, ax
jne 0x464e80
mov esi, dword [ebp - 0x62c]
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x464eac
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], esi
mov byte [ebp - 0x20], 1
test eax, eax
je 0x464fa1
push eax
call fcn.00489f13
add esp, 4
jmp 0x464fa1
cmp ax, word [esi]
je 0x464f16
xor edx, edx
cmp dx, ax
jne 0x464ee5
xor edi, edi
jmp 0x464ef1
push ecx
call fcn.0048e184
add esp, 4
movzx edi, ax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x464f01
xor eax, eax
jmp 0x464f0d
push ecx
call fcn.0048e184
add esp, 4
movzx eax, ax
cmp di, ax
jne 0x464d62
mov eax, dword [ebp - 0x5b8]
add esi, 2
jmp 0x464d23
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x464f34
push eax
call fcn.00489f13
add esp, 4
mov byte [ebp - 0x20], 0
xor eax, eax
nop word [eax + eax]
inc eax
cmp word [eax*2 + 0x4ca384], 0
jne 0x464f40
mov dword [ebp - 0x24], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x464f97
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4ca384]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x464f80
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x20], 1
cmp dword [ebp - 0x28], 0
jne 0x464fbc
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov word [eax], cx
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x120], 0
mov esi, dword [ebp - 0x28]
mov byte [ebp - 0x20], 1
je 0x465059
lea ecx, [ebp - 0x350]
call fcn.00416d40
test al, al
je 0x465059
mov eax, dword [ebp - 0x310]
push 0
push dword [ebp - 0x234]
inc eax
push eax
push dword [ebp - 0x11c]
movzx eax, byte [ebp - 0x108]
push 0x19
push 0xc8
push 0x59
and eax, 1
push 0x15e
shl eax, 0x11
add eax, 0x50010000
push eax
push esi
push 0x4c019c
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x465059
push eax
push 3
lea ecx, [ebp - 0x350]
call fcn.00416ab0
mov ecx, dword [ebp - 0x314]
mov esi, eax
movaps xmm0, xmmword [0x4ccdb0]
mov dword [ebp - 0x620], esi
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x465063
mov dword [ebp - 0x620], 0
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x465070
cmp word [eax], 0
jne 0x46507f
push 0x40
push 0xffffffffffffffff
lea ecx, [ebp - 0x350]
call fcn.00414360
movsd xmm0, qword [0x4cc760]
xor eax, eax
movsd qword [ebp - 0x1e0], xmm0
mov dword [ebp - 0x1d8], 0x190
mov byte [ebp - 0x1d4], 1
mov byte [ebp - 0x192], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4bff50], 0
jne 0x4650b0
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x1d2]
push 0x20
push eax
call fcn.0048d1b3
add esp, 0x10
lea ecx, [ebp - 0x350]
push 0xffffffffffffffff
push 0x1080000d
push 0x78
push 0x145
push 0x87
push 0x14
push 0
push 0x4ca3bc
call fcn.004120f0
mov edi, dword [ebp - 0x610]
push 0x4c7100
mov dword [ebp - 0x630], eax
lea ecx, [edi + 0x168]
call fcn.0041b0e0
mov cx, word [edi + 0x178]
mov eax, 0x2000
and cx, ax
xor eax, eax
cmp ax, cx
jne 0x46513c
mov dword [ebp - 0x8c], 1
jmp 0x46520a
mov esi, dword [edi + 0x180]
test esi, esi
je 0x46512d
cmp dword [esi + 0xc], eax
je 0x46512d
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x8c], 1
push eax
push esi
call dword [sym.imp.OLEAUT32.dll_VarR8FromUI1]
cmp dword [esi + 0xc], 0
je 0x46520a
cmp word [ebp - 0x8c], 8
jne 0x46520a
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x46518b
push eax
call fcn.00489f13
add esp, 4
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x20], 1
mov edi, dword [esi + 0x10]
mov dword [ebp - 0x38], 0
test edi, edi
jle 0x465204
nop dword [eax + eax]
lea eax, [ebp - 0x5b8]
push eax
lea eax, [ebp - 0x38]
push eax
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayPutElement]
test eax, eax
jne 0x4651f9
mov ecx, dword [ebp - 0x5b8]
test ecx, ecx
je 0x4651f9
cmp word [ecx], ax
je 0x4651f9
inc eax
cmp word [ecx + eax*2], 0
jne 0x4651d5
cmp eax, 3
jle 0x4651f9
push ecx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push ecx
lea ecx, [ebp - 0x350]
call fcn.004160e0
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp eax, edi
jl 0x4651b0
mov edi, dword [ebp - 0x610]
movsd xmm0, qword [0x4cc768]
xor eax, eax
movsd qword [ebp - 0x1e0], xmm0
mov dword [ebp - 0x1d8], 0x190
mov byte [ebp - 0x1d4], 1
mov byte [ebp - 0x192], 0
inc eax
cmp word [eax*2 + 0x4bff50], 0
jne 0x465234
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x1d2]
push 0x20
push eax
call fcn.0048d1b3
add esp, 0x10
cmp dword [ebp - 0x120], 0
je 0x4652f5
lea ecx, [ebp - 0x350]
call fcn.00416d40
test al, al
je 0x4652f5
mov eax, dword [ebp - 0x310]
push 0
push dword [ebp - 0x234]
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
inc eax
push eax
push dword [ebp - 0x11c]
movzx eax, byte [ebp - 0x108]
push 0x19
push 0xc8
push 0x8c
and eax, 1
push 0x15e
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4ca3e8
push 0x4c019c
push 0
call esi
test eax, eax
je 0x4652fb
push eax
push 3
lea ecx, [ebp - 0x350]
call fcn.00416ab0
mov ecx, dword [ebp - 0x314]
movaps xmm0, xmmword [0x4ccdc0]
mov dword [ebp - 0x638], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x465305
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [ebp - 0x638], 0
push 0x40
push 0xffffffffffffffff
lea ecx, [ebp - 0x350]
call fcn.00414360
cmp dword [ebp - 0x120], 0
je 0x4653ab
lea ecx, [ebp - 0x350]
call fcn.00416d40
test al, al
je 0x4653ab
mov eax, dword [ebp - 0x310]
push 0
push dword [ebp - 0x234]
inc eax
push eax
push dword [ebp - 0x11c]
movzx eax, byte [ebp - 0x108]
push 0x19
push 0xc8
push 0xaa
and eax, 1
push 0x15e
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4ca420
push 0x4c019c
push 0
call esi
test eax, eax
je 0x4653ab
push eax
push 3
lea ecx, [ebp - 0x350]
call fcn.00416ab0
mov ecx, dword [ebp - 0x314]
movaps xmm0, xmmword [0x4ccdd0]
mov dword [ebp - 0x634], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x4653b5
mov dword [ebp - 0x634], 0
push 0x40
push 0xffffffffffffffff
lea ecx, [ebp - 0x350]
call fcn.00414360
cmp dword [ebp - 0x120], 0
je 0x465458
lea ecx, [ebp - 0x350]
call fcn.00416d40
test al, al
je 0x465458
mov eax, dword [ebp - 0x310]
push 0
push dword [ebp - 0x234]
inc eax
push eax
push dword [ebp - 0x11c]
movzx eax, byte [ebp - 0x108]
push 0x19
push 0xc8
push 0xc8
and eax, 1
push 0x15e
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4ca454
push 0x4c019c
push 0
call esi
test eax, eax
je 0x465458
push eax
push 3
lea ecx, [ebp - 0x350]
call fcn.00416ab0
mov ecx, dword [ebp - 0x314]
movaps xmm0, xmmword [0x4ccde0]
mov dword [ebp - 0x38], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46545f
mov dword [ebp - 0x38], 0
push 0x40
push 0xffffffffffffffff
lea ecx, [ebp - 0x350]
call fcn.00414360
cmp dword [ebp - 0x120], 0
je 0x465505
lea ecx, [ebp - 0x350]
call fcn.00416d40
test al, al
je 0x465505
mov eax, dword [ebp - 0x310]
push 0
push dword [ebp - 0x234]
inc eax
push eax
push dword [ebp - 0x11c]
movzx eax, byte [ebp - 0x108]
push 0x19
push 0xc8
push 0xe6
and eax, 1
push 0x15e
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4ca48c
push 0x4c019c
push 0
call esi
test eax, eax
je 0x465505
push eax
push 3
lea ecx, [ebp - 0x350]
call fcn.00416ab0
mov ecx, dword [ebp - 0x314]
movaps xmm0, xmmword [0x4ccdf0]
mov dword [ebp - 0x62c], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46550f
mov dword [ebp - 0x62c], 0
lea ecx, [ebp - 0x350]
call fcn.00416d40
test al, al
je 0x46558a
mov eax, dword [ebp - 0x310]
push 0
push dword [ebp - 0x234]
inc eax
push eax
push dword [ebp - 0x11c]
movzx eax, byte [ebp - 0x108]
push 0x28
push 0x212
push 0x104
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4ca4b8
push 0x4c018c
push 0
call esi
test eax, eax
je 0x46558a
push eax
push 0xd
lea ecx, [ebp - 0x350]
call fcn.00416ab0
movaps xmm0, xmmword [0x4ccf90]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x314]
movups xmmword [eax + ecx*8 + 0x24], xmm0
mov esi, dword [ebp - 0x60c]
mov eax, 0x1b
mov word [ebp - 0x1a], ax
lea eax, [ebp - 0xa8]
push eax
mov byte [ebp - 0x1c], 1
mov word [ebp - 0x18], si
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb8], 0
mov byte [ebp - 0xb0], 1
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov dword [ebp - 0x5b4], 0
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x10c]
test eax, eax
je 0x4655e8
push eax
call dword [sym.imp.USER32.dll_DestroyAcceleratorTable]
push 1
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_CreateAcceleratorTableW]
xor ecx, ecx
cmp eax, 0xffffffff
push 1
cmove eax, ecx
lea ecx, [ebp - 0x350]
push 1
mov dword [ebp - 0x10c], eax
call fcn.0040db40
push 0
mov ecx, edi
call fcn.00428440
test eax, eax
je 0x466bd7
nop dword [eax]
nop word [eax + eax]
mov eax, dword [edi + 0x22c]
cmp eax, 0xfffffffa
je 0x4671fe
lea ecx, [ebp - 0x350]
cmp dword [edi + 0x25c], ecx
jne 0x466bc6
cmp eax, esi
je 0x4671fe
cmp eax, dword [ebp - 0x650]
jne 0x465926
push dword [ebp - 0x64c]
call fcn.00415800
mov esi, eax
mov eax, dword [ebp - 0x28]
test esi, esi
jne 0x4656cb
test eax, eax
je 0x465686
push eax
call fcn.00489f13
add esp, 4
push 2
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x4656c3
nop dword [eax]
mov ax, word [ecx + ecx]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x4656b0
xor ecx, ecx
mov word [edx + eax*2], cx
jmp 0x4656e2
test eax, eax
je 0x4656d8
push eax
call fcn.00489f13
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0
push 0
push 0
push 0x4bfbd0
push 0x4bfc48
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x20], 1
call fcn.00402f10
mov dword [ebp - 0x70], 0
xor eax, eax
mov byte [ebp - 0x68], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c23c4], 0
jne 0x465710
mov dword [ebp - 0x6c], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
mov dword [ebp - 0x70], edx
test eax, eax
jle 0x465767
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4c23c4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x70]
cmp ecx, eax
jl 0x465750
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x68], 1
mov byte [ebp - 4], 0x11
mov esi, dword [ebp - 0x28]
test esi, esi
jne 0x465794
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
mov eax, 8
mov byte [ebp - 0x20], 1
push esi
mov word [ebp - 0x60], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x4657b7
test esi, esi
jne 0x467272
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0xb8]
call fcn.00401560
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
js 0x46727c
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xa
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x465801
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x5b4]
test eax, eax
je 0x465811
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [edi + 0x1a8]
lea eax, [ebp - 0x5b4]
mov ecx, dword [edi + 0x1a0]
push eax
push 1
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x5b4], 0
push eax
push 0x4ca55c
call fcn.0041a920
test al, al
je 0x4658cb
mov esi, dword [ebp - 0x5b4]
lea eax, [ebp - 0x5c8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x5c8]
mov byte [ebp - 4], 0x13
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x4658f0
mov eax, dword [esi]
lea ecx, [ebp - 0x5c8]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x4658f0
cmp word [ebp - 0x5c8], 8
jne 0x4658b0
push dword [ebp - 0x5c0]
call fcn.0048e09c
add esp, 4
mov esi, eax
jmp 0x4658b6
mov esi, dword [ebp - 0x5c0]
lea eax, [ebp - 0x5c8]
mov byte [ebp - 4], 0xa
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test esi, esi
je 0x465901
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 4
push 0x4ca5d0
call fcn.00432ac0
jmp 0x466bc0
lea eax, [ebp - 0x5c8]
mov byte [ebp - 4], 0xa
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 4
push 0x4ca588
call fcn.00432ac0
jmp 0x466bc0
cmp eax, dword [ebp - 0x63c]
jne 0x4660b8
push dword [ebp - 0x628]
lea ecx, [ebp - 0x350]
call fcn.00415800
mov esi, eax
mov eax, dword [ebp - 0x28]
test esi, esi
jne 0x46599e
test eax, eax
je 0x465959
push eax
call fcn.00489f13
add esp, 4
push 2
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x465993
nop dword [eax]
mov ax, word [ecx + ecx]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x465980
xor ecx, ecx
mov word [edx + eax*2], cx
mov esi, dword [ebp - 0x28]
jmp 0x4659b5
test eax, eax
je 0x4659ab
push eax
call fcn.00489f13
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x20], 1
test esi, esi
je 0x466bc0
cmp word [esi], 0
je 0x466bc0
mov esi, dword [ebp - 0x618]
test esi, esi
jne 0x465a05
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4659e1
mov dword [ebp - 0x30], eax
jmp 0x465a34
xor esi, esi
mov dword [ebp - 0x618], esi
cmp word [eax], si
je 0x4659fe
nop
inc esi
cmp word [eax + esi*2], 0
jne 0x4659f0
mov dword [ebp - 0x618], esi
mov dword [ebp - 0x30], esi
test esi, esi
je 0x465a34
push ecx
push 0x1c2
push 0x96
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 1
push 0x4ca620
call fcn.00432ac0
test eax, eax
je 0x466bc0
test esi, esi
jne 0x465a5e
mov eax, dword [ebp - 0x34]
xor esi, esi
mov dword [ebp - 0x618], esi
test eax, eax
je 0x465a53
cmp word [eax], si
je 0x465a53
inc esi
cmp word [eax + esi*2], 0
jne 0x465a45
mov dword [ebp - 0x618], esi
mov dword [ebp - 0x30], esi
test esi, esi
je 0x465bc2
mov dword [ebp - 0x678], 0
xor eax, eax
mov byte [ebp - 0x670], 0
inc eax
cmp word [eax*2 + 0x4c3214], 0
jne 0x465a71
mov dword [ebp - 0x674], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x674]
xor ecx, ecx
mov dword [ebp - 0x678], edx
test eax, eax
jle 0x465ace
mov ax, word [ecx*2 + 0x4c3214]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x674]
mov edx, dword [ebp - 0x678]
cmp ecx, eax
jl 0x465ab1
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x670], 1
mov byte [ebp - 4], 0x14
mov esi, dword [ebp - 0x34]
test esi, esi
jne 0x465b03
push 2
call fcn.0048a2cb
mov esi, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x618], eax
mov dword [ebp - 0x30], eax
mov word [esi], ax
mov eax, 8
mov byte [ebp - 0x2c], 1
push esi
mov word [ebp - 0x668], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x660], eax
test eax, eax
jne 0x465b2c
test esi, esi
jne 0x467272
lea eax, [ebp - 0x678]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0xb8]
call fcn.00401560
lea eax, [ebp - 0x668]
push eax
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
js 0x46727c
lea eax, [ebp - 0x668]
mov byte [ebp - 4], 0xa
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x678]
test eax, eax
je 0x465b82
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x5b4]
test eax, eax
je 0x465b92
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [edi + 0x170]
lea eax, [ebp - 0x5b4]
mov ecx, dword [edi + 0x168]
push eax
push 1
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x5b4], 0
push eax
push 0x4c3314
call fcn.0041a920
mov dword [ebp - 0x70], 0
xor eax, eax
mov byte [ebp - 0x68], 0
nop
inc eax
cmp word [eax*2 + 0x4c3214], 0
jne 0x465bd0
mov dword [ebp - 0x6c], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
mov dword [ebp - 0x70], edx
test eax, eax
jle 0x465c27
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4c3214]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x70]
cmp ecx, eax
jl 0x465c10
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x68], 1
mov byte [ebp - 4], 0x16
mov esi, dword [ebp - 0x28]
test esi, esi
jne 0x465c54
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
mov eax, 8
mov byte [ebp - 0x20], 1
push esi
mov word [ebp - 0x60], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x465c77
test esi, esi
jne 0x467272
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0xb8]
call fcn.00401560
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
js 0x46727c
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xa
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x465cc1
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x5b4]
test eax, eax
je 0x465cd1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [edi + 0x170]
lea eax, [ebp - 0x5b4]
mov ecx, dword [edi + 0x168]
push eax
push 1
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x5b4], 0
push eax
push 0x4c322c
call fcn.0041a920
test al, al
je 0x465d8b
mov esi, dword [ebp - 0x5b4]
lea eax, [ebp - 0x5d8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x5d8]
mov byte [ebp - 4], 0x18
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x465db0
mov eax, dword [esi]
lea ecx, [ebp - 0x5d8]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x465db0
cmp word [ebp - 0x5d8], 8
jne 0x465d70
push dword [ebp - 0x5d0]
call fcn.0048e09c
add esp, 4
mov esi, eax
jmp 0x465d76
mov esi, dword [ebp - 0x5d0]
lea eax, [ebp - 0x5d8]
mov byte [ebp - 4], 0xa
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test esi, esi
je 0x465dc1
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 4
push 0x4ca6e0
call fcn.00432ac0
jmp 0x466bc0
lea eax, [ebp - 0x5d8]
mov byte [ebp - 4], 0xa
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x30], 0
test esi, esi
jne 0x465de7
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x34]
mov byte [ebp - 0x20], 1
test eax, eax
je 0x465dfb
push eax
call fcn.00489f13
add esp, 4
xor edi, edi
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0x618], edi
test esi, esi
je 0x465e1e
cmp word [esi], di
je 0x465e1e
inc edi
cmp word [esi + edi*2], 0
jne 0x465e10
mov dword [ebp - 0x618], edi
xor ecx, ecx
mov dword [ebp - 0x30], edi
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x34], eax
test edi, edi
jle 0x465e60
mov ecx, eax
sub esi, eax
mov edx, edi
nop word [eax + eax]
mov ax, word [ecx + esi]
lea ecx, [ecx + 2]
mov word [ecx - 2], ax
sub edx, 1
jne 0x465e50
mov esi, dword [ebp - 0x34]
lea ecx, [ebp - 0x350]
push 0x20
push dword [ebp - 0x620]
xor eax, eax
mov byte [ebp - 0x2c], 1
mov word [esi + edi*2], ax
call fcn.00414360
lea ecx, [ebp - 0x44]
call fcn.0041e2a0
push dword [ebp - 0x628]
lea ecx, [ebp - 0x350]
call fcn.00412900
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5b8], eax
test eax, eax
jne 0x465ec1
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x5b8], eax
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov word [eax], cx
sub esp, 0x10
mov byte [ebp - 0x3c], 1
lea ecx, [ebp - 0x350]
push 0x5a
push 0x5a
push 0x87
push eax
call fcn.00411c70
mov dword [ebp - 0x628], eax
xor edi, edi
mov byte [ebp - 0x2c], 1
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x658], 0x4bfc74
mov dword [ebp - 0x654], esi
mov byte [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
nop dword [eax + eax]
inc edi
cmp word [edi*2 + 0x4ca354], 0
jne 0x465f10
xor eax, eax
cmp word [esi], ax
je 0x465f2d
inc eax
cmp word [esi + eax*2], 0
jne 0x465f23
add edi, eax
xor eax, eax
nop
inc eax
cmp word [eax*2 + 0x4bfc74], 0
jne 0x465f30
add edi, eax
xor ecx, ecx
mov edx, 2
mov dword [ebp - 0x624], edi
lea eax, [edi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov esi, 0x4ca354
mov dword [ebp - 0x61c], eax
add esp, 4
mov ecx, eax
mov edx, 0x52
sub esi, eax
mov word [ecx], dx
add ecx, 2
movzx eax, word [ecx + esi]
mov edx, eax
test ax, ax
jne 0x465f74
mov eax, dword [ebp - 0x34]
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x465fb1
mov edi, dword [ebp - 0x654]
nop dword [eax + eax]
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
add ecx, 2
test ax, ax
jne 0x465fa0
mov edi, dword [ebp - 0x658]
mov eax, 0x29
nop dword [eax]
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
lea ecx, [ecx + 2]
test ax, ax
jne 0x465fc0
mov edi, dword [ebp - 0x624]
xor eax, eax
mov esi, dword [ebp - 0x61c]
mov word [ecx], ax
mov eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], edi
test eax, eax
je 0x465ffb
push eax
call fcn.00489f13
add esp, 4
push 0
push esi
push dword [ebp - 0x620]
lea ecx, [ebp - 0x350]
mov byte [ebp - 0x3c], 1
call fcn.00414a80
push dword [ebp - 0x648]
mov edi, dword [ebp - 0x610]
mov ecx, edi
call fcn.0042cca0
mov eax, dword [edi + 0xd8]
mov dword [ebp - 0x78], 0xf000
mov dword [ebp - 0x7c], 0x2000
test eax, eax
jne 0x466046
mov eax, dword [edi + 0x4d8]
jmp 0x46607a
cmp eax, 0xffffffff
jne 0x466051
mov eax, dword [edi + 0x2e8]
mov ecx, dword [edi + 0x2e4]
test ecx, ecx
je 0x466078
cmp eax, 1
jl 0x466078
cmp eax, dword [edi + 0x2e8]
jg 0x466078
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x466078
mov eax, dword [ecx + eax*8 + 4]
jmp 0x46607a
xor eax, eax
lea ecx, [ebp - 0x88]
push ecx
push dword [ebp - 0x644]
push 0x102b
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 4
push 0x4ca688
call fcn.00432ac0
jmp 0x466bc0
cmp eax, dword [ebp - 0x620]
jne 0x466442
mov esi, dword [ebp - 0x34]
test esi, esi
je 0x466bc0
cmp word [esi], 0
je 0x466bc0
push ecx
push 0x1c2
push 0x96
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 1
push 0x4ca740
call fcn.00432ac0
test eax, eax
je 0x466bc0
mov dword [ebp - 0x70], 0
xor eax, eax
mov byte [ebp - 0x68], 0
nop
inc eax
cmp word [eax*2 + 0x4c3214], 0
jne 0x466110
mov dword [ebp - 0x6c], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
mov dword [ebp - 0x70], edx
test eax, eax
jle 0x466167
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4c3214]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x70]
cmp ecx, eax
jl 0x466150
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x68], 1
mov byte [ebp - 4], 0x19
mov eax, 8
push esi
mov byte [ebp - 0x2c], 1
mov word [ebp - 0x60], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x58], eax
test eax, eax
je 0x467272
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0xb8]
call fcn.00401560
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
js 0x46727c
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xa
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x4661de
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x5b4]
test eax, eax
je 0x4661ee
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [edi + 0x170]
lea eax, [ebp - 0x5b4]
mov ecx, dword [edi + 0x168]
push eax
push 1
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x5b4], 0
push eax
push 0x4c3314
call fcn.0041a920
test al, al
je 0x4662ac
mov esi, dword [ebp - 0x5b4]
lea eax, [ebp - 0x5e8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x5e8]
mov byte [ebp - 4], 0x1b
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x4662d1
mov eax, dword [esi]
lea ecx, [ebp - 0x5e8]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x4662d1
cmp word [ebp - 0x5e8], 8
jne 0x466291
push dword [ebp - 0x5e0]
call fcn.0048e09c
add esp, 4
mov esi, eax
jmp 0x466297
mov esi, dword [ebp - 0x5e0]
lea eax, [ebp - 0x5e8]
mov byte [ebp - 4], 0xa
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test esi, esi
je 0x4662e2
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 4
push 0x4ca810
call fcn.00432ac0
jmp 0x466bc0
lea eax, [ebp - 0x5e8]
mov byte [ebp - 4], 0xa
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x34]
push eax
call fcn.00489f13
add esp, 4
mov dword [ebp - 0x34], 0
xor eax, eax
mov byte [ebp - 0x2c], 1
lea ecx, [ebp - 0x350]
mov dword [ebp - 0x618], eax
mov dword [ebp - 0x30], eax
push 0x40
push dword [ebp - 0x620]
call fcn.00414360
lea ecx, [ebp - 0x44]
call fcn.0041e2a0
push dword [ebp - 0x628]
lea ecx, [ebp - 0x350]
call fcn.00412900
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x61c], esi
test esi, esi
jne 0x46635a
push 2
call fcn.0048a2cb
mov esi, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x61c], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], eax
mov word [esi], ax
sub esp, 0x10
mov byte [ebp - 0x3c], 1
lea ecx, [ebp - 0x350]
push 0x5a
push 0x5a
push 0x87
push esi
call fcn.00411c70
mov esi, dword [ebp - 0x620]
lea ecx, [ebp - 0x350]
push 0
push 0x4ca384
push esi
mov dword [ebp - 0x628], eax
call fcn.00414a80
push 0x40
push esi
lea ecx, [ebp - 0x350]
call fcn.00414360
push dword [ebp - 0x648]
mov ecx, edi
call fcn.0042cca0
mov eax, dword [edi + 0xd8]
mov dword [ebp - 0x78], 0xf000
mov dword [ebp - 0x7c], 0x2000
test eax, eax
jne 0x4663d0
mov eax, dword [edi + 0x4d8]
jmp 0x466404
cmp eax, 0xffffffff
jne 0x4663db
mov eax, dword [edi + 0x2e8]
mov ecx, dword [edi + 0x2e4]
test ecx, ecx
je 0x466402
cmp eax, 1
jl 0x466402
cmp eax, dword [edi + 0x2e8]
jg 0x466402
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x466402
mov eax, dword [ecx + eax*8 + 4]
jmp 0x466404
xor eax, eax
lea ecx, [ebp - 0x88]
push ecx
push dword [ebp - 0x644]
push 0x102b
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 4
push 0x4ca7b8
call fcn.00432ac0
jmp 0x466bc0
cmp eax, 0xffffffd3
je 0x466450
cmp eax, 0xffffffd2
jne 0x4664ee
mov esi, dword [ebp - 0x630]
cmp dword [edi + 0x238], esi
jne 0x4664f4
mov edx, dword [ebp - 0x310]
cmp esi, 0xffffffff
mov ecx, dword [ebp - 0x314]
mov eax, esi
cmove eax, edx
test ecx, ecx
je 0x4664aa
cmp eax, 1
jl 0x4664aa
cmp eax, edx
jg 0x4664aa
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x4664aa
cmp dword [ecx + eax*8], 0xf
jne 0x4664aa
push 2
push 0xffffffffffffffff
push 0x100c
push dword [ecx + eax*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
jmp 0x4664ad
or esi, 0xffffffff
sar esi, 0x1f
lea ecx, [ebp - 0x350]
and esi, 0x20
add esi, 0x20
push esi
push dword [ebp - 0x638]
call fcn.00414360
push esi
push dword [ebp - 0x634]
lea ecx, [ebp - 0x350]
call fcn.00414360
push esi
push dword [ebp - 0x38]
lea ecx, [ebp - 0x350]
call fcn.00414360
jmp 0x466bc0
mov esi, dword [ebp - 0x630]
cmp eax, dword [ebp - 0x638]
jne 0x46663d
mov edx, dword [ebp - 0x310]
cmp esi, 0xffffffff
mov ecx, dword [ebp - 0x314]
mov eax, esi
cmove eax, edx
test ecx, ecx
je 0x466618
cmp eax, 1
jl 0x466618
cmp eax, edx
jg 0x466618
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x466618
cmp dword [ecx + eax*8], 0xf
jne 0x466618
push 2
push 0xffffffffffffffff
push 0x100c
push dword [ecx + eax*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
js 0x466618
push 0
push eax
push esi
lea ecx, [ebp - 0x350]
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x28]
test esi, esi
jne 0x4665ce
test eax, eax
je 0x466585
push eax
call fcn.00489f13
add esp, 4
push 2
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x4665c3
nop dword [eax + eax]
mov ax, word [ecx + ecx]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x4665b0
xor ecx, ecx
mov word [edx + eax*2], cx
mov esi, dword [ebp - 0x28]
jmp 0x4665e5
test eax, eax
je 0x4665db
push eax
call fcn.00489f13
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x20], 1
test esi, esi
jne 0x466605
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
sub esp, 0xc
mov byte [ebp - 0x20], 1
mov ecx, esi
call fcn.00408360
jmp 0x466bc0
push ecx
push 0x1c2
push 0x96
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 4
push 0x4ca870
call fcn.00432ac0
jmp 0x466bc0
cmp eax, dword [ebp - 0x634]
jne 0x466802
mov edx, dword [ebp - 0x310]
cmp esi, 0xffffffff
mov ecx, dword [ebp - 0x314]
mov eax, esi
cmove eax, edx
test ecx, ecx
je 0x4667f2
cmp eax, 1
jl 0x4667f2
cmp eax, edx
jg 0x4667f2
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x4667f2
cmp dword [ecx + eax*8], 0xf
jne 0x4667f2
push 2
push 0xffffffffffffffff
push 0x100c
push dword [ecx + eax*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
js 0x4667f2
push 0
push eax
push esi
lea ecx, [ebp - 0x350]
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x28]
test esi, esi
jne 0x46670f
test eax, eax
je 0x4666ce
push eax
call fcn.00489f13
add esp, 4
push 2
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x466704
mov ax, word [ecx + ecx]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x4666f1
xor ecx, ecx
mov word [edx + eax*2], cx
mov esi, dword [ebp - 0x28]
jmp 0x466726
test eax, eax
je 0x46671c
push eax
call fcn.00489f13
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x20], 1
test esi, esi
jne 0x466746
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
push dword [ebp - 0x640]
mov byte [ebp - 0x20], 1
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x466bc0
call dword [sym.imp.USER32.dll_EmptyClipboard]
test esi, esi
je 0x4667de
xor eax, eax
cmp word [esi], ax
je 0x46677b
inc eax
cmp word [esi + eax*2], 0
jne 0x466773
lea eax, [eax*2 + 2]
mov dword [ebp - 0x624], eax
test eax, eax
je 0x4667de
push eax
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
test edi, edi
je 0x4667cd
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push dword [ebp - 0x624]
push esi
push eax
call fcn.0048b490
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
jne 0x4667cd
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov edi, dword [ebp - 0x610]
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x466bc0
push esi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x466bc0
push ecx
push 0x1c2
push 0xaa
jmp 0x466623
cmp eax, dword [ebp - 0x38]
jne 0x466caa
mov edx, dword [ebp - 0x310]
cmp esi, 0xffffffff
mov ecx, dword [ebp - 0x314]
mov eax, esi
cmove eax, edx
test ecx, ecx
je 0x4667f2
cmp eax, 1
jl 0x4667f2
cmp eax, edx
jg 0x4667f2
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x4667f2
cmp dword [ecx + eax*8], 0xf
jne 0x4667f2
push 2
push 0xffffffffffffffff
push 0x100c
push dword [ecx + eax*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
mov dword [ebp - 0x5b8], esi
test esi, esi
js 0x4667f2
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 1
push 0x4ca8b8
call fcn.00432ac0
test eax, eax
je 0x466bc0
mov dword [ebp - 0x70], 0
xor eax, eax
mov byte [ebp - 0x68], 0
inc eax
cmp word [eax*2 + 0x4c3214], 0
jne 0x466890
mov dword [ebp - 0x6c], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
mov dword [ebp - 0x70], edx
test eax, eax
jle 0x4668e7
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4c3214]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x70]
cmp ecx, eax
jl 0x4668d0
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x68], 1
push ecx
mov ecx, dword [ebp - 0x630]
push esi
push ecx
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0x1c
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x28]
test esi, esi
jne 0x466960
test eax, eax
je 0x46691f
push eax
call fcn.00489f13
add esp, 4
push 2
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x466955
mov ax, word [ecx + ecx]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x466942
xor ecx, ecx
mov word [edx + eax*2], cx
mov esi, dword [ebp - 0x28]
jmp 0x466977
test eax, eax
je 0x46696d
push eax
call fcn.00489f13
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x20], 1
test esi, esi
jne 0x466997
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
mov eax, 8
mov byte [ebp - 0x20], 1
push esi
mov word [ebp - 0x60], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x4669ba
test esi, esi
jne 0x467272
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0xb8]
call fcn.00401560
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
js 0x46727c
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xa
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x466a04
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x5b4]
test eax, eax
je 0x466a14
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [edi + 0x170]
lea eax, [ebp - 0x5b4]
mov ecx, dword [edi + 0x168]
push eax
push 1
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x5b4], 0
push eax
push 0x4c3314
call fcn.0041a920
test al, al
je 0x466ad2
mov esi, dword [ebp - 0x5b4]
lea eax, [ebp - 0x5f8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x5f8]
mov byte [ebp - 4], 0x1e
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x466af7
mov eax, dword [esi]
lea ecx, [ebp - 0x5f8]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x466af7
cmp word [ebp - 0x5f8], 8
jne 0x466ab7
push dword [ebp - 0x5f0]
call fcn.0048e09c
add esp, 4
mov esi, eax
jmp 0x466abd
mov esi, dword [ebp - 0x5f0]
lea eax, [ebp - 0x5f8]
mov byte [ebp - 4], 0xa
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test esi, esi
je 0x466b08
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 4
push 0x4ca978
call fcn.00432ac0
jmp 0x466bc0
lea eax, [ebp - 0x5f8]
mov byte [ebp - 4], 0xa
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 4
push 0x4ca920
call fcn.00432ac0
mov ecx, dword [ebp - 0x630]
cmp ecx, 0xffffffff
mov edx, dword [ebp - 0x310]
mov eax, dword [ebp - 0x314]
cmove ecx, edx
mov dword [ebp - 0x624], ecx
test eax, eax
je 0x466bc0
cmp ecx, 1
jl 0x466bc0
cmp ecx, edx
jg 0x466bc0
lea edi, [ecx + ecx*8]
cmp dword [eax + edi*8 + 0xc], 0
je 0x466bba
cmp dword [eax + edi*8], 0xf
jne 0x466bba
mov esi, dword [ebp - 0x5b8]
push 0
push esi
push 0x1008
push dword [eax + edi*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
dec esi
cmp esi, dword [ebp - 0x5b8]
jl 0x466b98
mov eax, dword [ebp - 0x314]
jmp 0x466b75
mov eax, dword [ebp - 0x624]
push 0
push 0
push 0x1016
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x314]
push dword [eax + ecx*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [ebp - 0x610]
mov esi, dword [ebp - 0x60c]
push 0
mov ecx, edi
call fcn.00428440
test eax, eax
jne 0x465630
mov esi, 1
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x5b4]
test eax, eax
je 0x466bf0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x466c10
push eax
call fcn.00489f13
add esp, 4
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0x24
call fcn.0040c540
mov eax, dword [ebp - 0x314]
test eax, eax
je 0x466c32
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x240]
test eax, eax
je 0x466c45
push eax
call fcn.00489f13
add esp, 4
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xe4]
test ecx, ecx
je 0x466c7a
test edi, edi
je 0x466c87
push dword [ebp - 0xcc]
lea eax, [ebp - 0xe4]
push dword [ebp - 0xdc]
push eax
call fcn.0040c930
call fcn.00403550
test edi, edi
je 0x466c87
push edi
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x466c97
push eax
call fcn.00489f13
add esp, 4
push dword [ebp - 0x98]
call fcn.00489f13
add esp, 4
jmp 0x4642ed
cmp eax, dword [ebp - 0x62c]
jne 0x466bc0
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x466cc6
push eax
call fcn.00489f13
add esp, 4
push dword [ebp - 0x640]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], 0
sub esp, 0xc
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x20], 1
call fcn.00408510
test al, al
je 0x466bc0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x466d0f
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x466d0c
cmp word [ecx], ax
je 0x466d0c
inc eax
cmp word [ecx + eax*2], 0
jne 0x466d04
mov dword [ebp - 0x24], eax
cmp eax, 4
jl 0x4671d9
mov esi, dword [ebp - 0x34]
test esi, esi
jne 0x466d3c
push 2
call fcn.0048a2cb
mov esi, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x618], eax
mov dword [ebp - 0x30], eax
mov word [esi], ax
push 0
push 1
push 1
push 0
push esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x2c], 1
call fcn.004025a0
cmp eax, 1
je 0x4671d9
push 0x260
lea eax, [ebp - 0x5b0]
push 0
push eax
call fcn.0048ba10
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov ecx, dword [ebp - 0x28]
test eax, eax
jne 0x466d92
xor eax, eax
test ecx, ecx
je 0x466d8d
cmp word [ecx], ax
je 0x466d8d
inc eax
cmp word [ecx + eax*2], 0
jne 0x466d85
mov dword [ebp - 0x24], eax
test eax, eax
setg byte [ebp - 0x20]
test eax, eax
jle 0x466dbc
nop word [eax + eax]
cmp word [ecx + eax*2 - 2], 0x5c
jne 0x466dbc
dec eax
xor edx, edx
mov dword [ebp - 0x24], eax
mov word [ecx + eax*2], dx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
test eax, eax
jne 0x466da0
mov byte [ebp - 0x20], 0
test eax, eax
jne 0x466ddb
test ecx, ecx
je 0x466dd8
cmp word [ecx], ax
je 0x466dd8
nop dword [eax]
inc eax
cmp word [ecx + eax*2], 0
jne 0x466dd0
mov dword [ebp - 0x24], eax
xor ecx, ecx
nop dword [eax]
inc ecx
cmp word [ecx*2 + 0x4bfc80], 0
jne 0x466de0
add eax, ecx
mov edx, 2
mov dword [ebp - 0x624], eax
xor ecx, ecx
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, dword [ebp - 0x28]
add esp, 4
mov edi, eax
mov ecx, edi
test edx, edx
je 0x466e34
movzx esi, word [edx]
test si, si
je 0x466e34
mov eax, esi
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x466e23
mov edx, 0x4bfc80
mov esi, 0x5c
sub edx, ecx
mov word [ecx], si
add ecx, 2
movzx eax, word [ecx + edx]
mov esi, eax
test ax, ax
jne 0x466e40
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x466e66
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x624]
push 0x250
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x5b0]
push 0
push eax
mov dword [ebp - 0x28], edi
mov byte [ebp - 0x20], 1
call fcn.0048ba10
add esp, 0xc
lea eax, [ebp - 0x5b0]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x360], eax
cmp eax, 0xffffffff
je 0x466ec0
lea ecx, [ebp - 0x5b0]
mov dword [ebp - 0x35c], 0
call fcn.00401370
mov eax, dword [ebp - 0x360]
mov byte [ebp - 4], 0x1f
cmp eax, 0xffffffff
je 0x466f0e
mov edi, dword [ebp - 0x610]
lea eax, [ebp - 0x350]
push ecx
push 0x1c2
push 0xaa
push eax
push 4
push 0x4caac8
mov ecx, edi
call fcn.00432ac0
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x360]
cmp eax, 0xffffffff
je 0x466bc0
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x466bc0
mov eax, dword [ebp - 0x24]
mov edx, 2
mov ecx, dword [ebp - 0x28]
test eax, eax
jne 0x466f33
xor eax, eax
test ecx, ecx
je 0x466f30
cmp word [ecx], ax
je 0x466f30
inc eax
cmp word [ecx + eax*2], 0
jne 0x466f28
mov dword [ebp - 0x24], eax
cmp eax, 2
mov byte [ebp - 0x20], 1
cmovle edx, eax
test eax, eax
je 0x466f4c
sub eax, edx
xor edx, edx
mov dword [ebp - 0x24], eax
mov word [ecx + eax*2], dx
mov dword [ebp - 0x70], 0
xor eax, eax
mov byte [ebp - 0x68], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c3214], 0
jne 0x466f60
mov dword [ebp - 0x6c], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a2cb
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
mov dword [ebp - 0x70], edx
test eax, eax
jle 0x466fb7
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4c3214]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x70]
cmp ecx, eax
jl 0x466fa0
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x68], 1
mov byte [ebp - 4], 0x20
mov esi, dword [ebp - 0x28]
test esi, esi
jne 0x466fe4
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
mov eax, 8
mov byte [ebp - 0x20], 1
push esi
mov word [ebp - 0x60], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x467007
test esi, esi
jne 0x467272
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0xb8]
call fcn.00401560
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
js 0x46727c
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x1f
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x467051
push eax
call fcn.00489f13
add esp, 4
mov eax, dword [ebp - 0x5b4]
test eax, eax
je 0x467061
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp - 0x610]
lea eax, [ebp - 0x5b4]
push eax
push 1
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x5b4], 0
mov edx, dword [edi + 0x170]
mov ecx, dword [edi + 0x168]
push eax
push 0x4c322c
call fcn.0041a920
test al, al
je 0x467125
mov esi, dword [ebp - 0x5b4]
lea eax, [ebp - 0x608]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x608]
mov byte [ebp - 4], 0x22
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x467164
mov eax, dword [esi]
lea ecx, [ebp - 0x608]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x467164
cmp word [ebp - 0x608], 8
jne 0x46710a
push dword [ebp - 0x600]
call fcn.0048e09c
add esp, 4
mov esi, eax
jmp 0x467110
mov esi, dword [ebp - 0x600]
lea eax, [ebp - 0x608]
mov byte [ebp - 4], 0x1f
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test esi, esi
je 0x467175
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 4
push 0x4caba0
call fcn.00432ac0
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x360]
cmp eax, 0xffffffff
je 0x466bc0
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x466bc0
lea eax, [ebp - 0x608]
mov byte [ebp - 4], 0x1f
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 4
push 0x4cab50
call fcn.00432ac0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x4671b4
push 2
call fcn.0048a2cb
add esp, 4
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
push ecx
mov ecx, dword [ebp - 0x630]
push ecx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x350]
mov byte [ebp - 0x20], 1
call fcn.004160e0
jmp 0x467145
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
push 4
push 0x4caa58
call fcn.00432ac0
jmp 0x466bc0
or esi, 0xffffffff
jmp 0x466bdc
push ecx
mov ecx, dword [ebp - 0x610]
push 0x1c2
push 0x96
lea eax, [ecx + 0x2a8]
push eax
push 0
push 0x4ca200
call fcn.00432ac0
xor esi, esi
jmp 0x4642ed
push ecx
push 0x1c2
push 0x96
lea eax, [edi + 0x2a8]
push eax
push 0
push 0x4c3bf8
mov ecx, edi
call fcn.00432ac0
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00489f05
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x8007000e
call fcn.00489ba0
push eax
call fcn.00489ba0
int3