Function at 0x4035c9
Capabilities:
Accept command line arguments
Delete registry value
Terminate process

Disassembly:
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpIW]
mov edi, dword [sym.imp.SHLWAPI.dll_StrStrW]
push 0x402a2c
lea eax, [ebp - 0x1534]
push eax
call esi
test eax, eax
je 0x404f6e
push 0x402a20
lea eax, [ebp - 0x1534]
push eax
call esi
test eax, eax
je 0x404f7a
push 0x402a08
lea eax, [ebp - 0x1534]
push eax
call esi
test eax, eax
je 0x404f86
push 0x4029fc
lea eax, [ebp - 0x1534]
push eax
call esi
test eax, eax
je 0x404f92
push 0x4029d8
lea eax, [ebp - 0x1534]
push eax
call esi
test eax, eax
je 0x404f9e
push 0x4029cc
lea eax, [ebp - 0x1534]
push eax
call esi
test eax, eax
je 0x404faa
push 0x4029c0
lea eax, [ebp - 0x1534]
push eax
call esi
test eax, eax
je 0x404fb6
push 0x4029b0
lea eax, [ebp - 0x1534]
push eax
call esi
test eax, eax
je 0x404fc2
push 0x4029a0
lea eax, [ebp - 0x1534]
push eax
call esi
test eax, eax
je 0x404fce
push 0x402990
lea eax, [ebp - 0x1534]
push eax
call esi
test eax, eax
je 0x404fda
push 0x402984
lea eax, [ebp - 0x1534]
push eax
call esi
test eax, eax
je 0x404fe6
push 0x40297c
lea eax, [ebp - 0x1534]
push eax
call esi
test eax, eax
je 0x404ff2
push 0x402958
lea eax, [ebp - 0x14f4]
push eax
call edi
test eax, eax
lea eax, [ebp - 0x14f4]
jne 0x404ffe
push 0x402940
push eax
call edi
test eax, eax
lea eax, [ebp - 0x14f4]
jne 0x40504c
push 0x402938
push eax
call edi
test eax, eax
jne 0x402901
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
push 4
push 0x40292c
lea eax, [ebp - 0x14f4]
push eax
call esi
test eax, eax
je 0x402901
push 7
push 0x40291c
lea eax, [ebp - 0x14f4]
push eax
call esi
test eax, eax
je 0x402901
push ebx
push ebx
push 4
call fcn.004021c9
push eax
push 0x30327639
call fcn.00403fec
add esp, 0xc
lea eax, [ebp - 0x1534]
push eax
push dword [ebp - 8]
jmp 0x403688
cmp dword [ebp - 0x24], ebx
jne 0x4028db
jmp 0x4050c4
mov dword [ebp - 0x30], ebx
jmp 0x4037ac
mov dword [ebp - 0x30], ebx
jmp 0x4037b8
push ebp
mov ebp, esp
mov eax, 0x1534
call fcn.004047ba
mov eax, dword [0x40c0b4]
xor eax, dword [ebp + 4]
push ebx
push esi
push edi
push 0x4037e4
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
or dword [ebp - 0x10], 0xffffffff
push 0x40c124
mov esi, eax
mov dword [0x40c13c], 0x406acf
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x40755e
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
call fcn.00402d80
test eax, eax
je 0x40531a
push 0x402538
push esi
call fcn.00402f94
xor ebx, ebx
xor eax, eax
cmp dword [0x40c0cc], ebx
mov ecx, 0x96
lea edi, [ebp - 0x26c]
mov dword [ebp - 0xc], ebx
rep stosd dword es:[edi], eax
jne 0x404f38
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov edi, eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
inc esi
lea eax, [esi + esi]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, ebx
mov dword [ebp - 0x28], eax
je 0x40367e
push esi
push eax
push 0xffffffffffffffff
push edi
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [ebp - 0x1534]
push eax
push dword [ebp - 0x28]
call fcn.00403f41
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x40275b
cmp dword [ebp - 0x40], ebx
mov esi, 0x80000001
jne 0x4050f4
push ebx
lea eax, [ebp - 0x14]
push eax
push ebx
push 0xf003f
push ebx
push ebx
push ebx
push dword [0x40c108]
push esi
call fcn.004021fb
test eax, eax
jne 0x405141
push 1
push dword [0x40c10c]
push ebx
push dword [ebp - 0x14]
call fcn.004037ed
test eax, eax
jne 0x405125
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x44], ebx
jne 0x40515d
push ebx
push dword [0x40c104]
mov edi, 0x402508
push edi
push esi
call fcn.004037ed
test eax, eax
jne 0x405220
cmp dword [ebp - 0x4c], ebx
jne 0x40523c
lea eax, [ebp - 0xc]
push eax
call fcn.00404036
test eax, eax
je 0x4052e9
cmp dword [0x40c990], ebx
jne 0x403739
cmp dword [ebp - 0x54], ebx
jne 0x405248
cmp dword [ebp - 0x28], ebx
je 0x4052f7
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x26c]
push eax
mov dword [ebp - 8], ebx
call fcn.0040434a
test eax, eax
jne 0x4052db
push 0x104
lea eax, [ebp - 0x4a8]
push eax
push ebx
call fcn.00402c2c
lea eax, [ebp - 0x4a8]
push eax
push 0x4037cc
push edi
push esi
call fcn.00402444
cmp dword [ebp - 0x34], ebx
jne 0x4052b6
cmp dword [ebp - 0x5c], ebx
je 0x4037b8
cmp dword [ebp - 0x44], ebx
jne 0x402913
cmp dword [ebp - 0x30], ebx
jl 0x40290b
cmp dword [ebp - 0x30], 1
jg 0x40290b
cmp dword [ebp - 0x24], ebx
jne 0x40527e
mov dword [ebp - 0x24], ebx
lea eax, [ebp - 0x26c]
push eax
call sub.msnmetal.dll_Ordinal_5
jmp 0x40528c
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edi, eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
inc esi
lea eax, [esi + esi]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, ebx
mov dword [ebp - 0x28], eax
je 0x40367e
push esi
push edi
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyNW]
jmp 0x40367e
mov dword [ebp - 0x58], 1
jmp 0x4028f2
mov dword [ebp - 0x54], 1
jmp 0x4028f2
mov dword [ebp - 0x50], 1
jmp 0x4028f2
mov dword [ebp - 0x4c], 1
jmp 0x4028f2
mov dword [ebp - 0x48], 1
jmp 0x4028f2
mov dword [ebp - 0x40], 1
jmp 0x4028f2
mov dword [ebp - 0x30], 1
jmp 0x4028f2
mov dword [ebp - 0x30], 2
jmp 0x4028f2
mov dword [ebp - 0x3c], 1
jmp 0x4028f2
mov dword [ebp - 0x38], 1
jmp 0x4028f2
mov dword [ebp - 0x34], 1
jmp 0x4028f2
mov dword [ebp - 0x18], 1
jmp 0x4028f2
mov esi, 0x405398
push esi
push eax
call edi
neg eax
sbb eax, eax
inc eax
inc eax
mov dword [ebp - 0x2c], eax
push esi
lea eax, [ebp - 0x14f4]
push eax
call edi
test eax, eax
jne 0x4028f2
push 0x405394
lea eax, [ebp - 0x14f4]
push eax
call edi
test eax, eax
jne 0x4028f2
push ebx
push ebx
push 4
call fcn.004021c9
push eax
push 0x30357962
jmp 0x4028ea
push 0x3d
push eax
mov dword [ebp - 0x44], 1
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
je 0x4028f2
lea edi, [eax + 2]
mov ax, word [edi]
cmp ax, 0x30
je 0x4028f2
cmp ax, 0x31
je 0x4028f2
push edi
call fcn.00406c8c
test eax, eax
jne 0x405096
push edi
call fcn.00406d96
test eax, eax
je 0x4028f2
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
inc esi
lea eax, [esi + esi]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, ebx
mov dword [ebp - 0x24], eax
je 0x4028f2
push esi
push edi
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyNW]
jmp 0x4028f2
lea eax, [ebp - 0x14f4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
inc esi
lea eax, [esi + esi]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, ebx
mov dword [ebp - 0x24], eax
je 0x4028f2
push esi
lea ecx, [ebp - 0x14f4]
push ecx
jmp 0x4050b8
push 0x104
lea eax, [ebp - 0x4a8]
push eax
push ebx
call fcn.00402c2c
lea eax, [ebp - 0x4a8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
push 0x405338
push esi
call dword [sym.imp.SHLWAPI.dll_SHDeleteValueW]
jmp 0x4036a6
push ebx
push ebx
push 4
call fcn.004021c9
push eax
push 0x30357462
call fcn.00403fec
add esp, 0xc
jmp 0x4036e1
push ebx
push ebx
push 4
call fcn.004021c9
push eax
push 0x30357463
call fcn.00403fec
add esp, 0xc
jmp 0x4036ea
push 1
push 0x1c7
call fcn.00406b9c
cmp dword [ebp - 0x2c], 2
je 0x405192
cmp dword [ebp - 0x2c], 1
je 0x40518c
push ebx
push ebx
push 4
call fcn.004021c9
push eax
push 0x30357963
call fcn.00403fec
add esp, 0xc
cmp dword [ebp - 0x2c], 2
jne 0x40519e
push 1
push 0x9a
call fcn.00406b9c
lea eax, [ebp - 8]
push eax
push dword [0x40c104]
mov edi, 0x402508
push edi
push esi
call fcn.004087d5
test eax, eax
je 0x4051c9
push ebx
push ebx
push 4
call fcn.004021c9
push eax
push 0x30353568
jmp 0x40522f
cmp dword [ebp - 8], ebx
push 1
jne 0x4051f6
push dword [0x40c104]
push edi
push esi
call fcn.004037ed
test eax, eax
je 0x40370e
push ebx
push ebx
push 4
call fcn.004021c9
push eax
push 0x30353569
jmp 0x40522f
push 0x1c9
call fcn.00406b9c
cmp dword [ebp - 0x28], ebx
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
je 0x405210
push dword [ebp - 0x28]
call esi
cmp dword [ebp - 0x24], ebx
je 0x40521a
push dword [ebp - 0x24]
call esi
push ebx
jmp 0x405328
push ebx
push ebx
push 4
call fcn.004021c9
push eax
push 0x3035356a
call fcn.00403fec
add esp, 0xc
jmp 0x40370e
push ebx
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
jmp 0x403717
push dword [0]
lea eax, [ebp - 0x2a0]
push 0x405334
push 0x32
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x10
push ebx
push 0x405330
lea eax, [ebp - 0x2a0]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x403739
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x4037b5
cmp dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], eax
je 0x4052c5
push dword [ebp - 0x20]
call fcn.004067f0
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x1c], ebx
jne 0x4052c5
mov dword [ebp - 0x26c], 4
jmp 0x4052c5
lea eax, [ebp - 0x26c]
push eax
call sub.tstmetal.dll_Ordinal_5_1
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x268]
push eax
push dword [ebp - 0x26c]
call fcn.0040656c
mov ecx, dword [ebp - 8]
cmp ecx, ebx
je 0x4052e9
mov eax, dword [ecx]
push 1
call dword [eax + 4]
cmp dword [ebp - 0x28], ebx
je 0x4052f7
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x24], ebx
je 0x405305
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_LocalFree]
call fcn.004086f5
cmp dword [ebp - 0xc], ebx
je 0x405325
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x405325
push 0x82
call fcn.004064f7
pop ecx
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_ExitProcess]