Function at 0x4c7840
Capabilities:
Capture webcam image
Create process on windows

Disassembly:
mov eax, dword [esp + 0x10]
sub esp, 0x8c
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push ebp
push esi
mov esi, dword [esp + 0xa0]
push edi
xor edi, edi
cmp esi, 0x8037
mov ebp, ecx
mov dword [eax], edi
jne 0x4c7995
mov eax, dword [ebp + 0x6c]
lea esi, [ebp + 0x6c]
push edi
push edi
push 0x1042
push eax
call ebx
mov ecx, dword [esi]
mov ebx, eax
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
cmp ebx, 0xffffffff
jne 0x4c789e
push edi
lea ecx, [ebp + 0x68]
call fcn.0045c670
test eax, eax
je 0x4c79f9
mov edx, dword [esi]
push 0
push 0
push 0x1042
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
push 0
push 0
lea ecx, [esp + 0x60]
lea eax, [edi*8]
sub eax, edi
mov ebx, dword [eax*4 + 0x55e5d0]
lea eax, [eax*4 + 0x55e5d0]
push ebx
mov dword [esp + 0x34], eax
call fcn.004ce200
mov dword [esp + 0x58], 0x542d28
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov ecx, dword [esp + 0x7c]
test ecx, ecx
jne 0x4c78f5
mov dword [esp + 0x7c], eax
lea ecx, [esp + 0x58]
lea edx, [esp + 0x60]
push ecx
push edx
push 0x55f3b0
call fcn.0040f710
lea eax, [esp + 0x78]
push eax
call dword [sym.imp.comdlg32.dll_ChooseColorW]
test eax, eax
mov dword [esp + 0x5c], 0
je 0x4c79d8
mov eax, dword [esp + 0x84]
cmp eax, ebx
mov dword [esp + 0x10], eax
je 0x4c79d8
mov ebx, eax
lea ecx, [esp + 0x10]
push ebx
push ecx
call fcn.00518ee0
mov eax, dword [eax]
add esp, 8
mov ecx, esi
push 0
push 0
push 0
push 0
push eax
push 1
push 1
push edi
call fcn.0042f320
mov eax, dword [esp + 0x10]
mov ecx, dword [0x547574]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4c798d
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4c798d
mov eax, dword [esp + 0x10]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
mov ecx, dword [esp + 0x28]
mov dword [ecx], ebx
jmp 0x4c79d8
cmp esi, 0x803b
je 0x4c8574
cmp esi, 0x803c
je 0x4c8574
cmp esi, 0x803f
je 0x4c8574
cmp esi, 0x803e
je 0x4c8574
cmp esi, 0x8035
jne 0x4c7a08
push edi
push 0xffffffffffffffff
lea ecx, [ebp + 0x68]
call fcn.0045c3b0
push 1
mov ecx, ebp
call fcn.004cb0f0
mov eax, dword [0x55bbe8]
push 0
push 0x801f
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret 0x10
cmp esi, 0xe146
jne 0x4c7a9f
mov edx, dword [0x547570]
push ecx
mov ebx, esp
mov eax, str.Farben
test eax, eax
mov dword [ebx], edx
je 0x4c7a88
mov ecx, eax
shr ecx, 0x10
jne 0x4c7a53
xor edx, edx
mov ecx, ebx
mov dx, ax
push edx
call fcn.00413ae0
call fcn.004b98f0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret 0x10
push str.Farben
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
cmp esi, edi
je 0x4c7a88
push esi
mov ecx, ebx
call fcn.00405530
test eax, eax
je 0x4c7a88
mov edi, dword [ebx]
lea ecx, [esi + esi]
mov edx, ecx
mov esi, str.Farben
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004b98f0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret 0x10
cmp esi, 0x8036
jne 0x4c7aaf
push edi
push 1
jmp 0x4c79d0
cmp esi, 0xe123
jne 0x4c7b1e
mov eax, dword [ebp + 0x6c]
push edi
push edi
push 0x1042
push eax
call ebx
mov ecx, dword [ebp + 0x6c]
mov esi, eax
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
lea ecx, [ebp + 0x68]
call fcn.0045be80
mov edx, dword [ebp + 0x6c]
push edi
push edi
push 0x1004
push edx
call ebx
cmp eax, esi
jg 0x4c7aea
dec esi
mov dword [esp + 0x58], edi
mov ecx, 9
xor eax, eax
lea edi, [esp + 0x5c]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0x6c]
mov eax, 2
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
lea eax, [esp + 0x58]
push eax
push esi
push 0x102b
push ecx
call ebx
jmp 0x4c79d8
cmp esi, 0x3f8
jne 0x4c7b3c
mov ecx, ebp
call fcn.004cb670
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret 0x10
cmp esi, 0x803a
jne 0x4c7b5d
push 1
lea ecx, [ebp + 0x68]
mov dword [ebp + 0x54], edi
call fcn.0045c7d0
mov dword [ebp + 0x54], 1
jmp 0x4c79d8
cmp esi, 0x3f7
jne 0x4c7ce9
mov edx, dword [ebp + 0x5c]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push esi
push 0x419
push edx
call edi
mov edx, dword [ebp + 0x5c]
lea ecx, [esp + 0x48]
push ecx
push eax
push 0x41d
push edx
call edi
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x5c]
lea edx, [esp + 0x28]
mov dword [esp + 0x2c], ecx
push edx
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
mov ecx, dword [0x55bc6c]
mov esi, dword [sym.imp.USER32.dll_GetSubMenu]
push 4
push ecx
call esi
push 6
push eax
call esi
mov ebx, eax
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov esi, eax
push esi
push ebx
call fcn.0047f8a0
add esp, 8
mov ebx, 7
push 0x400
push 0
push esi
call dword [sym.imp.USER32.dll_DeleteMenu]
dec ebx
jne 0x4c7bdc
mov edx, dword [ebp + 0x5c]
push 1
push 0x3f7
push 0x403
push edx
call edi
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
push 0
push eax
push 0
push ecx
push edx
push 0x102
push esi
call dword [sym.imp.USER32.dll_TrackPopupMenu]
mov ebx, eax
test ebx, ebx
je 0x4c7cb9
cmp ebx, 0x8505
jl 0x4c7c37
cmp ebx, 0x850f
jle 0x4c7c3f
cmp ebx, 0x8518
jne 0x4c7cb9
lea eax, [esp + 0x10]
push 0x4e
push eax
call fcn.004bd990
mov eax, dword [eax]
mov ecx, dword [ebp + 4]
add esp, 8
push 0x44
push 0x554e08
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [0x547574]
cmp eax, 6
mov eax, dword [esp + 0x10]
sete byte [esp + 0x1b]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4c7c99
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4c7c99
mov eax, dword [esp + 0x10]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
mov al, byte [esp + 0x1b]
test al, al
je 0x4c7cb9
mov ecx, dword [0x55bbe8]
push 0
push ebx
push 0x111
push ecx
call edi
mov ecx, ebp
call fcn.004c9380
mov edx, dword [ebp + 0x5c]
push 0
push 0x3f7
push 0x403
push edx
call edi
test esi, esi
je 0x4c79f9
push esi
call dword [sym.imp.USER32.dll_DestroyMenu]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret 0x10
cmp esi, 0x8038
jne 0x4c7d2d
mov eax, dword [ebp + 0x6c]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push edi
push edi
push 0x1042
push eax
call ebx
mov ecx, dword [ebp + 0x6c]
mov esi, eax
push edi
push esi
push 0x1013
push ecx
call ebx
push edi
push edi
push esi
lea ecx, [ebp + 0x68]
call fcn.0045c870
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret 0x10
cmp esi, 0xe100
jne 0x4c7efa
lea edx, [esp + 0x10]
push 0x4f
push edx
call fcn.004bd990
mov esi, dword [eax]
mov eax, dword [ebp + 0x6c]
add esp, 8
lea edi, [ebp + 0x6c]
push 0
push 0
push 0x1004
push eax
call ebx
push 0
push 0
push 0
push 0
push esi
push eax
push 1
mov ecx, edi
call fcn.0042f440
mov edx, dword [0x547574]
mov esi, eax
mov eax, dword [esp + 0x10]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4c7da0
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4c7da0
mov edx, dword [esp + 0x10]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [edi]
mov dword [ebp + 0x54], 1
push eax
call dword [sym.imp.USER32.dll_SetFocus]
push 1
lea ecx, [ebp + 0x68]
push esi
call fcn.0045c760
call fcn.005332a3
and eax, 0x8000007f
jns 0x4c7dcc
dec eax
or eax, 0xffffff80
inc eax
xor ebx, ebx
mov bh, al
call fcn.005332a3
and eax, 0x8000007f
jns 0x4c7de1
dec eax
or eax, 0xffffff80
inc eax
mov bl, al
shl ebx, 8
call fcn.005332a3
and eax, 0x8000007f
jns 0x4c7df7
dec eax
or eax, 0xffffff80
inc eax
and eax, 0xff
lea ecx, [esp + 0x10]
or ebx, eax
push ebx
push ecx
call fcn.00518ee0
mov edx, dword [eax]
add esp, 8
mov ecx, edi
push 0
push 0
push 0
push 0
push edx
push 1
push 1
push esi
call fcn.0042f320
mov eax, dword [esp + 0x10]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4c7e52
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4c7e52
mov edx, dword [esp + 0x10]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
push 0
push 0
push 0
push 0
push 0x54eed4
push 1
push 2
push esi
mov ecx, edi
call fcn.0042f320
push 0
push 0
push 0
push 0
push 0x54eed4
push 1
push 3
push esi
mov ecx, edi
call fcn.0042f320
push 0
push 0
push 0
push 0
push 0x54eed4
push 1
push 4
push esi
mov ecx, edi
call fcn.0042f320
push 0
push 0
push 0
push 0
push 0x54eed4
push 1
push 5
push esi
mov ecx, edi
call fcn.0042f320
mov eax, dword [0x55e5c4]
push 0
push 0
push 0
push 0
push eax
push 1
push 6
push esi
mov ecx, edi
call fcn.0042f320
mov ecx, dword [edi]
push 0
push esi
push 0x1013
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push esi
lea ecx, [ebp + 0x68]
call fcn.0045c870
mov dword [ebp + 0x54], 0
jmp 0x4c79d8
cmp esi, 0x8030
jne 0x4c7f89
mov edx, dword [0x547570]
push ecx
mov ebx, esp
mov eax, str._Q_Dir_Farben_r_n
test eax, eax
mov dword [ebx], edx
je 0x4c7f65
mov ecx, eax
shr ecx, 0x10
jne 0x4c7f30
xor edx, edx
mov ecx, ebx
mov dx, ax
push edx
call fcn.00413ae0
jmp 0x4c7f65
push str._Q_Dir_Farben_r_n
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
cmp esi, edi
je 0x4c7f65
push esi
mov ecx, ebx
call fcn.00405530
test eax, eax
je 0x4c7f65
mov edi, dword [ebx]
lea ecx, [esi + esi]
mov edx, ecx
mov esi, str._Q_Dir_Farben_r_n
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
mov ecx, esp
push str.color.ini
call fcn.00412590
lea ecx, [ebp + 0x68]
call fcn.0045a5f0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret 0x10
cmp esi, 0xa73c
jne 0x4c814f
mov dword [ebp + 0x54], edi
mov dword [eax], 1
mov eax, dword [0x547570]
lea ecx, [esp + 0x14]
push ecx
mov dword [esp + 0x18], eax
call fcn.004b7a00
add esp, 4
test eax, eax
je 0x4c8075
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 8], edi
jl 0x4c8075
push str._Q_Dir_Farben
push ecx
call fcn.0053225f
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, edi
je 0x4c7fe7
sub eax, ecx
sar eax, 1
cmp eax, edi
je 0x4c800c
cmp dword [ecx - 8], edi
jl 0x4c8075
push str._Q_Dir_Colors
push ecx
call fcn.0053225f
add esp, 8
cmp eax, edi
je 0x4c8075
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, edi
jne 0x4c8075
lea edx, [esp + 0x10]
push 0x50
push edx
call fcn.004bd990
mov eax, dword [eax]
add esp, 8
push 0x44
push edi
push eax
mov eax, dword [ebp + 4]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov edx, dword [0x547574]
cmp eax, 6
mov eax, dword [esp + 0x10]
sete bl
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4c8060
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4c8060
mov edx, dword [esp + 0x10]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
test bl, bl
je 0x4c8075
lea esi, [ebp + 0x68]
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.00459f20
jmp 0x4c80dc
push ecx
mov ecx, dword [0x547570]
mov ebx, esp
mov edx, 0x554e48
test edx, edx
mov dword [ebx], ecx
je 0x4c80d2
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
cmp esi, edi
je 0x4c80d2
push esi
mov ecx, ebx
call fcn.00405530
test eax, eax
je 0x4c80d2
lea eax, [esi + 1]
mov esi, dword [ebx]
cmp eax, edi
jne 0x4c80af
cmp esi, edi
jne 0x4c80c9
push eax
push esi
push 0xffffffffffffffff
push 0x554e48
push edi
push edi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, edi
jle 0x4c80c9
mov word [esi + eax*2 - 2], di
push 0xffffffffffffffff
mov ecx, ebx
call fcn.00405bb0
lea esi, [ebp + 0x68]
mov ecx, esi
call fcn.0045a2e0
cmp eax, edi
je 0x4c810c
push 1
mov ecx, esi
call fcn.0045c4a0
push 1
mov ecx, esi
call fcn.0045c7d0
push edi
mov ecx, esi
call fcn.0045c4a0
push edi
mov ecx, esi
call fcn.0045c670
mov eax, dword [ebp + 0x6c]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [esp + 0x14]
mov dword [ebp + 0x54], 1
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4c79d8
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4c79d8
mov edx, dword [esp + 0x14]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
jmp 0x4c79d8
cmp esi, 0x8033
jne 0x4c79f9
lea eax, [esp + 0x1c]
lea ecx, [ebp + 0x68]
push eax
call fcn.00459570
mov eax, dword [esp + 0x1c]
push ecx
mov ebp, esp
cmp dword [eax - 0xc], edi
jl 0x4c8187
mov dword [ebp], eax
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff4
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x4c81d8
mov edx, dword [0x547570]
mov dword [ebp], edx
mov eax, dword [esp + 0x20]
cmp eax, edi
mov esi, eax
jne 0x4c819e
xor ebx, ebx
jmp 0x4c81a7
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
push ebx
mov ecx, ebp
call fcn.00405660
test eax, eax
je 0x4c81d8
mov edi, dword [ebp]
lea eax, [ebx + ebx]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp]
mov dword [ecx - 8], ebx
mov edx, dword [ebp]
mov word [edx + eax], 0
lea eax, [esp + 0x14]
push eax
call fcn.004b7770
lea ecx, [esp + 0x30]
push ecx
call fcn.004b5c50
add esp, 0xc
lea edx, [esp + 0x48]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [esp + 0x52]
mov eax, dword [0x547570]
mov edx, dword [esp + 0x50]
and ecx, 0xffff
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x48]
and edx, 0xffff
push ecx
mov ecx, dword [esp + 0x4e]
push edx
mov edx, dword [esp + 0x56]
and eax, 0xffff
and ecx, 0xffff
push eax
and edx, 0xffff
push ecx
push edx
lea eax, [esp + 0x44]
push str._02d._02d._04d__02d:_02d
push eax
call fcn.00405cb0
mov ecx, dword [0x547570]
mov edx, str._seiteFilter_empfehlenFilter_
add esp, 0x1c
mov dword [esp + 0x38], ecx
test edx, edx
jne 0x4c8262
xor eax, eax
jmp 0x4c826d
push str._seiteFilter_empfehlenFilter_
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push str._seiteFilter_empfehlenFilter_
push eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x40]
push eax
mov eax, dword [eax - 8]
push eax
call fcn.004059f0
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx - 0xc]
lea eax, [ecx - 0xc]
test edx, edx
jl 0x4c82a2
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
push eax
mov dword [esp + 0x28], ecx
call esi
jmp 0x4c82bc
mov edx, dword [0x547570]
push ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], edx
call fcn.00405920
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
lea ecx, [esp + 0x38]
call fcn.00405700
mov eax, dword [0x547570]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax - 8]
mov eax, dword [esp + 0x28]
push ecx
push eax
mov edx, dword [eax - 8]
lea ecx, [esp + 0x50]
push edx
call fcn.004059f0
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx - 0xc]
lea eax, [ecx - 0xc]
test edx, edx
jl 0x4c8300
push eax
mov dword [esp + 0x24], ecx
call esi
jmp 0x4c8313
mov eax, dword [0x547570]
push ecx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], eax
call fcn.00405920
lea ecx, [esp + 0x44]
call fcn.00405700
mov ecx, dword [0x547570]
mov edx, 0x54f2c8
test edx, edx
mov dword [esp + 0x3c], ecx
jne 0x4c8333
xor eax, eax
jmp 0x4c833e
push 0x54f2c8
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0x54f2c8
push eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x44]
push eax
mov eax, dword [eax - 8]
push eax
call fcn.004059f0
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx - 0xc]
lea eax, [ecx - 0xc]
test edx, edx
jl 0x4c836d
push eax
mov dword [esp + 0x18], ecx
call esi
jmp 0x4c8381
mov edx, dword [0x547570]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], edx
call fcn.00405920
lea ecx, [esp + 0x3c]
call fcn.00405700
mov eax, dword [0x547570]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
push eax
mov ecx, dword [eax - 8]
mov eax, dword [esp + 0x18]
push ecx
push eax
mov edx, dword [eax - 8]
lea ecx, [esp + 0x40]
push edx
call fcn.004059f0
lea eax, [esp + 0x34]
lea ecx, [esp + 0x40]
push eax
call fcn.00405440
mov eax, dword [esp + 0x34]
mov edx, dword [0x547574]
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4c83ed
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4c83ed
mov edx, dword [esp + 0x34]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x40]
push 5
push 0
push 0
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, dword [esp + 0x40]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4c8430
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4c8430
mov edx, dword [esp + 0x40]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x14]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4c845b
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4c845b
mov edx, dword [esp + 0x14]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x20]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4c8486
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4c8486
mov edx, dword [esp + 0x20]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x24]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4c84b1
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4c84b1
mov edx, dword [esp + 0x24]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x30]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4c84dc
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4c84dc
mov edx, dword [esp + 0x30]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x28]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4c8507
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4c8507
mov edx, dword [esp + 0x28]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x10]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4c8532
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4c8532
mov edx, dword [esp + 0x10]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x1c]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4c79f9
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4c79f9
mov edx, dword [esp + 0x1c]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret 0x10
mov eax, dword [0x547570]
push ecx
mov edi, esp
mov ecx, 0x554e48
test ecx, ecx
mov dword [edi], eax
je 0x4c85bb
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
test ebx, ebx
je 0x4c85bb
push ebx
mov ecx, edi
call fcn.00405530
test eax, eax
je 0x4c85bb
mov edx, dword [edi]
inc ebx
push ebx
push 0x554e48
push edx
call fcn.00405400
add esp, 0xc
mov ecx, edi
push 0xffffffffffffffff
call fcn.00405bb0
push esi
mov ecx, ebp
call fcn.004c7590
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret 0x10