Function at 0x46546b
Capabilities:
Get disk size
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x160
mov dword [ebp - 0x18], 0x66fe7d8a
push ebx
mov dword [ebp - 0x10], 0xc5ec62bb
xor ebx, ebx
inc ebx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x24], ebx
xor eax, eax
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x30], 0xfeac8e4c
mov dword [ebp - 0x114], 0xffffffff
mov dword [ebp - 0x110], 0xffffffff
mov dword [ebp - 0x10c], 0xffffffff
push esi
mov dword [ebp - 0x108], 0xffffffff
push edi
mov dword [ebp - 8], eax
jmp 0x4654d5
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x6c], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x4654cb
mov dword [ebp - 8], eax
jmp 0x4654ed
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x3c], 4
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x4654df
mov dword [ebp - 0x18], eax
push 3
pop edi
cmp dword [ebp - 0x18], eax
jl 0x4655ef
mov dword [ebp - 0x1c], 0x4d073ff8
mov dword [ebp - 0x20], 0xa6c84902
mov dword [ebp - 0x20], 0xc46158e9
mov dword [ebp - 0x1c], eax
jmp 0x46552c
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + ecx*4 - 0x154], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x46551b
mov dword [ebp - 0x1c], 0xfffffffd
cmp dword [ebp - 0x1c], eax
jne 0x4655e1
mov edx, dword [ebp - 0x24]
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
cmp ecx, edx
setg bl
neg ebx
jne 0x46555b
cmp dword [ebp - 0x1c], eax
jne 0x46555b
mov esi, eax
jmp 0x46555e
xor esi, esi
inc esi
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp esi, ecx
setne dl
xor ecx, ecx
cmp edx, 1
setge cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x14c], esi
mov ecx, dword [ebp - 0x3c]
cmp esi, ecx
setge dl
imul ecx, edx, 0xa770
xor edx, edx
cmp ecx, 0x6160cbeb
mov ecx, dword [ebp - 0x6c]
setg dl
xor ebx, ebx
cmp edx, 0xcc70
setge bl
xor edx, edx
cmp ecx, ebx
mov ecx, dword [ebp - 0x1c]
setne dl
mov dword [ebp - 0x20], edx
xor edx, edx
cmp dword [ebp - 0x20], ecx
setge dl
xor ebx, ebx
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
cmp edx, ecx
setne bl
imul ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x4655d7
cmp dword [ebp - 0x3c], eax
jne 0x4655de
xor ebx, ebx
mov ecx, eax
inc ebx
jmp 0x4655e3
xor ebx, ebx
inc ebx
mov ecx, ebx
mov dword [ebp - 0x3c], ecx
dec dword [ebp - 0x18]
jns 0x465501
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x46560d
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x465608
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor eax, eax
dec dword [ebp - 0x10]
jns 0x4655f7
mov dword [ebp - 0xc], 0x76820624
mov dword [ebp - 0x18], 0x44184eb3
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xc], eax
jmp 0x465639
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x465636
push eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
xor eax, eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 9
jne 0x465623
mov dword [ebp - 0xc], 0xfffffff7
jmp 0x4657e0
mov dword [ebp - 0x1c], eax
jmp 0x46565e
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + ecx*4 - 0x2c], 9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x465650
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xfffffff9
jle 0x4657dd
mov dword [ebp - 8], 0xc4185a1f
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], 0xfffffffb
jmp 0x46576b
mov dword [ebp - 0x24], 0xb59008cf
mov dword [ebp - 0xc0], 7
mov dword [ebp - 0xbc], 7
mov dword [ebp - 0xb8], 7
mov dword [ebp - 0xb4], 7
mov dword [ebp - 0x1c], eax
jmp 0x4656cb
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + ecx*4 - 0x130], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x4656ba
cmp dword [ebp - 8], eax
jne 0x4656ff
cmp dword [ebp - 0x2c], eax
jne 0x4656f6
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov ecx, eax
cmp dword [ebp - 0x2c], eax
je 0x4656ef
mov ecx, ebx
cmp ecx, dword [ebp - 0x2c]
mov ecx, eax
jl 0x4656f8
mov ecx, ebx
mov esi, eax
cmp dword [ebp - 0x24], ecx
jg 0x465701
mov esi, ebx
mov ecx, dword [ebp - 0xb4]
xor edx, edx
cmp esi, ecx
setg dl
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x2c], eax
je 0x46572a
mov edx, dword [ebp - 0x10]
mov esi, ebx
mov ecx, dword [ebp - 0x2c]
add ecx, edx
mov edx, dword [ebp - 0xc]
add edx, ecx
cmp edx, 0xfffffffc
jne 0x46572c
mov esi, eax
mov ecx, dword [ebp - 0x12c]
xor edx, edx
cmp esi, ecx
setl dl
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], eax
jne 0x465748
mov edx, eax
cmp dword [ebp - 0x2c], eax
je 0x46574a
mov edx, ebx
xor ecx, ecx
cmp edx, 0xffffffff
push 1
sete cl
xor ebx, ebx
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
cmp ecx, edx
setg bl
mov dword [ebp - 0x20], ebx
inc dword [ebp - 8]
pop ebx
cmp dword [ebp - 8], 0x16
jge 0x465686
mov ecx, dword [ebp - 0x2c]
xor ebx, ebx
neg ecx
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
cmp ecx, edx
mov ecx, dword [ebp - 0x20]
setge bl
xor edx, edx
cmp ecx, ebx
push 1
setg dl
xor ebx, ebx
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
cmp edx, ecx
setg bl
xor ecx, ecx
cmp ebx, dword [ebp - 0x24]
setge cl
xor ebx, ebx
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
cmp ecx, edx
setne bl
xor ecx, ecx
cmp ebx, 0x17c264f8
pop ebx
setle cl
mov dword [ebp - 0x10], ecx
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff9
jg 0x465670
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffffb
jne 0x46564b
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], 0xa2fc53d8
mov dword [ebp - 8], eax
jmp 0x46580a
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x104], 0xfffffff6
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x4657f9
mov dword [ebp - 8], eax
jmp 0x465826
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0xb0], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x465815
push 2
pop esi
cmp dword [ebp - 0x10], eax
je 0x4658c3
mov dword [ebp - 0xc], 0x86d6
mov dword [ebp - 0x24], 0xc7ba
mov dword [ebp - 0x10], eax
jmp 0x4658bc
mov dword [ebp - 8], 0x9ea9831
mov dword [ebp - 8], edi
cmp dword [ebp - 8], eax
jl 0x465898
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x104], edx
mov ecx, dword [ebp - 8]
cmp dword [ebp - 8], ebx
jle 0x465875
mov ecx, ebx
cmp dword [ebp - 0xc], eax
jne 0x465877
mov ecx, eax
cmp ecx, dword [ebp - 0x10]
jg 0x465883
mov edx, eax
cmp dword [ebp - 0x24], eax
je 0x465885
mov edx, ebx
xor ecx, ecx
cmp edx, 0xfffffffc
setne cl
mov dword [ebp - 0x100], ecx
dec dword [ebp - 8]
jns 0x465859
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0xc], eax
jl 0x4658b9
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + ecx*4 - 0xb0]
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0xb0], edx
dec dword [ebp - 0xc]
jns 0x4658a0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x46584a
jmp 0x4658e6
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x4658e6
push ebx
push 0x4c8
push 0x1195
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetScrollPos]
xor eax, eax
mov ecx, dword [ebp - 0xac]
mov edx, 0xdda5659c
mov ecx, dword [ebp - 0xb0]
cmp edx, ecx
push 8
sbb edx, edx
add edx, 0xffff287b
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
neg edx
mov dword [ebp - 0xfc], edx
cmp edx, 0xe2e
mov edx, dword [ebp - 0x10]
setle cl
sub edx, ecx
neg edx
pop ecx
sbb edx, edx
inc edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x1c], eax
jmp 0x465954
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + ecx*4 - 0x68], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x46594a
mov dword [ebp - 8], eax
jmp 0x465a1f
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], eax
jmp 0x465984
mov dword [ebp - 0x30], 0x6dd8
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x20], ebx
inc dword [ebp - 0x20]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x46596d
mov dword [ebp - 0x10], eax
jmp 0x465a13
mov dword [ebp - 0x18], 0x868bb4aa
mov dword [ebp - 0x18], eax
jmp 0x4659ff
mov dword [ebp - 0xc], 0x348cc383
mov dword [ebp - 0x1c], eax
jmp 0x4659ba
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + ecx*4 - 0x148], 0xfffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x4659a9
mov dword [ebp - 0xc], eax
jmp 0x4659f7
mov dword [ebp - 0x20], 0x233fd52
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp + ecx*4 - 0x8c]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x8c], edx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jle 0x4659c4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x46599d
mov ecx, dword [ebp - 0x10]
cmp dword [ebp + ecx*4 - 0x8c], eax
jne 0x465a1c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x465991
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x1d
jge 0x465961
mov dword [ebp - 0x10], 4
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x30], 0xf32b7b88
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], eax
jmp 0x465a5a
mov ecx, dword [ebp - 0x18]
mov dword [ebp + ecx*4 - 0x160], 0x7e291920
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x465a49
mov dword [ebp - 0x10], 0xfffffff7
cmp dword [ebp - 0x10], 0xffffffeb
jne 0x465b98
mov dword [ebp - 0x20], ebx
lea ecx, [ebp - 0xd8]
push ebx
call fcn.004011bf
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x465a94
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x64], 9
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x465a86
mov dword [ebp - 8], eax
jmp 0x465ab2
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + edx*4], 4
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x465a9f
mov dword [ebp - 0x58], 0xfffffffc
cmp dword [ebp - 0x58], 0x11
jg 0x465b73
mov dword [ebp - 0x18], 0xfffb
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], eax
jne 0x465ae1
mov esi, eax
cmp dword [ebp - 0x60], eax
je 0x465ae3
mov esi, ebx
cmp dword [ebp - 0x10], 0xe24307a3
push 0
sbb ecx, ecx
neg ecx
pop ecx
sets cl
imul ecx, ecx, 0xfffffff9
sub ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
add ecx, dword [ebp - 0x18]
cmp esi, ecx
mov ecx, dword [ebp - 0x5c]
setne dl
xor ebx, ebx
imul edx, ecx
mov ecx, dword [ebp - 0x18]
sub ecx, edx
cmp ecx, 0xfffffff9
setl bl
xor edx, edx
imul ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
cmp ebx, ecx
setne dl
neg edx
cmp edx, 0xa48a2b8e
jbe 0x465b55
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x465b63
push eax
push eax
push 0x1932
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
xor eax, eax
jmp 0x465b63
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x24], 0xffffffff
inc dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0x11
push 1
pop ebx
jle 0x465ac8
mov eax, dword [ebp - 0xd8]
lea ecx, [ebp - 0xd8]
inc dword [eax]
call fcn.00401291
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffeb
je 0x465a70
push 2
xor eax, eax
pop esi
cmp byte [ebp + 0x10], 0
je 0x465f70
mov dword [ebp - 0x10], 0x7cb3
lea ecx, [ebp - 0xa4]
push ebx
call fcn.004011bf
push esi
lea ecx, [ebp - 0xe4]
call fcn.004011bf
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x465bd7
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xa4]
mov dword [ecx + edx*4], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x465bc8
mov dword [ebp - 8], eax
jmp 0x465bf4
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + edx*4], 0xb959c45c
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x465be1
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xa4]
mov dword [ecx], edx
mov dword [ebp - 0x10], eax
jmp 0x465cca
mov dword [ebp - 8], 6
mov dword [ebp - 8], eax
jmp 0x465cbe
mov dword [ebp - 0x1c], 0xe6e7f737
mov dword [ebp - 0x1c], eax
jmp 0x465ca4
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x18], eax
jmp 0x465c99
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jl 0x465c96
mov dword [ebp - 0xc], 0x1cb4e76a
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x465c6e
push 0x1ba6
push 0x23f2
push 0x2149
push 0x15ff
call dword [sym.imp.GDI32.dll_CreateRectRgn]
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], eax
jl 0x465c91
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x465c8c
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
xor eax, eax
dec dword [ebp - 0xc]
jns 0x465c76
dec dword [ebp - 0x28]
jns 0x465c42
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x465c33
mov ecx, dword [ebp - 8]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x465c27
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xa4]
cmp dword [ecx + edx*4], eax
jne 0x465cc7
inc dword [ebp - 8]
cmp dword [ebp - 8], eax
jle 0x465c1b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x465c0c
lea ecx, [ebp - 0xe4]
call fcn.00401291
lea ecx, [ebp - 0xa4]
call fcn.00401291
movdqa xmm0, xmmword [0xa64bf0]
lea ecx, [ebp - 0x114]
push 0xfffffffffffffffa
pop edi
push dword [ebp - 0x68]
xor eax, eax
mov dword [ebp - 0xc], 0xade
push ecx
lea ecx, [ebp - 0x124]
mov dword [ebp - 8], 0x3aaf5bfb
push ecx
mov dword [ebp - 0x28], edi
lea ecx, [ebp - 0x54]
push eax
movdqu xmmword [ebp - 0x124], xmm0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
call fcn.004016de
xor eax, eax
mov dword [ebp - 0x28], 0x299fa9ef
mov dword [ebp - 0x18], eax
jmp 0x465d4d
mov ecx, dword [ebp - 0x18]
mov dword [ebp + ecx*4 - 0x98], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x465d40
mov dword [ebp - 0xc], 0xfffffff6
xor edx, edx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
cmp esi, ecx
mov edi, dword [ebp - 0x54]
setge dl
add edx, dword [ebp - 0x98]
mov dword [edi + 0xc], esi
mov byte [ebp - 0x11], al
je 0x465db8
cmp byte [ebp - 0x11], al
je 0x465dd1
push ebx
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowRgn]
jmp 0x465dcf
cmp byte [ebp - 0x11], al
je 0x465dd1
push eax
push eax
push eax
push eax
push eax
push eax
push 0x1ecb
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x465ee8
mov dword [ebp - 0x24], 0xa3bb1d44
lea ecx, [ebp - 0xcc]
push ebx
call fcn.004011bf
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x465e00
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0xf4], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x465df3
mov dword [ebp - 8], eax
jmp 0x465e1e
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + edx*4], 0x39ba
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x465e0b
mov dword [ebp - 8], eax
jmp 0x465ed0
mov dword [ebp - 0x20], 0x4126315b
xor edx, edx
mov dword [ebp - 0x20], 0x81b27067
mov dword [ebp - 0x28], 0xc2e3
mov ecx, dword [ebp - 8]
mov esi, dword [ebp + ecx*4 - 0x98]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp + ecx*4 - 0x98]
cmp ecx, esi
sete dl
mov dword [ebp - 0xf4], edx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x98], 0x8c24
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0xc]
mov edx, dword [ebp - 0x54]
mov ecx, dword [edx + ecx*4]
cmp ecx, dword [edx + esi*4]
jge 0x465e82
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
je 0x465e8d
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp dword [edi + 0xc], ecx
sete dl
xor ecx, ecx
cmp edx, 0x25c7
setle cl
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x28]
sub ecx, 0x499c77e2
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0xfffa
jae 0x465ec8
mov ecx, dword [ebp - 0xcc]
cmp dword [ecx], eax
mov ecx, ebx
jne 0x465eca
mov ecx, eax
mov dword [ebp - 0x28], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jle 0x465e2b
lea ecx, [ebp - 0xcc]
call fcn.00401291
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jle 0x465dd9
lea ecx, [ebp - 0x54]
call fcn.00401291
mov dword [ebp - 0x34], 0xffffffff
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x58bd4dfb
mov dword [ebp - 0x20], 0xcc2443ac
mov dword [ebp - 8], eax
jmp 0x465f27
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x38], 0x5b9b55bb
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x465f19
mov dword [ebp - 8], eax
jmp 0x465f3e
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0xe8], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x465f31
mov dword [ebp - 0x38], 7
cmp dword [ebp - 0x38], 0xd
jne 0x465f65
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x20]
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xd
je 0x465f53
mov eax, dword [ebp + 0xc]
add dword [eax], 0xd
jmp 0x4662c1
mov dword [ebp - 8], 0xffffffff
push 8
pop ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x18], eax
jmp 0x465f98
mov ecx, dword [ebp - 0x18]
mov dword [ebp + ecx*4 - 0xec], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x465f8b
mov dword [ebp - 8], eax
jmp 0x466053
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], eax
jmp 0x465fc8
mov dword [ebp - 0x30], 0x6dd8
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x20], ebx
inc dword [ebp - 0x20]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x465fb1
mov dword [ebp - 0x10], eax
jmp 0x46604b
mov dword [ebp - 0x1c], 0x868bb4aa
mov dword [ebp - 0x1c], eax
jmp 0x46603a
mov dword [ebp - 0xc], 0x348cc383
mov dword [ebp - 0x18], eax
jmp 0x465ffb
mov ecx, dword [ebp - 0x18]
mov dword [ebp + ecx*4 - 0x13c], 0xfffb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x465fea
mov dword [ebp - 0xc], eax
jmp 0x466032
mov dword [ebp - 0x20], 0x233fd52
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp + ecx*4 - 0x7c]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x7c], edx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jle 0x466005
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x465fde
mov ecx, dword [ebp - 0x10]
cmp dword [ebp + ecx*4 - 0x7c], eax
jne 0x466050
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x465fd2
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x1d
jge 0x465fa5
push edi
lea ecx, [ebp - 0x48]
call fcn.004011bf
mov dword [ebp - 8], 0x6915a136
xor eax, eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], 0x5fdfda84
mov dword [ebp - 0x20], 0xd469
mov dword [ebp - 0x18], eax
jmp 0x466095
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x48]
mov dword [ecx + edx*4], 0x8ec0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x466085
mov dword [ebp - 8], eax
cmp dword [ebp - 8], esi
jg 0x46629f
mov esi, dword [ebp - 0x48]
push 0xfffffffffffffffa
mov dword [ebp - 0x30], esi
pop edi
mov dword [ebp - 0xc], 0xd53bc6e5
mov dword [ebp - 0x10], 0x542afa01
mov dword [ebp - 0xc], eax
push 3
mov dword [ebp - 0x24], 6
pop ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0xc], eax
jmp 0x4660e2
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x48]
mov dword [ecx + edx*4], 0xa00f
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x4660d2
mov ecx, dword [ebp - 8]
xor ebx, ebx
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx + edx*4]
imul edx, dword [esi + 4]
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 4]
mov ecx, dword [ebp - 8]
setl bl
add ebx, edx
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0x10]
sete dl
sub edx, 0xdd9cd443
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x24], edx
xor edx, edx
cmp dword [ebp - 0x24], ecx
setge dl
inc edx
imul edx, dword [esi + 4]
inc edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jg 0x466292
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], 0x39ef5b50
mov dword [ebp - 0xc], 2
cmp dword [ebp - 0xc], eax
jl 0x466189
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x466165
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x466184
push eax
push eax
push 0x1ec0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_DefWindowProcA]
xor eax, eax
dec dword [ebp - 0xc]
jns 0x466153
cmp dword [ebp - 8], eax
jne 0x4661a1
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
mov edx, dword [ecx + 8]
mov dword [ecx + esi*4], edx
test edx, edx
je 0x4661a8
mov dword [ebp - 0x24], 1
mov dword [ebp - 0xc], 3
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x28]
sub esi, ecx
mov ecx, dword [ebp - 0x10]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
setne dl
xor ebx, ebx
sub edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
cmp edx, ecx
setg bl
mov dword [ebp - 0xc], ebx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
mov esi, dword [ebp - 0xc]
sub esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
mov ecx, 0xaf53c8cb
setle dl
cmp ecx, edx
sbb edx, edx
xor ebx, ebx
inc edx
imul edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
cmp ecx, edx
mov ecx, dword [ebp - 0x24]
setge bl
neg ebx
sub ebx, dword [ebp - 0x10]
neg ebx
sbb ebx, ebx
inc ebx
mov dword [ebp - 0xc], ebx
xor ebx, ebx
cmp ecx, dword [ebp - 0xc]
setle bl
xor edx, edx
imul ebx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp ebx, ecx
setge dl
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x10]
je 0x46625e
cmp dword [ebp - 0x18], eax
jne 0x46625e
mov esi, eax
jmp 0x466261
xor esi, esi
inc esi
mov ecx, dword [ebp - 0x1c]
xor edx, edx
cmp esi, ecx
mov ecx, dword [ebp - 0x1c]
sete dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x20]
setge bl
xor edx, edx
cmp ebx, ecx
setg dl
mov dword [ebp - 0x24], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x46613d
mov esi, dword [ebp - 0x30]
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jle 0x4660af
mov edx, dword [ebp - 0x48]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp dword [edx + 8], eax
setge cl
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x48]
call fcn.00401291
mov eax, dword [ebp - 0x34]
mov dword [eax], 0x24
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret