Function at 0x435180
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x8f4
mov eax, dword [ebp + 0xc]
push ebx
push esi
add eax, 0xffffffff
cmp eax, 3
mov esi, ecx
push edi
mov dword [esp + 0x38], esi
ja case.default.0x4351a4
jmp dword [eax*4 + 0x435858]
mov edi, dword [ebp + 8]
push str.CaptureDevice
push str.Settings
push edi
mov dword [ebp + 0xc], 4
call fcn.00407aa0
mov eax, edi
call fcn.00407e10
test al, al
je 0x4351df
mov eax, edi
call fcn.005ff9c0
test al, al
jne 0x435849
push 6
call fcn.005ffa40
mov eax, edi
call fcn.00407e10
test al, al
je 0x435218
mov eax, edi
call fcn.005ff9c0
test al, al
je 0x435218
push str.CaptureDevice
push str.Settings
push edi
call fcn.00407cd0
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor ebx, ebx
cmp byte [esi + 0x8234], bl
je 0x435239
mov eax, dword [esi + 4]
push eax
mov eax, str.No_valid_capture_device_could_be_found.
mov esi, str.Debut_Video_Capture_Software
call fcn.004f37e0
mov esi, dword [esp + 0x38]
mov ecx, esi
push ebx
push edi
call fcn.00435180
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edi, dword [ebp + 8]
push str.Webcam
push str.Settings
push edi
mov dword [ebp + 0xc], 2
call fcn.00407aa0
mov eax, edi
call fcn.00407e10
test al, al
je 0x43527f
mov eax, edi
call fcn.005ff9c0
test al, al
jne 0x435849
push 1
call fcn.005ffa40
mov eax, edi
call fcn.00407e10
test al, al
je 0x4352b8
mov eax, edi
call fcn.005ff9c0
test al, al
je 0x4352b8
push str.Webcam
push str.Settings
push edi
call fcn.00407cd0
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor ebx, ebx
cmp byte [esi + 0x8234], bl
je 0x435239
mov ecx, dword [esi + 4]
push ecx
mov eax, str.No_valid_webcam_was_found.
jmp 0x43522b
push str.Settings
push str.SoftwareNCH_SoftwareDebut_s
mov esi, 0x104
lea edi, [esp + 0x2f0]
mov dword [ebp + 0xc], 1
call fcn.004af0d0
add esp, 8
lea edx, [esp + 0xe0]
push edx
push 0x6bc0cc
push str.IPcamURL
mov ecx, edi
mov edx, SysReAllocStringLen
call fcn.004af7e0
xor ebx, ebx
cmp word [esp + 0xe0], bx
je 0x4353d0
push str.Settings
push str.SoftwareNCH_SoftwareDebut_s
lea edi, [esp + 0x2f0]
call fcn.004af0d0
add esp, 8
lea eax, [esp + 0x6f8]
push eax
push 0x6bc0cc
push str.IPcamUser
mov ecx, edi
mov edx, SysReAllocStringLen
call fcn.004af7e0
push str.Settings
push str.SoftwareNCH_SoftwareDebut_s
lea edi, [esp + 0x2f0]
call fcn.004af0d0
add esp, 8
lea ecx, [esp + 0x4f0]
push ecx
push 0x6bc0cc
push str.IPcamPassword
mov ecx, edi
mov edx, SysReAllocStringLen
call fcn.004af7e0
mov edi, dword [ebp + 8]
lea edx, [esp + 0x4f0]
push edx
push edi
lea eax, [esp + 0x700]
lea ecx, [esp + 0xe8]
call fcn.005ffce0
mov eax, edi
call fcn.00407e10
test al, al
je 0x4353d3
mov eax, edi
call fcn.00407ea0
test al, al
jne 0x435849
jmp 0x4353d3
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x38]
cmp byte [ecx + 0x8234], bl
je 0x43523b
mov eax, dword [ecx + 4]
push eax
mov esi, str.Debut_Video_Capture_Software
mov eax, str.Network_camera_URL_is_invalid.
call fcn.004f37e0
mov ecx, dword [esp + 0x38]
push ebx
push edi
call fcn.00435180
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [esp + 0x84]
push ecx
mov dword [ebp + 0xc], 3
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
xor edx, edx
cmp dword [esp + 0x98], 1
mov eax, str.Settings
setle dl
sub edx, 1
and edx, 0x3b
add edx, 1
push edx
push str.ScreenCaptureFPS
call fcn.004811b0
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
xor ebx, ebx
push ebx
push str.GameCaptureUseGammaRamp
fstp qword [esp + 0x48]
mov eax, str.Settings
call fcn.00480fe0
fld qword [esp + 0x40]
sub esp, 8
mov byte [esp + 0x44], al
fstp qword [esp]
mov eax, dword [esp + 0x44]
push eax
push ebx
push str.ShowCursor
mov eax, str.Settings
call fcn.00480fe0
mov esi, dword [ebp + 8]
push eax
call fcn.005ffea0
mov eax, esi
call fcn.00407e10
test al, al
je 0x4354a9
mov eax, esi
call fcn.00407ed0
test al, al
jne 0x435849
mov ecx, dword [esp + 0x38]
push ebx
push esi
call fcn.00435180
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor ebx, ebx
push ebx
lea ecx, [esp + 0x88]
push ecx
call fcn.004723d0
lea edi, [esp + 0x50]
mov dword [ebp + 0xc], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], ebx
call fcn.004720f0
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
push 0x64
mov dword [0x73663c], eax
push str.Zoom
mov eax, str.Settings
mov dword [0x736638], edx
mov dword [0x736640], esi
mov dword [0x736644], ecx
call fcn.004811b0
cmp eax, 0x64
je 0x435567
lea edx, [esp + 0x3c]
push edx
lea esi, [esp + 0x64]
call fcn.00472760
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
push eax
mov eax, edi
push ecx
lea edi, [esp + 0xc8]
call fcn.0042db70
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], edx
fld qword [esp + 0x95]
call fcn.006b24a0
push ebx
mov dword [esp + 0x64], eax
push str.DisableAero
mov eax, str.Settings
call fcn.00480fe0
push ebx
mov byte [esp + 0x80], al
push str.ScreenCapture16bit
mov eax, str.Settings
call fcn.00480fe0
mov byte [esp + 0x80], al
call fcn.00472870
mov edi, eax
cmp edi, ebx
je 0x4356ee
push edi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x4356ee
push edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], ebx
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x43566c
call fcn.00637950
push eax
lea eax, [esp + 0x44]
call fcn.00637a20
push 4
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
lea eax, [esp + 0x64]
push eax
push edi
call dword [sym.imp.USER32.dll_ClientToScreen]
lea ecx, [esp + 0x6c]
push ecx
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
add dword [esp + 0x70], 0x1b
sub ecx, esi
sub eax, 8
add eax, esi
mov esi, dword [esp + 0x74]
add esi, edx
mov dword [esp + 0x78], eax
add eax, ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], eax
lea edx, [esp + 0xd0]
jmp 0x435682
call fcn.00637950
push eax
lea eax, [esp + 0x44]
call fcn.00637a20
lea edx, [esp + 0xb0]
mov ecx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x44]
push eax
add ecx, 0x2a5d
call fcn.00402510
mov edx, dword [eax]
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 8]
mov esi, ecx
sub esi, edx
and esi, reloc.WS2_32.dll_closesocket
mov dword [esp + 0x48], ecx
mov eax, dword [eax + 0xc]
jns 0x4356bf
dec esi
or esi, 0xfffffffc
inc esi
mov edx, dword [esp + 0x44]
sub ecx, esi
mov esi, eax
sub esi, edx
and esi, 0x80000001
jns 0x4356d6
dec esi
or esi, 0xfffffffe
inc esi
sub eax, esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x50], esi
mov esi, ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], eax
lea edx, [esp + 0xe0]
push edx
call fcn.00471c90
lea eax, [esp + 0xe0]
push 0x6c9680
push eax
call fcn.006b227b
add esp, 8
test eax, eax
jne 0x43572d
lea ecx, [esp + 0xe0]
push 0x6c9674
push ecx
call fcn.006b227b
add esp, 8
test eax, eax
je 0x435750
mov edx, esi
sub edx, dword [esp + 0x50]
mov eax, edx
and eax, reloc.WS2_32.dll_ntohs
jns 0x435741
dec eax
or eax, 0xfffffff0
inc eax
je 0x435750
mov ecx, 0x10
sub ecx, eax
add esi, ecx
mov dword [esp + 0x58], esi
cmp byte [esp + 0x84], bl
mov edx, dword [esp + 0x5c]
jne 0x435779
mov eax, esi
sub eax, dword [esp + 0x50]
mov ecx, edx
sub ecx, dword [esp + 0x54]
mov dword [esp + 0x8d], eax
mov dword [esp + 0x91], ecx
jmp 0x435787
mov ecx, dword [esp + 0x91]
mov eax, dword [esp + 0x8d]
cmp eax, ebx
jle 0x435791
mov dword [esp + 0x40], eax
jmp 0x435799
sub esi, dword [esp + 0x50]
mov dword [esp + 0x40], esi
cmp ecx, ebx
jle 0x4357a3
mov dword [esp + 0x44], ecx
jmp 0x4357ab
sub edx, dword [esp + 0x54]
mov dword [esp + 0x44], edx
push ebx
push str.ShowCursor
mov eax, str.Settings
call fcn.00480fe0
push 1
mov byte [esp + 0x40], al
push str.CaptureMonitor
mov eax, str.Settings
call fcn.004811b0
mov esi, dword [esp + 0x38]
cmp byte [esi + 0x10949], bl
mov dword [esp + 0x64], eax
je 0x435803
mov edx, dword [esi + 0x2a59]
mov eax, dword [edx + 4]
lea ecx, [esi + 0x2a59]
call eax
test al, al
jne 0x4357fd
cmp byte [esi + 0x3639], bl
je 0x435803
mov byte [esp + 0x38], bl
jmp 0x435808
mov byte [esp + 0x38], 1
mov ecx, dword [esp + 0x44]
fild dword [esp + 0x60]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x88]
sub esp, 8
fstp qword [esp]
push eax
mov eax, dword [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x7c]
push edx
mov edx, dword [ebp + 8]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x7c]
call fcn.005ffb70
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8