Function at 0x40921b
Capabilities:
Accept command line arguments
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
or dword [ebp - 8], 0xffffffff
push ebx
push esi
push edi
xor ebx, ebx
push 0xfffffffffffffffe
pop edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0xc], ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push str..exe
push eax
mov dword [ebp - 4], eax
call fcn.0040a56d
mov esi, eax
push 0x20
pop eax
test esi, esi
je 0x40925e
add esi, 8
jmp 0x4092bb
push str.msohtmed
push dword [ebp - 4]
call fcn.0040a56d
mov esi, eax
test esi, esi
je 0x409276
add esi, 0x10
jmp 0x4092b8
mov esi, dword [ebp - 4]
push 0x22
pop eax
cmp word [esi], ax
jne 0x4092a3
push eax
lea eax, [esi + 2]
push eax
call fcn.0040a490
test eax, eax
je 0x4092a3
push 0x20
add eax, 2
push eax
call fcn.0040a490
mov esi, eax
test esi, esi
jne 0x4092b5
mov esi, dword [ebp - 4]
push 0x20
push esi
call fcn.0040a490
mov esi, eax
test esi, esi
je 0x409510
add esi, 2
push 0x20
pop eax
push 0x22
pop ecx
jmp 0x4092c3
add esi, 2
cmp word [esi], cx
je 0x4092c0
jmp 0x4092cd
add esi, 2
cmp word [esi], ax
je 0x4092ca
push esi
push str._regserver
call fcn.0040a02d
test eax, eax
jne 0x4092ff
push esi
push str._regserverfp
call fcn.0040a02d
test eax, eax
jne 0x4092ff
push esi
push str._unregserver
call fcn.0040a02d
test eax, eax
je 0x409376
push str.MSOHTMED_REG
push 1
push ebx
call fcn.0040a6f2
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x409510
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x409502
push esi
push str._regserverfp
call fcn.0040a02d
test eax, eax
je 0x40934e
push 1
push 1
call fcn.004083c6
neg eax
sbb eax, eax
and eax, 2
add edi, eax
jmp 0x409502
push esi
push str._regserver
call fcn.0040a02d
test eax, eax
je 0x409360
push ebx
jmp 0x409339
push esi
push str._unregserver
call fcn.0040a02d
test eax, eax
je 0x409376
call fcn.00408bc1
jmp 0x409340
push esi
push 0x40fdb4
call fcn.0040a02d
test eax, eax
je 0x4093c5
movzx eax, word [esi + 4]
cmp eax, 0x30
jb 0x409502
cmp eax, 0x39
ja 0x409502
cmp word [esi + 6], bx
jne 0x409502
mov word [ebp - 8], ax
xor eax, eax
mov word [ebp - 6], ax
lea eax, [ebp - 8]
push 0xa
push eax
call fcn.00409f5d
push eax
call fcn.0040875f
jmp 0x409340
push esi
push 0x40fa38
call fcn.0040a02d
test eax, eax
je 0x4093de
add esi, 6
mov dword [ebp - 0x14], 1
push esi
push 0x40fdbc
call fcn.0040a02d
test eax, eax
je 0x4093f7
add esi, 6
mov dword [ebp - 0x10], 1
push esi
push 0x40fdc4
call fcn.0040a02d
test eax, eax
je 0x409463
movzx eax, word [esi + 4]
push eax
call fcn.0040a26e
push 0x20
pop ecx
cmp ax, 0x64
jne 0x409428
cmp word [esi + 6], cx
jne 0x409428
mov dword [ebp - 0xc], 1
jmp 0x409460
movzx eax, word [esi + 4]
cmp eax, 0x30
jb 0x409502
cmp eax, 0x39
ja 0x409502
cmp word [esi + 6], cx
jne 0x409502
mov word [ebp - 4], ax
xor eax, eax
mov word [ebp - 2], ax
lea eax, [ebp - 4]
push 0xa
push eax
call fcn.00409f5d
mov dword [ebp - 8], eax
add esi, 8
push 0x22
pop eax
cmp word [esi], ax
jne 0x40949c
push esi
call fcn.00409ec7
push 0x22
pop ecx
mov dword [ebp - 4], eax
cmp word [esi + eax*2 - 2], cx
jne 0x40949c
lea eax, [esi + 2]
push eax
call fcn.0040a401
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x409502
mov eax, dword [ebp - 4]
xor edx, edx
mov esi, ecx
mov word [ecx + eax*2 - 4], dx
cmp word [esi], bx
je 0x4094eb
push ebx
push esi
call fcn.00409143
mov ebx, eax
test ebx, ebx
je 0x4094eb
cmp dword [ebp - 8], 0xffffffff
jne 0x4094c4
cmp dword [ebp - 0xc], 0
jne 0x4094c4
push ebx
call fcn.00409bbe
mov ecx, eax
jmp 0x4094cd
push ebx
call fcn.00409bbe
mov ecx, dword [ebp - 8]
cmp dword [ebp - 0x10], 0
jne 0x4094e9
cmp ecx, edi
je 0x4094e9
xor eax, eax
cmp dword [ebp - 0x14], eax
setne al
push eax
push ebx
push ecx
call fcn.00407d2e
jmp 0x4094eb
mov edi, ecx
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4094f8
push eax
call fcn.00401924
test ebx, ebx
je 0x409502
push ebx
call fcn.00408bf7
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x409510
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
call fcn.004018b6
test eax, eax
je 0x40951f
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_ExitProcess]