Function at 0x40378d
Capabilities:
Check mutex on windows
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0x415148]
push ebx
push esi
push edi
cmp byte [eax], 0
je 0x4037eb
push eax
lea eax, [ebp - 0x11c]
push str.pjWebCam._s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push dword [0x415148]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
xor edi, edi
push eax
push edi
push dword [0x41514c]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, dword [ebp + 8]
mov dword [esi + 4], eax
push dword [0x415148]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x403806
lea eax, [ebp - 0x11c]
push str.pjWebCam._default_
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, dword [ebp + 8]
and dword [esi + 4], 0
xor edi, edi
mov ebx, dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea eax, [ebp - 0x11c]
push eax
push 1
push edi
call ebx
cmp eax, edi
mov dword [ebp + 8], eax
je 0x40388a
jmp 0x40387d
cmp dword [ebp + 8], edi
je 0x40382f
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
push 0x4035c8
push dword [esi + 0x10]
push 0x77
push dword [0x415150]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov eax, dword [esi + 4]
cmp eax, edi
je 0x40386c
push eax
lea eax, [ebp - 0x11c]
push str.pjWebCam._s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
jmp 0x403871
push str.pjWebCam._default_
push 1
push edi
call ebx
cmp eax, edi
mov dword [ebp + 8], eax
je 0x40382f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x403821
mov eax, dword [ebp + 8]
mov dword [esi], eax
mov eax, dword [esi + 4]
cmp eax, edi
je 0x4038c8
push eax
push str.softwarepacaropjWebCam
lea eax, [ebp - 0x11c]
push str._s_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 8]
push edi
push eax
push edi
push 0xf003f
push edi
push edi
lea eax, [ebp - 0x11c]
push edi
push eax
jmp 0x4038db
lea eax, [ebp - 8]
push edi
push eax
push edi
push 0xf003f
push edi
push edi
push edi
push str.softwarepacaropjWebCam
push reloc.WSOCK32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
push 4
lea eax, [ebp + 8]
pop ebx
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push str.interval
push dword [ebp - 8]
mov dword [ebp + 8], ebx
call edi
test eax, eax
jne 0x403912
cmp dword [ebp - 4], ebx
je 0x403916
xor eax, eax
jmp 0x403919
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x1c], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.safe_capture
mov dword [ebp + 8], ebx
push dword [ebp - 8]
call edi
test eax, eax
jne 0x403940
cmp dword [ebp - 0xc], ebx
je 0x403944
xor eax, eax
jmp 0x403947
mov eax, dword [ebp - 4]
mov dword [esi + 0x24], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.saveFile
mov dword [ebp + 8], ebx
push dword [ebp - 8]
call edi
test eax, eax
jne 0x40396e
cmp dword [ebp - 0xc], ebx
je 0x403972
xor eax, eax
jmp 0x403975
mov eax, dword [ebp - 4]
mov dword [esi + 0x28], eax
push str.cam.jpg
lea eax, [esi + 0x2c]
push 0x104
push eax
push str.fileName
push dword [ebp - 8]
call fcn.00403070
add esp, 0x14
lea eax, [ebp + 8]
mov dword [ebp + 8], ebx
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.http
push dword [ebp - 8]
call edi
test eax, eax
jne 0x4039ba
cmp dword [ebp - 0xc], ebx
je 0x4039be
xor eax, eax
jmp 0x4039c1
mov eax, dword [ebp - 4]
mov dword [esi + 0x130], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.httpPort
mov dword [ebp + 8], ebx
push dword [ebp - 8]
call edi
test eax, eax
jne 0x4039eb
cmp dword [ebp - 0xc], ebx
je 0x4039f0
push 0x50
pop eax
jmp 0x4039f3
mov eax, dword [ebp - 4]
mov word [esi + 0x134], ax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.httpRefresh
mov dword [ebp + 8], ebx
push dword [ebp - 8]
call edi
test eax, eax
jne 0x403a1e
cmp dword [ebp - 0xc], ebx
je 0x403a22
xor eax, eax
jmp 0x403a25
mov eax, dword [ebp - 4]
mov dword [esi + 0x13e], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.httpExpires
mov dword [ebp + 8], ebx
push dword [ebp - 8]
call edi
test eax, eax
jne 0x403a4f
cmp dword [ebp - 0xc], ebx
je 0x403a56
mov eax, 0x12c
jmp 0x403a59
mov eax, dword [ebp - 4]
mov dword [esi + 0x13a], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push 0x412894
mov dword [ebp + 8], ebx
push dword [ebp - 8]
call edi
test eax, eax
jne 0x403a83
cmp dword [ebp - 0xc], ebx
je 0x403a87
xor eax, eax
jmp 0x403a8a
mov eax, dword [ebp - 4]
mov dword [esi + 0x146], eax
push 0x415130
lea eax, [esi + 0x14a]
push 0x40
push eax
push str.ftpUser
push dword [ebp - 8]
call fcn.00403070
push 0x415130
lea eax, [esi + 0x18a]
push 0x40
push eax
push str.ftpPass
push dword [ebp - 8]
call fcn.00403070
push esi
call fcn.00402fbd
push 0x415130
lea eax, [esi + 0x1ca]
push 0x40
push eax
push str.ftpAccount
push dword [ebp - 8]
call fcn.00403070
add esp, 0x40
lea eax, [esi + 0x20a]
push 0x415130
push 0x104
push eax
push str.ftpServer
push dword [ebp - 8]
call fcn.00403070
push str.cam.jpg
lea eax, [esi + 0x30e]
push 0x104
push eax
push str.ftpFile
push dword [ebp - 8]
call fcn.00403070
push 0x415130
lea eax, [esi + 0x412]
push 0x104
push eax
push str.ftpDir
push dword [ebp - 8]
call fcn.00403070
add esp, 0x3c
lea eax, [ebp + 8]
mov dword [ebp + 8], ebx
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.ftpPassive
push dword [ebp - 8]
call edi
test eax, eax
jne 0x403b6b
cmp dword [ebp - 0xc], ebx
je 0x403b6f
xor eax, eax
jmp 0x403b72
mov eax, dword [ebp - 4]
mov dword [esi + 0x516], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.caption
mov dword [ebp + 8], ebx
push dword [ebp - 8]
call edi
test eax, eax
jne 0x403b9c
cmp dword [ebp - 0xc], ebx
je 0x403ba0
xor eax, eax
jmp 0x403ba3
mov eax, dword [ebp - 4]
push 0x264
push 0
mov dword [esi + 0x52a], eax
push dword [0x41514c]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0x4122c4
push 0x100
push eax
push str.captionText
push dword [ebp - 8]
mov dword [ebp + 8], eax
call fcn.00403070
add esp, 0x14
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], ebx
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 4]
push eax
push 0
push str.captionValign
push dword [ebp - 8]
call edi
test eax, eax
jne 0x403bfe
cmp dword [ebp - 4], ebx
je 0x403c03
push 2
pop eax
jmp 0x403c06
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], ebx
mov dword [ecx + 0x100], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.captionHalign
push dword [ebp - 8]
call edi
test eax, eax
jne 0x403c33
cmp dword [ebp - 0xc], ebx
je 0x403c38
push 1
pop eax
jmp 0x403c3b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], ebx
mov dword [ecx + 0x104], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.captionTransparent
push dword [ebp - 8]
call edi
test eax, eax
jne 0x403c68
cmp dword [ebp - 0xc], ebx
je 0x403c6c
xor ecx, ecx
jmp 0x403c6f
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov dword [eax + 0x108], ecx
lea ecx, [ebp - 0x14]
add eax, 0x10c
push ecx
push eax
lea eax, [ebp - 0x18]
push eax
push 0
push str.captionFont
mov dword [ebp - 0x14], 0x3c
push dword [ebp - 8]
call edi
test eax, eax
je 0x403cb7
mov eax, dword [ebp + 8]
add eax, 0x10c
push eax
push 0x3c
push 0xc
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], ebx
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.captionForeground
push dword [ebp - 8]
call edi
test eax, eax
jne 0x403cdb
cmp dword [ebp - 0xc], ebx
je 0x403ce2
mov eax, 0xffffff
jmp 0x403ce5
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], ebx
mov dword [ecx + 0x148], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.captionBackground
push dword [ebp - 8]
call edi
test eax, eax
jne 0x403d12
cmp dword [ebp - 0xc], ebx
je 0x403d16
xor eax, eax
jmp 0x403d19
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], ebx
mov dword [ecx + 0x14c], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.overlay
push dword [ebp - 8]
call edi
test eax, eax
jne 0x403d46
cmp dword [ebp - 0xc], ebx
je 0x403d4a
xor eax, eax
jmp 0x403d4d
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], ebx
mov dword [ecx + 0x150], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.overlayStretch
push dword [ebp - 8]
call edi
test eax, eax
jne 0x403d7a
cmp dword [ebp - 0xc], ebx
je 0x403d7f
push 1
pop eax
jmp 0x403d82
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], ebx
mov dword [ecx + 0x154], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.overlayMethod
push dword [ebp - 8]
call edi
test eax, eax
jne 0x403daf
cmp dword [ebp - 0xc], ebx
je 0x403db3
xor eax, eax
jmp 0x403db6
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 8]
push 0x415130
push 0x100
mov dword [edi + 0x258], eax
lea eax, [edi + 0x158]
push eax
push str.overlayBitmap
push dword [ebp - 8]
call fcn.00403070
push 0
push str.imageProcess
push dword [ebp - 8]
call fcn.00403037
and dword [edi + 0x260], 0
push 0x32
push str.quality
mov dword [edi + 0x25c], eax
push dword [ebp - 8]
mov dword [esi + 0x52e], edi
call fcn.00403037
push 1
push str.camera
push dword [ebp - 8]
mov dword [esi + 0x532], eax
call fcn.00403037
push 1
push 0x412778
push dword [ebp - 8]
mov dword [esi + 0x536], eax
call fcn.00403037
add esp, 0x44
mov dword [esi + 0x53a], eax
push 1
push str.preview
push dword [ebp - 8]
call fcn.00403037
add esp, 0xc
mov dword [esi + 0x53e], eax
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebx
leave
ret