Function at 0x4123ab
Capabilities:
Accept command line arguments
Delete registry value
Get file size
Read file on windows

Disassembly:
sub dword [esp + 4], 0x14
jmp method.CMainWindow.7.virtual_24
push ebp
sub esp, 0xc84
lea ebp, [esp - 4]
mov eax, dword [0x42ea70]
xor eax, ebp
mov dword [ebp + 0xc84], eax
push 0x1a4
mov eax, 0x422914
call fcn.00416711
mov eax, dword [ebp + 0xca8]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantClear]
mov esi, dword [ebp + 0xc90]
mov ebx, dword [ebp + 0xca4]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x24]
push eax
call edi
and dword [ebp - 4], 0
lea eax, [ebp - 0x54]
push eax
call edi
lea eax, [ebp - 0x68]
push eax
call edi
lea eax, [ebp - 0x78]
push eax
call edi
lea eax, [ebp - 0x8c]
push eax
call edi
push 0xb
pop eax
mov word [ebp - 0x44], ax
mov eax, dword [ebp - 0x58]
neg eax
sbb eax, eax
mov word [ebp - 0x3c], ax
mov eax, dword [ebp + 0xc94]
dec eax
mov byte [ebp - 4], 5
cmp eax, 0x2a
ja case.default.0x412438
jmp dword [eax*4 + 0x4133f7]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
cmp eax, edi
jl 0x4133a1
push dword [ebp - 0x1c]
push dword [esi - 0x1c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
jmp 0x41332f
add esi, 0x148
push esi
lea ecx, [ebp - 0x44]
call fcn.00406977
xor edi, edi
jmp 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
push dword [ebp - 0x1c]
lea ecx, [esi + 0x57c]
call fcn.0040cce3
jmp 0x41332f
push 1
lea ecx, [ebp - 0x44]
call fcn.00410f7e
xor edi, edi
push edi
push dword [esi - 0x1c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi - 0x1c]
call dword [sym.imp.USER32.dll_DestroyWindow]
push edi
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 0xb
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
xor eax, eax
cmp word [ebp - 0x1c], 0xffff
lea ecx, [esi - 0x20]
sete al
push eax
call fcn.004112f8
jmp 0x41332f
lea eax, [ebp - 0x44]
push eax
lea ecx, [esi + 0x40]
call fcn.0040fa08
jmp 0x41247b
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x54]
push eax
push 8
push 1
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
push 0xb
push 2
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41257b
xor eax, eax
cmp word [ebp - 0x60], 0xffff
sete al
jmp 0x41257d
xor eax, eax
push eax
push dword [ebp - 0x4c]
lea ecx, [esi + 0x57c]
push dword [ebp - 0x1c]
call fcn.0040f197
neg eax
sbb eax, eax
mov word [ebp - 0x3c], ax
jmp 0x41332f
xor eax, eax
mov word [ebp - 0x3c], ax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x54]
push eax
push 8
push 1
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
push 8
push 2
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
push dword [ebp - 0x60]
lea ecx, [esi + 0x7d0]
push dword [ebp - 0x4c]
push dword [ebp - 0x1c]
call fcn.0040f42f
test eax, eax
je 0x41332f
push edi
push 0x1f4
push 0xf
push dword [esi - 0x1c]
call dword [sym.imp.USER32.dll_SetTimer]
or eax, 0xffffffff
jmp 0x412593
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 0xb
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
cmp word [ebp - 0x1c], 0xffff
jne 0x41266e
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x54]
push eax
push 8
push 1
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
push dword [ebp - 0x4c]
push 1
jmp 0x412674
push 0x424538
push edi
lea ecx, [esi - 0x20]
call fcn.00410a0e
jmp 0x41332f
add esi, 0x36a
jmp 0x412472
add esi, 0x2c8
jmp 0x412472
add esi, 0x1c8
jmp 0x412472
push 0x4245d4
lea ecx, [esi + 0x57c]
call fcn.0040bec7
push eax
lea ecx, [ebp - 0x44]
call fcn.00410fa8
jmp 0x41247b
push 0x4245d4
lea ecx, [esi + 0x57c]
call fcn.0040bf1c
jmp 0x4126b2
xor edi, edi
push edi
lea ecx, [ebp - 0x44]
call fcn.00410f7e
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
push dword [ebp - 0x1c]
lea ecx, [esi + 0x40]
call fcn.0040fb4a
movzx eax, al
push eax
lea ecx, [ebp - 0x44]
call fcn.00410f7e
jmp 0x41332f
mov esi, dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
xor edi, edi
push edi
push ebx
call esi
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x54]
push eax
push 8
push 1
push ebx
call esi
test eax, eax
jl 0x41332f
lea eax, [ebp + 0xa84]
push eax
push dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
call fcn.00410956
pop ecx
pop ecx
cmp eax, edi
jne 0x412770
lea ecx, [ebp - 0x2c]
call fcn.004019cd
jmp 0x4133a3
push edi
push edi
push 0x2001f
push edi
push edi
lea ecx, [ebp + 0xa84]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.004019e8
test eax, eax
jne 0x413327
cmp dword [ebp + 0xc94], 0xf
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
jne 0x4127be
push 8
push 2
push ebx
call esi
push 1
push dword [ebp - 0x60]
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x4c]
call fcn.00401a9d
jmp 0x413327
push 0x16
push 2
push ebx
call esi
push dword [ebp - 0x60]
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x4c]
call fcn.00401a83
jmp 0x413327
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x54]
push eax
push 8
push 1
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
push dword [ebp - 0x4c]
lea eax, [ebp - 0x44]
push dword [ebp - 0x1c]
lea ecx, [esi + 0x40]
push eax
call fcn.0040fbbb
test eax, eax
jne 0x41332f
push 0x424538
lea ecx, [ebp - 0x44]
call fcn.00406977
jmp 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp + 0x884]
push eax
push dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
call fcn.00410956
pop ecx
pop ecx
cmp eax, edi
je 0x412763
push edi
push edi
push 0x2001f
push edi
push edi
lea ecx, [ebp + 0x884]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.004019e8
lea ecx, [ebp - 0x2c]
call fcn.004019cd
jmp 0x413327
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
push dword [ebp - 0x1c]
lea ecx, [esi + 0x57c]
call fcn.0040f2ef
push 0x13
pop ecx
mov word [ebp - 0xac], cx
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 6
call fcn.00410f66
lea eax, [ebp - 0xac]
push eax
mov byte [ebp - 4], 5
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
mov dword [ebp - 0x14], edi
lea eax, [ebp - 0x14]
push eax
push edi
push edi
mov esi, 0x80
push esi
push 0x10
push dword [ebp - 0x1c]
mov byte [ebp - 4], 7
call dword [sym.imp.SHLWAPI.dll_SHCreateStreamOnFileEx]
test eax, eax
jl 0x4129a8
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
lea edx, [ebp - 0x28]
push edx
push esi
lea edx, [ebp + 4]
push edx
push eax
call dword [ecx + 0xc]
test eax, eax
jl 0x4129a8
mov eax, dword [ebp - 0x28]
cmp eax, esi
jae 0x4129a8
mov byte [ebp + eax + 4], 0
lea eax, [ebp + 0xb84]
mov dword [ebp + 0xb80], eax
push 3
lea eax, [ebp + 4]
push eax
lea ecx, [ebp + 0xb80]
call fcn.004046e7
push dword [ebp + 0xb80]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 8
call fcn.00406977
lea eax, [ebp + 0xb84]
cmp dword [ebp + 0xb80], eax
je 0x4129a8
push dword [ebp + 0xb80]
call fcn.0041457b
pop ecx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 5
cmp eax, edi
je 0x41332f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x41332f
lea ecx, [ebp + 0x24]
call fcn.00411e64
xor edi, edi
mov esi, vtable.ATL::CAccessToken.0
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
push 8
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xa
call fcn.004108ef
test al, al
je 0x412a13
push edi
push 1
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 0x34]
call fcn.004121b3
test al, al
je 0x412a13
lea ecx, [ebp + 0x24]
call fcn.0041234c
push eax
lea ecx, [ebp - 0x44]
call fcn.00406977
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], esi
call fcn.00410918
lea ecx, [ebp + 0x24]
mov byte [ebp - 4], 5
call fcn.00411ea7
jmp 0x41332f
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
jmp 0x412473
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
push dword [ebp - 0x1c]
lea ecx, [esi - 0x20]
call fcn.00410abf
jmp 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
push dword [ebp - 0x1c]
lea ecx, [ebp]
call fcn.00411de5
mov ebx, dword [ebp]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x14]
push eax
push ebx
mov byte [ebp - 4], 0xb
call fcn.004144f0
pop ecx
push eax
push ebx
lea ecx, [esi + 0x44]
call fcn.004013c2
test eax, eax
je 0x412af1
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1b0]
call fcn.004047ea
push dword [eax]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xc
call fcn.00406977
lea eax, [ebp - 0x1ac]
cmp dword [ebp - 0x1b0], eax
je 0x412ae8
push dword [ebp - 0x1b0]
call fcn.0041457b
pop ecx
push dword [ebp - 0x14]
call fcn.004144d4
pop ecx
lea eax, [ebp + 4]
mov byte [ebp - 4], 5
cmp dword [ebp], eax
je 0x41332f
push dword [ebp]
call fcn.0041457b
pop ecx
jmp 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
push dword [ebp - 0x1c]
lea ecx, [ebp]
call fcn.00411de5
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp]
lea ecx, [esi + 0x44]
mov byte [ebp - 4], 0xd
call fcn.004014ba
test eax, eax
je 0x412af1
push dword [ebp - 0x14]
lea ecx, [ebp - 0x7c]
push dword [ebp - 0x28]
call fcn.00410f1d
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xe
call fcn.0040f93b
push dword [ebp - 0x7c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x412ae8
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 0xb
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
cmp word [ebp - 0x1c], 0xffff
jne 0x412bad
push 6
push dword [esi - 0x1c]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x41332f
push 9
push dword [esi - 0x1c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi - 0x1c]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
jmp 0x41332f
xor edi, edi
mov dword [ebp - 0x14], edi
lea eax, [ebp - 0x14]
push eax
lea ecx, [esi + 0x40]
mov byte [ebp - 4], 0xf
call fcn.0040fcd6
test eax, eax
je 0x412beb
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040f93b
push dword [ebp - 0x14]
mov byte [ebp - 4], 5
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [esi + 0x40]
call fcn.0040fe21
test eax, eax
jge 0x41332f
push str._Error_
jmp 0x41282e
xor edi, edi
push edi
lea ecx, [ebp - 0x44]
call fcn.00410f7e
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x54]
push eax
push 8
push 1
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jge 0x412c84
push 0x424538
lea ecx, [ebp - 0x54]
call fcn.00406977
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
push 8
push 2
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jge 0x412ca8
push 0x424538
lea ecx, [ebp - 0x68]
call fcn.00406977
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x78]
push eax
push 0xb
push 3
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jge 0x412cc8
push edi
lea ecx, [ebp - 0x78]
call fcn.00410f7e
movsx eax, word [ebp - 0x70]
push eax
push dword [ebp - 0x60]
lea ecx, [esi + 0x40]
push dword [ebp - 0x4c]
push dword [ebp - 0x1c]
push dword [esi - 0x1c]
call fcn.0040f581
test eax, eax
push 0xb
pop ecx
setne al
mov word [ebp - 0x9c], cx
xor ecx, ecx
test al, al
sete cl
dec ecx
mov word [ebp - 0x94], cx
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x10
call fcn.00410f66
lea eax, [ebp - 0x9c]
jmp 0x4128ef
xor edi, edi
mov dword [ebp - 0x14], edi
lea eax, [ebp - 0x14]
push eax
lea ecx, [esi + 0x40]
mov byte [ebp - 4], 0x11
call fcn.004104da
jmp 0x412bdb
xor edi, edi
push edi
lea ecx, [ebp - 0x44]
call fcn.00410f7e
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 0xb
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea ebx, [esi - 0x1c]
push 0x20
mov ecx, ebx
cmp word [ebp - 0x1c], di
je 0x412d7e
push 0x84c80380
push edi
call fcn.00410c8e
push 0x20
push 0x50101
push edi
jmp 0x412d91
push edi
push 0x84c80380
call fcn.00410c8e
push 0x20
push edi
push 0x50101
mov ecx, ebx
call fcn.00410cdc
lea eax, [ebp - 0x34]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetClientRect]
test eax, eax
je 0x412dbe
push 1
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push edi
push edi
push dword [esi + 0x7f8]
call dword [sym.imp.USER32.dll_MoveWindow]
push 1
jmp 0x412706
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 0xb
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
cmp eax, edi
jl 0x4133a1
push 0x20
lea ecx, [esi - 0x1c]
cmp word [ebp - 0x1c], di
je 0x412df4
push 0x20000
push edi
jmp 0x412dfa
push edi
push 0x20000
call fcn.00410c8e
jmp 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 0xb
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
cmp eax, edi
jl 0x4133a1
push 0x20
lea ecx, [esi - 0x1c]
cmp word [ebp - 0x1c], di
je 0x412e32
push 0x10000
jmp 0x412df1
push edi
push 0x10000
jmp 0x412dfa
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 0xb
xor edi, edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
cmp eax, edi
jl 0x4133a1
xor ebx, ebx
cmp word [ebp - 0x1c], di
push edi
push dword [esi - 0x1c]
setne bl
dec ebx
and ebx, 3
call dword [sym.imp.USER32.dll_GetSystemMenu]
push ebx
push 0xf060
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
jmp 0x41332f
xor edi, edi
push edi
lea ecx, [ebp - 0x44]
call fcn.00410f7e
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push dword [ebp - 0x1c]
call fcn.0040251f
lea ecx, [esi + 0x40]
call fcn.0040f8c0
push eax
lea ecx, [ebp - 0x44]
call fcn.00410fcb
jmp 0x41332f
xor edi, edi
push edi
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x14], edi
call fcn.00410f7e
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
push edi
push 0x80
push 3
push edi
push 1
push 0x80000000
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
je 0x41332f
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea ecx, [ebx + 1]
push ecx
push edi
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
cmp esi, edi
je 0x41332f
push edi
lea eax, [ebp - 0x14]
push eax
push ebx
push esi
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x41332f
mov eax, dword [ebp - 0x14]
cmp eax, ebx
jne 0x41332f
push esi
lea ecx, [ebp - 0x44]
mov byte [esi + eax], 0
call fcn.00411668
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x41332f
xor edi, edi
push edi
lea ecx, [ebp - 0x44]
call fcn.00410f7e
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x54]
push eax
push 8
push 1
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
push 8
push 2
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x78]
push eax
push 0x16
push 3
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x8c]
push eax
push 8
push 4
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
push dword [ebp - 0x84]
lea ecx, [esi + 0x40]
push dword [ebp - 0x70]
push dword [ebp - 0x60]
push dword [ebp - 0x4c]
push dword [ebp - 0x1c]
call fcn.004100e9
push eax
lea ecx, [ebp - 0x44]
call fcn.00410fa8
jmp 0x41332f
add esi, 0x30a
jmp 0x412472
xor edi, edi
push edi
lea ecx, [ebp - 0x44]
call fcn.00410f7e
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x54]
push eax
push 8
push 1
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
push 8
push 2
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
push 0x514
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
push dword [ebp - 0x1c]
mov ebx, 0x425654
push ebx
push eax
mov dword [ebp - 0x28], eax
call fcn.0040b236
push dword [ebp - 0x1c]
lea eax, [esi + 0x820]
push ebx
push eax
call fcn.0040b236
push dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
add eax, 0x100
push ebx
push eax
call fcn.0040b236
push dword [ebp - 0x60]
push ebx
mov ebx, dword [ebp - 0x28]
lea eax, [ebx + 0x308]
push eax
call fcn.0040b236
add esp, 0x2c
lea eax, [esi - 0x20]
mov dword [ebx + 0x510], eax
mov ecx, esp
mov dword [ebp - 0x28], esp
push dword [ebp - 0x4c]
call fcn.0040251f
lea ecx, [esi + 0x40]
call fcn.0040f8c0
cmp eax, edi
je 0x41332f
push edi
push edi
push ebx
push 0x4111cd
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
neg eax
sbb eax, eax
neg eax
mov dword [esi + 0x920], eax
jmp 0x413027
xor edi, edi
push edi
lea ecx, [ebp - 0x44]
call fcn.00410f7e
push 0x114c
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [esi + 0x928], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x54]
push eax
push 8
push 1
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x41332f
push dword [ebp - 0x1c]
mov ebx, 0x425654
push ebx
push dword [esi + 0x928]
call fcn.0040b236
push dword [ebp - 0x4c]
mov eax, dword [esi + 0x928]
add eax, 0x100
push ebx
push eax
call fcn.0040b236
add esp, 0x18
push edi
push edi
add esi, 0xffffffe0
push esi
push 0x411049
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
setne al
jmp 0x412702
xor edi, edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
push edi
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x12
call fcn.00410f7e
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x413323
push dword [ebp - 0x1c]
lea ecx, [esi + 0x40]
call fcn.0040fb4a
test al, al
je 0x413323
lea eax, [ebp + 0x884]
push eax
push dword [ebp - 0x1c]
call fcn.00410956
pop ecx
pop ecx
lea ecx, [ebp - 0x2c]
cmp eax, edi
jne 0x41324e
mov byte [ebp - 4], 5
jmp 0x41332a
mov dword [ebp - 0x2c], eax
lea eax, [ebp + 0x884]
push eax
mov dword [ebp - 0x28], edi
call fcn.004025f3
neg eax
sbb al, al
inc al
movzx eax, al
jmp 0x41331a
xor edi, edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
push edi
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x13
call fcn.00410f7e
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
push 8
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x413323
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x54]
push eax
push 8
push 1
push ebx
call dword [sym.imp.OLEAUT32.dll_DispGetIDsOfNames]
test eax, eax
jl 0x413323
push dword [ebp - 0x1c]
lea ecx, [esi + 0x40]
call fcn.0040fb4a
test al, al
je 0x413323
lea eax, [ebp + 0x84]
push eax
push dword [ebp - 0x1c]
call fcn.00410956
pop ecx
pop ecx
cmp eax, edi
je 0x413323
push edi
push edi
push 0x2001f
push edi
push edi
lea ecx, [ebp + 0x84]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.004019e8
push dword [ebp - 0x4c]
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x413317
push 0x424538
push dword [ebp - 0x4c]
call dword [sym.imp.SHLWAPI.dll_StrCmpW]
test eax, eax
je 0x413317
xor al, al
jmp 0x41331a
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x44]
call fcn.00410f7e
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
call fcn.004019cd
cmp dword [ebp - 0x58], edi
je 0x41333f
push dword [ebp - 0x58]
lea ecx, [ebp - 0x44]
call fcn.00410815
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x44]
push eax
call esi
lea eax, [ebp - 0x8c]
push eax
call esi
lea eax, [ebp - 0x78]
push eax
call esi
lea eax, [ebp - 0x68]
push eax
call esi
lea eax, [ebp - 0x54]
push eax
call esi
lea eax, [ebp - 0x24]
push eax
call esi
xor eax, eax
jmp 0x4133d2
push dword [ebp + 0xcb0]
add esi, 0x14
push dword [ebp + 0xcac]
push dword [ebp - 0x58]
push ebx
push dword [ebp + 0xca0]
push dword [ebp + 0xc9c]
push dword [ebp + 0xc98]
push dword [ebp + 0xc94]
push esi
call fcn.0041210f
mov edi, eax
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x44]
push eax
call esi
lea eax, [ebp - 0x8c]
push eax
call esi
lea eax, [ebp - 0x78]
push eax
call esi
lea eax, [ebp - 0x68]
push eax
call esi
lea eax, [ebp - 0x54]
push eax
call esi
lea eax, [ebp - 0x24]
push eax
call esi
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xc84]
xor ecx, ebp
call fcn.004144c5
add ebp, 0xc88
leave
ret 0x24