Function at 0x4641f0
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 0x49ee35
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x638
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 - 0x5cc], edi
mov eax, dword [ebx + 8]
lea ecx, [edi + 0x2e8]
mov dword [ebp - 0x5fc], eax
mov eax, dword [edi + 0xbc]
cmp eax, 0xffffffff
jne 0x464255
mov eax, dword [ecx]
mov edx, dword [edi + 0x2e4]
test edx, edx
je 0x466f93
cmp eax, 1
jl 0x466f93
cmp eax, dword [ecx]
jg 0x466f93
lea eax, [eax + eax*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x466f93
cmp dword [edx + eax*8], 0xf
jne 0x466f93
push 2
push 0xffffffffffffffff
push 0x100c
push dword [edx + eax*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x610], eax
test eax, eax
js 0x466f93
push ecx
push dword [edi + 0xd8]
lea ecx, [edi + 0x2a8]
call fcn.00416520
mov dword [ebp - 0x614], eax
lea ecx, [edi + 0x2a8]
test eax, eax
jns 0x4642e7
push ecx
push 0x1c2
push 0x96
push ecx
push 0
push 0x4c93c0
jmp 0x466fac
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 - 0x54], xmm0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], 0
mov byte [ebp - 0x4c], 1
xor edx, edx
movq qword [ebp - 0x38], xmm0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x5d4], edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], edx
mov byte [ebp - 0x30], 1
movq qword [ebp - 0x84], xmm0
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x84], edx
mov byte [ebp - 0x7c], 1
push 4
push eax
mov byte [ebp - 4], 4
push dword [edi + 0xd8]
call fcn.00416470
mov dword [ebp - 0x5d8], eax
mov edx, 2
mov dword [ebp - 0x40], 0
test eax, eax
jne 0x4643d0
mov byte [ebp - 0x3c], al
xor ecx, ecx
mov eax, 1
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
add esp, 4
mov dword [ebp - 0x5d8], eax
xor ecx, ecx
mov word [eax], cx
mov byte [ebp - 0x3c], 1
mov dword [ebp - 0x44], eax
cmp eax, 0x4c21c0
je 0x464409
test eax, eax
je 0x4644a7
mov esi, 0x4c21c0
sub eax, esi
mov dword [ebp - 0x578], eax
movzx eax, word [eax + esi]
mov ecx, eax
test ax, ax
jne 0x464456
cmp word [esi], ax
jne 0x46445b
mov edi, dword [ebp - 0x5cc]
push ecx
push 0x1c2
push 0x96
lea eax, [edi + 0x2a8]
mov ecx, edi
push eax
push 0
push 0x4c9c98
call fcn.00432b40
or esi, 0xffffffff
mov eax, dword [ebp - 0x5d8]
test eax, eax
je 0x46443f
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x46444f
push eax
call fcn.00489c73
add esp, 4
mov eax, esi
jmp 0x466fb6
cmp ax, word [esi]
je 0x464493
xor edx, edx
cmp dx, ax
jne 0x464466
xor edi, edi
jmp 0x464472
push ecx
call fcn.0048dee4
add esp, 4
movzx edi, ax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x464482
xor eax, eax
jmp 0x46448e
push ecx
call fcn.0048dee4
add esp, 4
movzx eax, ax
cmp di, ax
jne 0x4644a1
mov eax, dword [ebp - 0x578]
add esi, 2
jmp 0x4643f3
mov edi, dword [ebp - 0x5cc]
mov ecx, edi
call fcn.0042eef0
push 3
push dword [ebp - 0x610]
lea ecx, [edi + 0x2a8]
push dword [edi + 0xbc]
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x28]
test esi, esi
jne 0x464521
test eax, eax
je 0x4644dd
push eax
call fcn.00489c73
add esp, 4
push 2
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x464513
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 0x464500
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
jmp 0x464536
test eax, eax
je 0x46452e
push eax
call fcn.00489c73
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 0x464567
test eax, eax
jne 0x464554
cmp word [esi], ax
je 0x46454f
inc eax
cmp word [esi + eax*2], 0
jne 0x464547
mov dword [ebp - 0x24], eax
test eax, eax
jle 0x464567
push esi
mov byte [ebp - 0x20], 1
call fcn.0048ddfc
add esp, 4
mov edi, eax
jmp 0x46456d
mov byte [ebp - 0x20], 0
xor edi, edi
mov eax, dword [ebp - 0x5cc]
push 4
push dword [ebp - 0x614]
push dword [eax + 0xd8]
lea ecx, [eax + 0x2a8]
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x5d8]
test esi, esi
jne 0x4645c3
test eax, eax
je 0x4645a5
push eax
call fcn.00489c73
add esp, 4
push 2
mov byte [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
call fcn.0048a02b
mov ecx, eax
add esp, 4
xor eax, eax
mov word [ecx], ax
jmp 0x4645d9
test eax, eax
je 0x4645d0
push eax
call fcn.00489c73
add esp, 4
mov ecx, esi
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x5d8], ecx
test ecx, ecx
je 0x464616
xor eax, eax
cmp word [ecx], ax
je 0x4645f8
nop dword [eax]
inc eax
cmp word [ecx + eax*2], 0
jne 0x4645f0
mov dword [ebp - 0x40], eax
test eax, eax
jle 0x464616
push ecx
mov byte [ebp - 0x3c], 1
call fcn.0048ddfc
mov ecx, dword [ebp - 0x5d8]
add esp, 4
mov esi, eax
jmp 0x46461c
mov byte [ebp - 0x3c], 0
xor esi, esi
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x466f68
cmp word [eax], 0
je 0x466f68
test ecx, ecx
je 0x466f68
cmp word [ecx], 0
je 0x466f68
mov ecx, dword [ebp - 0x5cc]
push esi
push edi
call fcn.0042f400
test eax, eax
je 0x466f68
xorps xmm0, xmm0
movups xmmword [ebp - 0xa4], xmm0
mov dword [ebp - 0xa4], 0
movups xmmword [ebp - 0x94], xmm0
mov eax, dword [ebp - 0x5cc]
push ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xa4]
movaps xmm0, xmmword [0x4cd010]
push 0
push dword [eax + 0x54]
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x8c], 0xd
push dword [eax + 0x44]
add eax, 0x2a8
mov dword [ebp - 0x88], 0
push eax
call fcn.00417480
push 0
push esi
mov esi, dword [ebp - 0x5cc]
mov ecx, esi
push edi
mov byte [ebp - 4], 6
call fcn.0042f260
mov dword [ebp - 0x578], eax
test eax, eax
je 0x46470a
push 0
push 0x4c23a4
lea ecx, [esi + 0x1a0]
call fcn.0041b250
mov byte [ebp - 0x4c], 0
mov edi, eax
test eax, eax
je 0x464710
xor esi, esi
cmp word [eax], si
je 0x464712
nop dword [eax + eax]
inc esi
cmp word [eax + esi*2], 0
jne 0x464700
jmp 0x464712
xor edi, edi
mov byte [ebp - 0x4c], 0
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x50], esi
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
add esp, 4
mov dword [ebp - 0x54], eax
test esi, esi
jle 0x464753
mov ecx, eax
sub edi, eax
mov edx, esi
nop
mov ax, word [edi + ecx]
lea ecx, [ecx + 2]
mov word [ecx - 2], ax
sub edx, 1
jne 0x464740
mov eax, dword [ebp - 0x54]
xor ecx, ecx
mov byte [ebp - 0x4c], 1
mov word [eax + esi*2], cx
mov esi, dword [ebp - 0x5cc]
push 0x4c2178
lea ecx, [esi + 0x168]
call fcn.0041b170
cmp byte [esi + 0x198], 0
jne 0x464786
xor edi, edi
mov dword [ebp - 0x2c], edi
jmp 0x464836
cmp word [esi + 0x178], 8
jne 0x4647a3
push dword [esi + 0x180]
call fcn.0048ddfc
add esp, 4
movzx edi, ax
jmp 0x4647aa
movzx edi, word [esi + 0x180]
mov dword [ebp - 0x2c], edi
test di, di
je 0x464836
mov byte [ebp - 0x30], 0
xor esi, esi
nop dword [eax]
inc esi
cmp word [esi*2 + 0x4c0540], 0
jne 0x4647c0
xor ecx, ecx
mov dword [ebp - 0x5d4], esi
lea eax, [esi + 1]
mov dword [ebp - 0x34], esi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
add esp, 4
mov dword [ebp - 0x38], eax
test esi, esi
jle 0x464829
mov edx, dword [ebp - 0x5d4]
mov esi, 0x4c0540
mov ecx, eax
sub esi, eax
nop word [eax + eax]
mov ax, word [esi + ecx]
lea ecx, [ecx + 2]
mov word [ecx - 2], ax
sub edx, 1
jne 0x464810
mov esi, dword [ebp - 0x5d4]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov byte [ebp - 0x30], 1
mov word [eax + esi*2], cx
mov word [eax], di
mov esi, dword [ebp - 0x5cc]
push dword [esi + 0x4d8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x464854
mov edi, dword [esi + 0x4d8]
jmp 0x464856
xor edi, edi
push 0x268
lea eax, [ebp - 0x310]
push 0
push eax
call fcn.0048b770
add esp, 0xc
mov word [ebp - 0x2d8], 0
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x200], 0
mov byte [ebp - 0x1f8], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x310]
push 1
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 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 - 0x310]
push 0x4ca274
cmovne eax, esi
lea ecx, [ebp - 0x310]
push 0x4c3cf8
mov dword [ebp - 0x150], eax
call fcn.0040bf80
push ecx
push 0xc
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xff000000
push 0x136
push 0x23a
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 8
call fcn.004167f0
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x620], eax
test edi, edi
je 0x46498e
mov edi, dword [ebp - 0x5cc]
xor esi, esi
add edi, 0x2f8
nop dword [eax]
mov eax, dword [edi]
test eax, eax
je 0x46496c
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x46496c
inc esi
add edi, 4
cmp esi, 0x30
jl 0x464950
jmp 0x46498e
mov eax, dword [ebp - 0x5cc]
mov ecx, dword [ebp - 0x620]
mov dword [eax + esi*4 + 0x2f8], ecx
inc esi
cmp esi, dword [eax + 0x2f4]
jle 0x46498e
mov dword [eax + 0x2f4], esi
movsd xmm0, qword [0x4cc780]
xor eax, eax
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0xffffff
movsd qword [ebp - 0x1a0], xmm0
mov dword [ebp - 0x198], 0x2bc
mov byte [ebp - 0x194], 1
mov byte [ebp - 0x152], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4bff50], 0
jne 0x4649d0
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x192]
push 0x20
push eax
call fcn.0048cf13
add esp, 0x10
mov dword [ebp - 0x120], 0x1400
lea ecx, [ebp - 0x310]
call fcn.00416d40
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
test al, al
je 0x464a7c
mov eax, dword [ebp - 0x2d0]
push 0
push dword [ebp - 0x1f4]
inc eax
push eax
push dword [ebp - 0xdc]
movzx eax, byte [ebp - 0xc8]
push 0x1c
push 0x216
push 5
and eax, 1
push 5
shl eax, 0x11
add eax, 0x50000300
push eax
push 0x4ca2b0
push 0x4c018c
push 0
call esi
test eax, eax
je 0x464a7c
push eax
push 0xd
lea ecx, [ebp - 0x310]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cce40]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x2d4]
movups xmmword [eax + ecx*8 + 0x24], xmm0
push 0xff000000
sub esp, 8
lea ecx, [ebp - 0x310]
push 7
push 0x21b
call fcn.00411850
movsd xmm0, qword [0x4cc770]
mov dword [ebp - 0x614], eax
xor eax, eax
movsd qword [ebp - 0x1a0], xmm0
mov dword [ebp - 0x198], 0x190
mov byte [ebp - 0x194], 1
mov byte [ebp - 0x152], 0
nop word [eax + eax]
inc eax
cmp word [eax*2 + 0x4bff50], 0
jne 0x464ad0
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x192]
push 0x20
push eax
call fcn.0048cf13
add esp, 0x10
mov dword [ebp - 0x120], 0x400
lea ecx, [ebp - 0x310]
call fcn.00416d40
test al, al
je 0x464b73
mov eax, dword [ebp - 0x2d0]
push 0
push dword [ebp - 0x1f4]
inc eax
push eax
push dword [ebp - 0xdc]
movzx eax, byte [ebp - 0xc8]
push 0x12
push 0x6e
push 0x34
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4ca308
push 0x4c018c
push 0
call esi
test eax, eax
je 0x464b73
push eax
push 0xd
lea ecx, [ebp - 0x310]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cca60]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x2d4]
movups xmmword [eax + ecx*8 + 0x24], xmm0
lea ecx, [ebp - 0x310]
mov byte [ebp - 0x4c], 1
call fcn.00416d40
test al, al
jne 0x464b95
mov dword [ebp - 0x624], 0
jmp 0x464c18
test byte [ebp - 0xc8], 1
mov eax, 0x50020080
push 0
push dword [ebp - 0x1f4]
mov ecx, 0x50000080
cmovne ecx, eax
mov eax, dword [ebp - 0x2d0]
inc eax
or ecx, 0x10000
push eax
push dword [ebp - 0xdc]
push 0x14
push 0xd2
push 0x32
push 0x87
push ecx
push dword [ebp - 0x54]
push 0x4c0220
push 0x200
call esi
test eax, eax
jne 0x464bef
mov dword [ebp - 0x624], eax
jmp 0x464c18
push eax
push 0xc
lea ecx, [ebp - 0x310]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2d4]
movaps xmm0, xmmword [0x4ccce0]
mov dword [ebp - 0x624], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
cmp dword [ebp - 0xe0], 0
je 0x464ca5
lea ecx, [ebp - 0x310]
call fcn.00416d40
test al, al
je 0x464ca5
mov eax, dword [ebp - 0x2d0]
push 0
push dword [ebp - 0x1f4]
inc eax
push eax
push dword [ebp - 0xdc]
movzx eax, byte [ebp - 0xc8]
push 0x16
push 0x46
push 0x31
and eax, 1
push 0x15e
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4ca32c
push 0x4c019c
push 0
call esi
test eax, eax
je 0x464ca5
push eax
push 3
lea ecx, [ebp - 0x310]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2d4]
movaps xmm0, xmmword [0x4ccd10]
mov dword [ebp - 0x628], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x464caf
mov dword [ebp - 0x628], 0
cmp dword [ebp - 0x578], 0
jne 0x464cc7
push 0x40
push 0xffffffffffffffff
lea ecx, [ebp - 0x310]
call fcn.00414360
lea ecx, [ebp - 0x44]
call fcn.0041e330
lea ecx, [ebp - 0x310]
call fcn.00416d40
test al, al
je 0x464d44
mov eax, dword [ebp - 0x2d0]
push 0
push dword [ebp - 0x1f4]
inc eax
push eax
push dword [ebp - 0xdc]
movzx eax, byte [ebp - 0xc8]
push 0x12
push 0x6e
push 0x5d
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4ca338
push 0x4c018c
push 0
call esi
test eax, eax
je 0x464d44
push eax
push 0xd
lea ecx, [ebp - 0x310]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cca70]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x2d4]
movups xmmword [eax + ecx*8 + 0x24], xmm0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5d8], eax
test eax, eax
jne 0x464d6c
push 2
call fcn.0048a02b
add esp, 4
mov dword [ebp - 0x5d8], 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 - 0x310]
push 0x5a
push 0x5a
push 0x87
push eax
call fcn.00411c70
cmp dword [ebp - 0xe0], 0
mov dword [ebp - 0x610], eax
je 0x464e13
lea ecx, [ebp - 0x310]
call fcn.00416d40
test al, al
je 0x464e13
mov eax, dword [ebp - 0x2d0]
push 0
push dword [ebp - 0x1f4]
inc eax
push eax
push dword [ebp - 0xdc]
movzx eax, byte [ebp - 0xc8]
push 0x19
push 0x46
push 0x59
and eax, 1
push 0xe6
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4ca32c
push 0x4c019c
push 0
call esi
test eax, eax
je 0x464e13
push eax
push 3
lea ecx, [ebp - 0x310]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2d4]
mov edi, eax
movaps xmm0, xmmword [0x4ccd40]
lea edx, [edi + edi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x464e15
xor edi, edi
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x60c], edi
cmp ecx, 0x4c1e58
je 0x464e5e
test ecx, ecx
je 0x464e82
mov esi, 0x4c1e58
mov eax, ecx
sub eax, esi
mov dword [ebp - 0x578], eax
nop dword [eax]
movzx eax, word [eax + esi]
mov ecx, eax
test ax, ax
jne 0x464ff9
cmp word [esi], ax
jne 0x464ffe
mov edi, dword [ebp - 0x60c]
push 0x40
push dword [ebp - 0x610]
lea ecx, [ebp - 0x310]
call fcn.00414360
push 0x40
push edi
lea ecx, [ebp - 0x310]
call fcn.00414360
mov ecx, dword [ebp - 0x38]
cmp word [ebp - 0x2c], 0
je 0x465048
test ecx, ecx
jne 0x464eb0
push 2
call fcn.0048a02b
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x38], ecx
xor edx, edx
mov dword [ebp - 0x5d4], edx
mov word [ecx], ax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x28]
mov edi, ecx
mov byte [ebp - 0x30], 1
xor esi, esi
mov dword [ebp - 0x608], eax
mov dword [ebp - 0x28], 0
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
inc esi
cmp word [esi*2 + 0x4ca35c], 0
jne 0x464ed3
test ecx, ecx
je 0x464efa
xor eax, eax
cmp word [ecx], ax
je 0x464ef8
nop word [eax + eax]
inc eax
cmp word [ecx + eax*2], 0
jne 0x464ef0
add esi, eax
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4bfc74], 0
jne 0x464f00
add esi, eax
xor ecx, ecx
mov edx, 2
mov dword [ebp - 0x600], esi
lea eax, [esi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edx, dword [ebp - 0x28]
add esp, 4
mov dword [ebp - 0x578], eax
mov ecx, eax
test edx, edx
je 0x464f58
movzx eax, word [edx]
test ax, ax
je 0x464f58
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x464f47
mov esi, 0x4ca35c
mov edx, 0x52
sub esi, ecx
mov word [ecx], dx
add ecx, 2
movzx eax, word [ecx + esi]
mov edx, eax
test ax, ax
jne 0x464f64
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x464f97
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x464f97
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
add ecx, 2
test ax, ax
jne 0x464f86
mov eax, 0x29
mov esi, 0x4bfc74
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
lea ecx, [ecx + 2]
test ax, ax
jne 0x464fa1
mov esi, dword [ebp - 0x600]
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x464fcd
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x578]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x608]
mov dword [ebp - 0x24], esi
mov byte [ebp - 0x20], 1
test eax, eax
je 0x4650c1
push eax
call fcn.00489c73
add esp, 4
jmp 0x4650c1
cmp ax, word [esi]
je 0x46503a
xor edx, edx
cmp dx, ax
jne 0x465009
xor edi, edi
jmp 0x465015
push ecx
call fcn.0048dee4
add esp, 4
movzx edi, ax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x465025
xor eax, eax
jmp 0x465031
push ecx
call fcn.0048dee4
add esp, 4
movzx eax, ax
cmp di, ax
jne 0x464e7f
mov eax, dword [ebp - 0x578]
add esi, 2
jmp 0x464e40
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x465058
push eax
call fcn.00489c73
add esp, 4
mov byte [ebp - 0x20], 0
xor eax, eax
nop
inc eax
cmp word [eax*2 + 0x4ca38c], 0
jne 0x465060
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.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x4650b7
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4ca38c]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x4650a0
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x20], 1
cmp dword [ebp - 0x28], 0
jne 0x4650dc
push 2
call fcn.0048a02b
add esp, 4
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov word [eax], cx
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0xe0], 0
mov esi, dword [ebp - 0x28]
mov byte [ebp - 0x20], 1
je 0x465175
lea ecx, [ebp - 0x310]
call fcn.00416d40
test al, al
je 0x465175
mov eax, dword [ebp - 0x2d0]
push 0
push dword [ebp - 0x1f4]
inc eax
push eax
push dword [ebp - 0xdc]
movzx eax, byte [ebp - 0xc8]
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 0x465175
push eax
push 3
lea ecx, [ebp - 0x310]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2d4]
mov esi, eax
movaps xmm0, xmmword [0x4ccdb0]
mov dword [ebp - 0x608], esi
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46517f
mov dword [ebp - 0x608], 0
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x46518c
cmp word [eax], 0
jne 0x46519b
push 0x40
push 0xffffffffffffffff
lea ecx, [ebp - 0x310]
call fcn.00414360
movsd xmm0, qword [0x4cc768]
xor eax, eax
movsd qword [ebp - 0x1a0], xmm0
mov dword [ebp - 0x198], 0x190
mov byte [ebp - 0x194], 1
mov byte [ebp - 0x152], 0
nop word [eax + eax]
inc eax
cmp word [eax*2 + 0x4bff50], 0
jne 0x4651d0
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x192]
push 0x20
push eax
call fcn.0048cf13
add esp, 0x10
lea ecx, [ebp - 0x310]
push 0xffffffffffffffff
push 0x1080000d
push 0x78
push 0x145
push 0x87
push 0x14
push 0
push 0x4ca3c4
call fcn.004120f0
mov edi, dword [ebp - 0x5cc]
push 0x4c7108
mov dword [ebp - 0x604], eax
lea ecx, [edi + 0x168]
call fcn.0041b170
mov cx, word [edi + 0x178]
mov eax, 0x2000
and cx, ax
xor eax, eax
cmp ax, cx
jne 0x465259
mov dword [ebp - 0x48], 1
jmp 0x46531a
mov esi, dword [edi + 0x180]
test esi, esi
je 0x46524d
cmp dword [esi + 0xc], eax
je 0x46524d
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 1
push eax
push esi
call dword [sym.imp.OLEAUT32.dll_VarR8FromUI1]
cmp dword [esi + 0xc], 0
je 0x46531a
cmp word [ebp - 0x48], 8
jne 0x46531a
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x46529f
push eax
call fcn.00489c73
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 - 0x2c], 0
test edi, edi
jle 0x465314
nop
lea eax, [ebp - 0x578]
push eax
lea eax, [ebp - 0x2c]
push eax
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayPutElement]
test eax, eax
jne 0x465309
mov ecx, dword [ebp - 0x578]
test ecx, ecx
je 0x465309
cmp word [ecx], ax
je 0x465309
inc eax
cmp word [ecx + eax*2], 0
jne 0x4652e5
cmp eax, 3
jle 0x465309
push ecx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push ecx
lea ecx, [ebp - 0x310]
call fcn.004160e0
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, edi
jl 0x4652c0
mov edi, dword [ebp - 0x5cc]
movsd xmm0, qword [0x4cc770]
xor eax, eax
movsd qword [ebp - 0x1a0], xmm0
mov dword [ebp - 0x198], 0x190
mov byte [ebp - 0x194], 1
mov byte [ebp - 0x152], 0
inc eax
cmp word [eax*2 + 0x4bff50], 0
jne 0x465344
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x192]
push 0x20
push eax
call fcn.0048cf13
add esp, 0x10
cmp dword [ebp - 0xe0], 0
je 0x465401
lea ecx, [ebp - 0x310]
call fcn.00416d40
test al, al
je 0x465401
mov eax, dword [ebp - 0x2d0]
push 0
push dword [ebp - 0x1f4]
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
inc eax
push eax
push dword [ebp - 0xdc]
movzx eax, byte [ebp - 0xc8]
push 0x19
push 0xc8
push 0x8c
and eax, 1
push 0x15e
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4ca3f0
push 0x4c019c
push 0
call esi
test eax, eax
je 0x465407
push eax
push 3
lea ecx, [ebp - 0x310]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2d4]
movaps xmm0, xmmword [0x4ccdc0]
mov dword [ebp - 0x61c], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x465411
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [ebp - 0x61c], 0
push 0x40
push 0xffffffffffffffff
lea ecx, [ebp - 0x310]
call fcn.00414360
cmp dword [ebp - 0xe0], 0
je 0x4654b3
lea ecx, [ebp - 0x310]
call fcn.00416d40
test al, al
je 0x4654b3
mov eax, dword [ebp - 0x2d0]
push 0
push dword [ebp - 0x1f4]
inc eax
push eax
push dword [ebp - 0xdc]
movzx eax, byte [ebp - 0xc8]
push 0x19
push 0xc8
push 0xaa
and eax, 1
push 0x15e
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4ca428
push 0x4c019c
push 0
call esi
test eax, eax
je 0x4654b3
push eax
push 3
lea ecx, [ebp - 0x310]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2d4]
movaps xmm0, xmmword [0x4ccdd0]
mov dword [ebp - 0x618], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x4654bd
mov dword [ebp - 0x618], 0
push 0x40
push 0xffffffffffffffff
lea ecx, [ebp - 0x310]
call fcn.00414360
cmp dword [ebp - 0xe0], 0
je 0x46555c
lea ecx, [ebp - 0x310]
call fcn.00416d40
test al, al
je 0x46555c
mov eax, dword [ebp - 0x2d0]
push 0
push dword [ebp - 0x1f4]
inc eax
push eax
push dword [ebp - 0xdc]
movzx eax, byte [ebp - 0xc8]
push 0x19
push 0xc8
push 0xc8
and eax, 1
push 0x15e
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4ca45c
push 0x4c019c
push 0
call esi
test eax, eax
je 0x46555c
push eax
push 3
lea ecx, [ebp - 0x310]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2d4]
movaps xmm0, xmmword [0x4ccde0]
mov dword [ebp - 0x2c], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x465563
mov dword [ebp - 0x2c], 0
push 0x40
push 0xffffffffffffffff
lea ecx, [ebp - 0x310]
call fcn.00414360
cmp dword [ebp - 0xe0], 0
je 0x465605
lea ecx, [ebp - 0x310]
call fcn.00416d40
test al, al
je 0x465605
mov eax, dword [ebp - 0x2d0]
push 0
push dword [ebp - 0x1f4]
inc eax
push eax
push dword [ebp - 0xdc]
movzx eax, byte [ebp - 0xc8]
push 0x19
push 0xc8
push 0xe6
and eax, 1
push 0x15e
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4ca494
push 0x4c019c
push 0
call esi
test eax, eax
je 0x465605
push eax
push 3
lea ecx, [ebp - 0x310]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2d4]
movaps xmm0, xmmword [0x4ccdf0]
mov dword [ebp - 0x600], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46560f
mov dword [ebp - 0x600], 0
lea ecx, [ebp - 0x310]
call fcn.00416d40
test al, al
je 0x46568a
mov eax, dword [ebp - 0x2d0]
push 0
push dword [ebp - 0x1f4]
inc eax
push eax
push dword [ebp - 0xdc]
movzx eax, byte [ebp - 0xc8]
push 0x28
push 0x212
push 0x104
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4ca4c0
push 0x4c018c
push 0
call esi
test eax, eax
je 0x46568a
push eax
push 0xd
lea ecx, [ebp - 0x310]
call fcn.00416ab0
movaps xmm0, xmmword [0x4ccf90]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x2d4]
movups xmmword [eax + ecx*8 + 0x24], xmm0
mov eax, 0x1b
mov byte [ebp - 0x1c], 1
mov word [ebp - 0x1a], ax
mov eax, dword [ebp - 0x614]
mov word [ebp - 0x18], ax
lea eax, [ebp - 0x68]
push eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x70], 1
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov dword [ebp - 0x574], 0
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x4656dc
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 - 0x310]
push 1
mov dword [ebp - 0xcc], eax
call fcn.0040db40
mov esi, dword [ebp - 0x5fc]
test esi, esi
je 0x465743
xor eax, eax
cmp word [esi], ax
je 0x465743
inc eax
cmp word [esi + eax*2], 0
jne 0x465716
test eax, eax
je 0x465743
call fcn.00403550
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x310]
mov ecx, edi
push eax
push 4
push esi
call fcn.00432b40
push 0
mov ecx, edi
call fcn.004284d0
test eax, eax
je 0x466e9e
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 0x22c]
cmp eax, 0xfffffffa
je 0x466e99
lea ecx, [ebp - 0x310]
cmp dword [edi + 0x25c], ecx
jne 0x466e21
cmp eax, dword [ebp - 0x614]
je 0x466e99
cmp eax, dword [ebp - 0x628]
jne 0x465a5e
push dword [ebp - 0x624]
call fcn.00415800
mov esi, eax
mov eax, dword [ebp - 0x28]
test esi, esi
jne 0x4657fb
test eax, eax
je 0x4657ba
push eax
call fcn.00489c73
add esp, 4
push 2
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x4657f3
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 0x4657e0
xor ecx, ecx
mov word [edx + eax*2], cx
jmp 0x465812
test eax, eax
je 0x465808
push eax
call fcn.00489c73
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 - 0x5f8], 0
xor eax, eax
mov byte [ebp - 0x5f0], 0
nop
inc eax
cmp word [eax*2 + 0x4c23a4], 0
jne 0x465840
mov dword [ebp - 0x5f4], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x5f4]
xor ecx, ecx
mov dword [ebp - 0x5f8], edx
test eax, eax
jle 0x46589d
mov ax, word [ecx*2 + 0x4c23a4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x5f4]
mov edx, dword [ebp - 0x5f8]
cmp ecx, eax
jl 0x465880
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x5f0], 1
mov byte [ebp - 4], 0x11
mov esi, dword [ebp - 0x28]
test esi, esi
jne 0x4658cd
push 2
call fcn.0048a02b
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 - 0x5e8], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x5e0], eax
test eax, eax
jne 0x4658f6
test esi, esi
jne 0x466fd6
lea eax, [ebp - 0x5f8]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x78]
call fcn.00401560
lea eax, [ebp - 0x5e8]
push eax
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
js 0x466fe0
lea eax, [ebp - 0x5e8]
mov byte [ebp - 4], 0xa
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push eax
call edi
mov eax, dword [ebp - 0x5f8]
test eax, eax
je 0x465948
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x574]
test eax, eax
je 0x465958
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x574]
mov dword [ebp - 0x574], 0
push eax
push 1
lea eax, [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x5cc]
push 0x4ca564
mov edx, dword [eax + 0x1a8]
mov ecx, dword [eax + 0x1a0]
call fcn.0041a9b0
test al, al
je 0x465a09
mov esi, dword [ebp - 0x574]
lea eax, [ebp - 0x588]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x588]
mov byte [ebp - 4], 0x13
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x465a2d
mov eax, dword [esi]
lea ecx, [ebp - 0x588]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x465a2d
cmp word [ebp - 0x588], 8
jne 0x4659f2
push dword [ebp - 0x580]
call fcn.0048ddfc
add esp, 4
mov esi, eax
jmp 0x4659f8
mov esi, dword [ebp - 0x580]
lea eax, [ebp - 0x588]
mov byte [ebp - 4], 0xa
push eax
call edi
test esi, esi
je 0x465a3a
push ecx
mov ecx, dword [ebp - 0x5cc]
lea eax, [ebp - 0x310]
push 0x1c2
push 0xaa
push eax
push 4
push 0x4ca5d8
jmp 0x466e1c
lea eax, [ebp - 0x588]
mov byte [ebp - 4], 0xa
push eax
call edi
push ecx
mov ecx, dword [ebp - 0x5cc]
lea eax, [ebp - 0x310]
push 0x1c2
push 0xaa
push eax
push 4
push 0x4ca590
jmp 0x466e1c
cmp eax, dword [ebp - 0x60c]
jne 0x465f07
push dword [ebp - 0x610]
lea ecx, [ebp - 0x310]
call fcn.00415800
mov esi, eax
mov eax, dword [ebp - 0x28]
test esi, esi
jne 0x465ad2
test eax, eax
je 0x465a91
push eax
call fcn.00489c73
add esp, 4
push 2
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x465ac7
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 0x465ab4
xor ecx, ecx
mov word [edx + eax*2], cx
mov esi, dword [ebp - 0x28]
jmp 0x465ae9
test eax, eax
je 0x465adf
push eax
call fcn.00489c73
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x20], 1
test esi, esi
je 0x466e21
cmp word [esi], 0
je 0x466e21
mov esi, dword [ebp - 0x5d4]
test esi, esi
jne 0x465b37
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x465b15
mov dword [ebp - 0x34], eax
jmp 0x465b66
xor esi, esi
mov dword [ebp - 0x5d4], esi
cmp word [eax], si
je 0x465b30
inc esi
cmp word [eax + esi*2], 0
jne 0x465b22
mov dword [ebp - 0x5d4], esi
mov dword [ebp - 0x34], esi
test esi, esi
je 0x465b66
push ecx
push 0x1c2
push 0x96
lea eax, [ebp - 0x310]
mov ecx, edi
push eax
push 1
push 0x4ca628
call fcn.00432b40
test eax, eax
je 0x466e21
test esi, esi
jne 0x465b90
mov eax, dword [ebp - 0x38]
xor esi, esi
mov dword [ebp - 0x5d4], esi
test eax, eax
je 0x465b85
cmp word [eax], si
je 0x465b85
inc esi
cmp word [eax + esi*2], 0
jne 0x465b77
mov dword [ebp - 0x5d4], esi
mov dword [ebp - 0x34], esi
test esi, esi
je 0x465cf7
mov dword [ebp - 0x648], 0
xor eax, eax
mov byte [ebp - 0x640], 0
inc eax
cmp word [eax*2 + 0x4c31f4], 0
jne 0x465ba3
mov dword [ebp - 0x644], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x644]
xor ecx, ecx
mov dword [ebp - 0x648], edx
test eax, eax
jle 0x465c00
mov ax, word [ecx*2 + 0x4c31f4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x644]
mov edx, dword [ebp - 0x648]
cmp ecx, eax
jl 0x465be3
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x640], 1
mov byte [ebp - 4], 0x14
mov esi, dword [ebp - 0x38]
test esi, esi
jne 0x465c37
push 2
call fcn.0048a02b
mov esi, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x38], esi
xor edx, edx
mov dword [ebp - 0x5d4], edx
mov word [esi], ax
mov dword [ebp - 0x34], edx
mov eax, 8
mov byte [ebp - 0x30], 1
push esi
mov word [ebp - 0x638], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x630], eax
test eax, eax
jne 0x465c60
test esi, esi
jne 0x466fd6
lea eax, [ebp - 0x648]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x78]
call fcn.00401560
lea eax, [ebp - 0x638]
push eax
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
js 0x466fe0
lea eax, [ebp - 0x638]
mov byte [ebp - 4], 0xa
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push eax
call edi
mov eax, dword [ebp - 0x648]
test eax, eax
je 0x465cb2
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x574]
test eax, eax
je 0x465cc2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x574]
mov dword [ebp - 0x574], 0
push eax
push 1
lea eax, [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x5cc]
push 0x4c32f4
mov edx, dword [eax + 0x170]
mov ecx, dword [eax + 0x168]
call fcn.0041a9b0
jmp 0x465cfd
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [ebp - 0x5f8], 0
xor eax, eax
mov byte [ebp - 0x5f0], 0
inc eax
cmp word [eax*2 + 0x4c31f4], 0
jne 0x465d10
mov dword [ebp - 0x5f4], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x5f4]
xor ecx, ecx
mov dword [ebp - 0x5f8], edx
test eax, eax
jle 0x465d6d
mov ax, word [ecx*2 + 0x4c31f4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x5f4]
mov edx, dword [ebp - 0x5f8]
cmp ecx, eax
jl 0x465d50
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x5f0], 1
mov byte [ebp - 4], 0x16
mov esi, dword [ebp - 0x28]
test esi, esi
jne 0x465d9d
push 2
call fcn.0048a02b
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 - 0x5e8], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x5e0], eax
test eax, eax
jne 0x465dc6
test esi, esi
jne 0x466fd6
lea eax, [ebp - 0x5f8]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x78]
call fcn.00401560
lea eax, [ebp - 0x5e8]
push eax
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
js 0x466fe0
lea eax, [ebp - 0x5e8]
mov byte [ebp - 4], 0xa
push eax
call edi
mov eax, dword [ebp - 0x5f8]
test eax, eax
je 0x465e12
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x574]
test eax, eax
je 0x465e22
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x574]
mov dword [ebp - 0x574], 0
push eax
push 1
lea eax, [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x5cc]
push 0x4c320c
mov edx, dword [eax + 0x170]
mov ecx, dword [eax + 0x168]
call fcn.0041a9b0
test al, al
je 0x465ee3
mov esi, dword [ebp - 0x574]
lea eax, [ebp - 0x5b8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x5b8]
mov byte [ebp - 4], 0x18
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x466e41
mov eax, dword [esi]
lea ecx, [ebp - 0x5b8]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x466e41
cmp word [ebp - 0x5b8], 8
jne 0x465ec8
push dword [ebp - 0x5b0]
call fcn.0048ddfc
add esp, 4
mov esi, eax
jmp 0x465ece
mov esi, dword [ebp - 0x5b0]
lea eax, [ebp - 0x5b8]
mov byte [ebp - 4], 0xa
push eax
call edi
test esi, esi
je 0x466e4e
push ecx
mov ecx, dword [ebp - 0x5cc]
lea eax, [ebp - 0x310]
push 0x1c2
push 0xaa
push eax
push 4
push 0x4ca6e8
jmp 0x466e1c
cmp eax, dword [ebp - 0x608]
jne 0x46613d
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x466e21
cmp word [esi], 0
je 0x466e21
push ecx
push 0x1c2
push 0x96
lea eax, [ebp - 0x310]
mov ecx, edi
push eax
push 1
push 0x4ca748
call fcn.00432b40
test eax, eax
je 0x466e21
mov dword [ebp - 0x5f8], 0
xor eax, eax
mov byte [ebp - 0x5f0], 0
inc eax
cmp word [eax*2 + 0x4c31f4], 0
jne 0x465f63
mov dword [ebp - 0x5f4], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x5f4]
xor ecx, ecx
mov dword [ebp - 0x5f8], edx
test eax, eax
jle 0x465fc0
mov ax, word [ecx*2 + 0x4c31f4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x5f4]
mov edx, dword [ebp - 0x5f8]
cmp ecx, eax
jl 0x465fa3
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x5f0], 1
mov byte [ebp - 4], 0x1c
mov eax, 8
push esi
mov byte [ebp - 0x30], 1
mov word [ebp - 0x5e8], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x5e0], eax
test eax, eax
je 0x466fd6
lea eax, [ebp - 0x5f8]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x78]
call fcn.00401560
lea eax, [ebp - 0x5e8]
push eax
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
js 0x466fe0
lea eax, [ebp - 0x5e8]
mov byte [ebp - 4], 0xa
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push eax
call edi
mov eax, dword [ebp - 0x5f8]
test eax, eax
je 0x466048
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x574]
test eax, eax
je 0x466058
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x574]
mov dword [ebp - 0x574], 0
push eax
push 1
lea eax, [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x5cc]
push 0x4c32f4
mov edx, dword [eax + 0x170]
mov ecx, dword [eax + 0x168]
call fcn.0041a9b0
test al, al
je 0x466119
mov esi, dword [ebp - 0x574]
lea eax, [ebp - 0x5c8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x5c8]
mov byte [ebp - 4], 0x1e
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x466e6d
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 0x466e6d
cmp word [ebp - 0x5c8], 8
jne 0x4660fe
push dword [ebp - 0x5c0]
call fcn.0048ddfc
add esp, 4
mov esi, eax
jmp 0x466104
mov esi, dword [ebp - 0x5c0]
lea eax, [ebp - 0x5c8]
mov byte [ebp - 4], 0xa
push eax
call edi
test esi, esi
je 0x466e7a
push ecx
mov ecx, dword [ebp - 0x5cc]
lea eax, [ebp - 0x310]
push 0x1c2
push 0xaa
push eax
push 4
push 0x4ca818
jmp 0x466e1c
cmp eax, 0xffffffd3
je 0x46614b
cmp eax, 0xffffffd2
jne 0x4661e9
mov esi, dword [ebp - 0x604]
cmp dword [edi + 0x238], esi
jne 0x4661ef
mov edx, dword [ebp - 0x2d0]
cmp esi, 0xffffffff
mov ecx, dword [ebp - 0x2d4]
mov eax, esi
cmove eax, edx
test ecx, ecx
je 0x4661a5
cmp eax, 1
jl 0x4661a5
cmp eax, edx
jg 0x4661a5
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x4661a5
cmp dword [ecx + eax*8], 0xf
jne 0x4661a5
push 2
push 0xffffffffffffffff
push 0x100c
push dword [ecx + eax*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
jmp 0x4661a8
or esi, 0xffffffff
sar esi, 0x1f
lea ecx, [ebp - 0x310]
and esi, 0x20
add esi, 0x20
push esi
push dword [ebp - 0x61c]
call fcn.00414360
push esi
push dword [ebp - 0x618]
lea ecx, [ebp - 0x310]
call fcn.00414360
push esi
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x310]
call fcn.00414360
jmp 0x466e21
mov esi, dword [ebp - 0x604]
cmp eax, dword [ebp - 0x61c]
jne 0x466329
mov edx, dword [ebp - 0x2d0]
cmp esi, 0xffffffff
mov ecx, dword [ebp - 0x2d4]
mov eax, esi
cmove eax, edx
test ecx, ecx
je 0x46630b
cmp eax, 1
jl 0x46630b
cmp eax, edx
jg 0x46630b
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x46630b
cmp dword [ecx + eax*8], 0xf
jne 0x46630b
push 2
push 0xffffffffffffffff
push 0x100c
push dword [ecx + eax*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
js 0x46630b
push 0
push eax
push esi
lea ecx, [ebp - 0x310]
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x28]
test esi, esi
jne 0x4662c1
test eax, eax
je 0x466280
push eax
call fcn.00489c73
add esp, 4
push 2
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x4662b6
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 0x4662a3
xor ecx, ecx
mov word [edx + eax*2], cx
mov esi, dword [ebp - 0x28]
jmp 0x4662d8
test eax, eax
je 0x4662ce
push eax
call fcn.00489c73
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x20], 1
test esi, esi
jne 0x4662f8
push 2
call fcn.0048a02b
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 0x466e21
push ecx
push 0x1c2
push 0x96
lea eax, [ebp - 0x310]
push eax
push 4
push 0x4ca878
jmp 0x466e1a
cmp eax, dword [ebp - 0x618]
jne 0x4664f9
mov edx, dword [ebp - 0x2d0]
cmp esi, 0xffffffff
mov ecx, dword [ebp - 0x2d4]
mov eax, esi
cmove eax, edx
test ecx, ecx
je 0x4664db
cmp eax, 1
jl 0x4664db
cmp eax, edx
jg 0x4664db
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x4664db
cmp dword [ecx + eax*8], 0xf
jne 0x4664db
push 2
push 0xffffffffffffffff
push 0x100c
push dword [ecx + eax*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
js 0x4664db
push 0
push eax
push esi
lea ecx, [ebp - 0x310]
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x28]
test esi, esi
jne 0x4663fe
test eax, eax
je 0x4663ba
push eax
call fcn.00489c73
add esp, 4
push 2
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x4663f3
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 0x4663e0
xor ecx, ecx
mov word [edx + eax*2], cx
mov esi, dword [ebp - 0x28]
jmp 0x466415
test eax, eax
je 0x46640b
push eax
call fcn.00489c73
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x20], 1
test esi, esi
jne 0x466435
push 2
call fcn.0048a02b
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 - 0x620]
mov byte [ebp - 0x20], 1
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x466e21
call dword [sym.imp.USER32.dll_EmptyClipboard]
test esi, esi
je 0x4664c7
xor eax, eax
cmp word [esi], ax
je 0x46646a
inc eax
cmp word [esi + eax*2], 0
jne 0x466462
lea eax, [eax*2 + 2]
mov dword [ebp - 0x5fc], eax
test eax, eax
je 0x4664c7
push eax
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
test edi, edi
je 0x4664d0
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push dword [ebp - 0x5fc]
push esi
push eax
call fcn.0048b1f0
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 0x4664d0
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x466e21
push esi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x466e21
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x310]
push eax
push 4
push 0x4ca878
jmp 0x466e1a
cmp eax, dword [ebp - 0x2c]
jne 0x4668e1
mov edx, dword [ebp - 0x2d0]
cmp esi, 0xffffffff
mov ecx, dword [ebp - 0x2d4]
mov eax, esi
cmove eax, edx
test ecx, ecx
je 0x4664db
cmp eax, 1
jl 0x4664db
cmp eax, edx
jg 0x4664db
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x4664db
cmp dword [ecx + eax*8], 0xf
jne 0x4664db
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 - 0x578], esi
test esi, esi
js 0x4664db
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x310]
mov ecx, edi
push eax
push 1
push 0x4ca8c0
call fcn.00432b40
test eax, eax
je 0x466e21
mov dword [ebp - 0x5f8], 0
xor eax, eax
mov byte [ebp - 0x5f0], 0
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c31f4], 0
jne 0x466590
mov dword [ebp - 0x5f4], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x5f4]
xor ecx, ecx
mov dword [ebp - 0x5f8], edx
test eax, eax
jle 0x4665ed
mov ax, word [ecx*2 + 0x4c31f4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x5f4]
mov edx, dword [ebp - 0x5f8]
cmp ecx, eax
jl 0x4665d0
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x5f0], 1
push ecx
mov ecx, dword [ebp - 0x604]
push esi
push ecx
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0x22
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x28]
test esi, esi
jne 0x46666e
test eax, eax
je 0x46662c
push eax
call fcn.00489c73
add esp, 4
push 2
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x466663
nop
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 0x466650
xor ecx, ecx
mov word [edx + eax*2], cx
mov esi, dword [ebp - 0x28]
jmp 0x466685
test eax, eax
je 0x46667b
push eax
call fcn.00489c73
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x20], 1
test esi, esi
jne 0x4666a5
push 2
call fcn.0048a02b
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 - 0x5e8], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x5e0], eax
test eax, eax
jne 0x4666ce
test esi, esi
jne 0x466fd6
lea eax, [ebp - 0x5f8]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x78]
call fcn.00401560
lea eax, [ebp - 0x5e8]
push eax
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
js 0x466fe0
lea eax, [ebp - 0x5e8]
mov byte [ebp - 4], 0xa
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push eax
call edi
mov eax, dword [ebp - 0x5f8]
test eax, eax
je 0x466720
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x574]
test eax, eax
je 0x466730
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x574]
mov dword [ebp - 0x574], 0
push eax
push 1
lea eax, [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x5cc]
push 0x4c32f4
mov edx, dword [eax + 0x170]
mov ecx, dword [eax + 0x168]
call fcn.0041a9b0
test al, al
je 0x4667ed
mov esi, dword [ebp - 0x574]
lea eax, [ebp - 0x598]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x598]
mov byte [ebp - 4], 0x24
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x466811
mov eax, dword [esi]
lea ecx, [ebp - 0x598]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x466811
cmp word [ebp - 0x598], 8
jne 0x4667d6
push dword [ebp - 0x590]
call fcn.0048ddfc
add esp, 4
mov esi, eax
jmp 0x4667dc
mov esi, dword [ebp - 0x590]
lea eax, [ebp - 0x598]
mov byte [ebp - 4], 0xa
push eax
call edi
test esi, esi
je 0x46681e
push ecx
mov ecx, dword [ebp - 0x5cc]
lea eax, [ebp - 0x310]
push 0x1c2
push 0xaa
push eax
push 4
push 0x4ca980
jmp 0x466e1c
lea eax, [ebp - 0x598]
mov byte [ebp - 4], 0xa
push eax
call edi
push ecx
mov ecx, dword [ebp - 0x5cc]
lea eax, [ebp - 0x310]
push 0x1c2
push 0xaa
push eax
push 4
push 0x4ca928
call fcn.00432b40
mov ecx, dword [ebp - 0x604]
cmp ecx, 0xffffffff
mov edx, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x2d4]
cmove ecx, edx
mov dword [ebp - 0x5fc], ecx
test eax, eax
je 0x466e21
cmp ecx, 1
jl 0x466e21
cmp ecx, edx
jg 0x466e21
lea edi, [ecx + ecx*8]
cmp dword [eax + edi*8 + 0xc], 0
je 0x466e21
cmp dword [eax + edi*8], 0xf
jne 0x466e21
mov esi, dword [ebp - 0x578]
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 - 0x578]
jl 0x4668ba
mov eax, dword [ebp - 0x2d4]
jmp 0x466897
mov eax, dword [ebp - 0x5fc]
push 0
push 0
push 0x1016
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x2d4]
push dword [eax + ecx*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x466e21
cmp eax, dword [ebp - 0x600]
jne 0x466e21
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x4668fd
push eax
call fcn.00489c73
add esp, 4
push dword [ebp - 0x620]
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 0x466e21
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x46694b
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x466948
cmp word [ecx], ax
je 0x466948
nop dword [eax + eax]
inc eax
cmp word [ecx + eax*2], 0
jne 0x466940
mov dword [ebp - 0x24], eax
cmp eax, 4
jl 0x466e01
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x466978
push 2
call fcn.0048a02b
xor ecx, ecx
mov dword [ebp - 0x38], eax
add esp, 4
xor edx, edx
mov dword [ebp - 0x5d4], edx
mov word [eax], cx
mov dword [ebp - 0x34], edx
push 0
push 1
push 1
push 0
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x30], 1
call fcn.004025a0
cmp eax, 1
je 0x466e01
push 0x260
lea eax, [ebp - 0x570]
push 0
push eax
call fcn.0048b770
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov ecx, dword [ebp - 0x28]
test eax, eax
jne 0x4669ce
xor eax, eax
test ecx, ecx
je 0x4669c9
cmp word [ecx], ax
je 0x4669c9
inc eax
cmp word [ecx + eax*2], 0
jne 0x4669c1
mov dword [ebp - 0x24], eax
test eax, eax
setg byte [ebp - 0x20]
test eax, eax
jle 0x4669f2
cmp word [ecx + eax*2 - 2], 0x5c
jne 0x4669f2
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 0x4669d6
mov byte [ebp - 0x20], 0
test eax, eax
jne 0x466a0e
test ecx, ecx
je 0x466a0b
cmp word [ecx], ax
je 0x466a0b
inc eax
cmp word [ecx + eax*2], 0
jne 0x466a03
mov dword [ebp - 0x24], eax
xor ecx, ecx
inc ecx
cmp word [ecx*2 + 0x4bfc80], 0
jne 0x466a10
add eax, ecx
mov edx, 2
mov dword [ebp - 0x5fc], eax
xor ecx, ecx
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edx, dword [ebp - 0x28]
add esp, 4
mov edi, eax
mov ecx, edi
test edx, edx
je 0x466a64
movzx esi, word [edx]
test si, si
je 0x466a64
mov eax, esi
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x466a53
mov edx, 0x4bfc80
mov esi, 0x5c
sub edx, ecx
mov word [ecx], si
add ecx, 2
movzx eax, word [edx + ecx]
mov esi, eax
test ax, ax
jne 0x466a70
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x466a96
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x5fc]
push 0x250
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x570]
push 0
push eax
mov dword [ebp - 0x28], edi
mov byte [ebp - 0x20], 1
call fcn.0048b770
add esp, 0xc
lea eax, [ebp - 0x570]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x320], eax
cmp eax, 0xffffffff
je 0x466af0
lea ecx, [ebp - 0x570]
mov dword [ebp - 0x31c], 0
call fcn.00401370
mov eax, dword [ebp - 0x320]
mov byte [ebp - 4], 0x25
cmp eax, 0xffffffff
je 0x466b17
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x310]
push eax
push 4
push 0x4caad0
jmp 0x466d62
mov eax, dword [ebp - 0x24]
mov edx, 2
mov ecx, dword [ebp - 0x28]
test eax, eax
jne 0x466b3c
xor eax, eax
test ecx, ecx
je 0x466b39
cmp word [ecx], ax
je 0x466b39
inc eax
cmp word [ecx + eax*2], 0
jne 0x466b31
mov dword [ebp - 0x24], eax
cmp eax, 2
mov byte [ebp - 0x20], 1
cmovle edx, eax
test eax, eax
je 0x466b55
sub eax, edx
xor edx, edx
mov dword [ebp - 0x24], eax
mov word [ecx + eax*2], dx
mov dword [ebp - 0x5f8], 0
xor eax, eax
mov byte [ebp - 0x5f0], 0
nop dword [eax + eax]
inc eax
cmp word [eax*2 + 0x4c31f4], 0
jne 0x466b70
mov dword [ebp - 0x5f4], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a02b
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x5f4]
xor ecx, ecx
mov dword [ebp - 0x5f8], edx
test eax, eax
jle 0x466bcd
mov ax, word [ecx*2 + 0x4c31f4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x5f4]
mov edx, dword [ebp - 0x5f8]
cmp ecx, eax
jl 0x466bb0
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x5f0], 1
mov byte [ebp - 4], 0x26
mov esi, dword [ebp - 0x28]
test esi, esi
jne 0x466bfd
push 2
call fcn.0048a02b
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 - 0x5e8], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x5e0], eax
test eax, eax
jne 0x466c26
test esi, esi
jne 0x466fd6
lea eax, [ebp - 0x5f8]
mov byte [ebp - 4], 0x27
push eax
lea ecx, [ebp - 0x78]
call fcn.00401560
lea eax, [ebp - 0x5e8]
push eax
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
js 0x466fe0
lea eax, [ebp - 0x5e8]
mov byte [ebp - 4], 0x25
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push eax
call edi
mov eax, dword [ebp - 0x5f8]
test eax, eax
je 0x466c78
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x574]
test eax, eax
je 0x466c88
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x574]
mov dword [ebp - 0x574], 0
push eax
push 1
lea eax, [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x5cc]
push 0x4c320c
mov edx, dword [eax + 0x170]
mov ecx, dword [eax + 0x168]
call fcn.0041a9b0
test al, al
je 0x466d49
mov esi, dword [ebp - 0x574]
lea eax, [ebp - 0x5a8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x5a8]
mov byte [ebp - 4], 0x28
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x466d8c
mov eax, dword [esi]
lea ecx, [ebp - 0x5a8]
push 0
push 0
push ecx
push 0
push 0x4c04c0
push esi
call dword [eax + 0x10]
shr eax, 0x1f
xor al, 1
je 0x466d8c
cmp word [ebp - 0x5a8], 8
jne 0x466d2e
push dword [ebp - 0x5a0]
call fcn.0048ddfc
add esp, 4
mov esi, eax
jmp 0x466d34
mov esi, dword [ebp - 0x5a0]
lea eax, [ebp - 0x5a8]
mov byte [ebp - 4], 0x25
push eax
call edi
test esi, esi
je 0x466d99
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x310]
push eax
push 4
push 0x4caba8
mov ecx, dword [ebp - 0x5cc]
call fcn.00432b40
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x320]
cmp eax, 0xffffffff
je 0x466e21
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x466e21
lea eax, [ebp - 0x5a8]
mov byte [ebp - 4], 0x25
push eax
call edi
push ecx
mov ecx, dword [ebp - 0x5cc]
lea eax, [ebp - 0x310]
push 0x1c2
push 0xaa
push eax
push 4
push 0x4cab58
call fcn.00432b40
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x466ddc
push 2
call fcn.0048a02b
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 - 0x604]
push ecx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x310]
mov byte [ebp - 0x20], 1
call fcn.004160e0
jmp 0x466d6d
push ecx
push 0x1c2
push 0xaa
lea eax, [ebp - 0x310]
push eax
push 4
push 0x4caa60
mov ecx, edi
call fcn.00432b40
mov ecx, dword [ebp - 0x5cc]
push 0
call fcn.004284d0
test eax, eax
je 0x466e9e
mov edi, dword [ebp - 0x5cc]
jmp 0x465760
lea eax, [ebp - 0x5b8]
mov byte [ebp - 4], 0xa
push eax
call edi
lea ecx, [ebp - 0x310]
call fcn.0040c540
mov ecx, dword [ebp - 0x5cc]
push 0x4ca690
call fcn.004641f0
mov esi, eax
jmp 0x466ea3
lea eax, [ebp - 0x5c8]
mov byte [ebp - 4], 0xa
push eax
call edi
lea ecx, [ebp - 0x310]
call fcn.0040c540
mov ecx, dword [ebp - 0x5cc]
push 0x4ca7c0
call fcn.004641f0
mov esi, eax
jmp 0x466ea3
or esi, 0xffffffff
jmp 0x466ea3
mov esi, 1
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x574]
test eax, eax
je 0x466eb7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x466ed1
push eax
call fcn.00489c73
add esp, 4
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0x2a
call fcn.0040c540
mov eax, dword [ebp - 0x2d4]
test eax, eax
je 0x466ef3
push eax
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x200]
test eax, eax
je 0x466f06
push eax
call fcn.00489c73
add esp, 4
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x88]
mov edi, dword [ebp - 0xa4]
test ecx, ecx
je 0x466f3b
test edi, edi
je 0x466f48
push dword [ebp - 0x8c]
lea eax, [ebp - 0xa4]
push dword [ebp - 0x9c]
push eax
call fcn.0040c930
call fcn.00403550
test edi, edi
je 0x466f48
push edi
call fcn.00489c73
add esp, 4
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x466f58
push eax
call fcn.00489c73
add esp, 4
push dword [ebp - 0x54]
call fcn.00489c73
add esp, 4
jmp 0x46442c
push ecx
mov ecx, dword [ebp - 0x5cc]
push 0x1c2
push 0x96
lea eax, [ecx + 0x2a8]
push eax
push 0
push 0x4ca208
call fcn.00432b40
xor esi, esi
jmp 0x46442c
push ecx
push 0x1c2
push 0x96
lea eax, [edi + 0x2a8]
push eax
push 0
push 0x4c3bf0
mov ecx, edi
call fcn.00432b40
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.00489c65
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push 0x8007000e
call fcn.00489900
push eax
call fcn.00489900
int3