Function at 0x471a05
Capabilities:
Check if process is running under wine

Disassembly:
sub esp, 0x24
push ebx
mov ebx, dword [esp + 0x2c]
push esi
xor esi, esi
cmp ebx, esi
mov dword [esp + 0x1c], esi
mov dword [esp + 8], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], esi
je 0x471a2b
mov eax, dword [0x506e54]
mov dword [ebx], eax
mov eax, dword [0x506e58]
test al, 1
je 0x471a3d
pop esi
and eax, 2
pop ebx
add esp, 0x24
ret
push ebp
push edi
mov edi, dword [0x45d97b]
or eax, 1
push 0x8000
mov dword [0x506e58], eax
call edi
mov dword [esp + 0x2c], eax
or eax, 0x8000
push eax
call edi
push 0x4d2d98
call dword [0x45d92a]
mov edi, eax
cmp edi, esi
je 0x471cef
mov ebp, dword [fcn.0045d87f]
push 0x4d2da8
call ebp
cmp eax, esi
mov dword [esp + 0x20], eax
je 0x471cef
push 0x4d2db4
call ebp
mov ebx, eax
cmp ebx, esi
mov dword [esp + 0x14], ebx
je 0x471cbf
mov esi, dword [fcn.0045d891]
push 0x4d2dc4
push ebx
call esi
test eax, eax
mov dword [0x506e48], eax
je 0x471cbf
push 0x4d2dd0
push ebx
call esi
test eax, eax
mov dword [0x506e4c], eax
je 0x471cbf
push 0x4d2de4
push ebx
call esi
test eax, eax
mov dword [0x506e50], eax
je 0x471cbf
lea ecx, [esp + 0x28]
push ecx
push 0x4d2df0
push 0x80000002
call dword [0x506e48]
test eax, eax
jne 0x471b1f
mov eax, dword [esp + 0x28]
test eax, eax
je 0x471b10
push eax
call dword [0x506e50]
mov dword [0x506e40], 1
jmp 0x471cbf
call fcn.00470fc5
test eax, eax
je 0x471b62
push 0x4d2e0c
push edi
call esi
mov edi, eax
test edi, edi
je 0x471c45
push 0x506e54
call dword [fcn.0045d864]
push eax
call edi
test eax, eax
je 0x471c45
mov eax, dword [0x506e54]
test eax, eax
jne 0x471c45
jmp 0x471cbf
push 0x4d2e24
call ebp
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x24], ebx
je 0x471bc9
push 0x4d2e34
push ebx
call esi
mov edi, eax
test edi, edi
je 0x471bc9
push 0x4d2e50
push ebx
call esi
mov ebx, eax
test ebx, ebx
je 0x471bc9
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x1c]
push eax
push 4
push 0xffffffffffffffff
push 0
call edi
test eax, eax
je 0x471bc9
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov dword [0x506e54], ecx
cmp dword [eax], 0
je 0x471bbe
mov dword [esp + 0x1c], 1
push eax
call ebx
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x471c41
push 0x4d2e60
call ebp
test eax, eax
mov dword [esp + 0x10], eax
je 0x471cbb
push 0x4d2e6c
mov edx, eax
push edx
call esi
mov edi, eax
test edi, edi
je 0x471cbb
mov eax, dword [esp + 0x10]
push 0x4d2e88
push eax
call esi
mov ebx, eax
test ebx, ebx
je 0x471cbb
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x1c]
push edx
push 4
push 0xffffffffffffffff
push 0
call edi
test eax, eax
je 0x471cbb
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov dword [0x506e54], ecx
cmp dword [eax], 0
mov edi, 1
jne 0x471c3a
mov edi, dword [esp + 0x1c]
push eax
call ebx
test edi, edi
je 0x471cbb
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
push 0x4d2e98
push edx
call esi
test eax, eax
je 0x471c60
push 0x1000
call eax
test eax, eax
je 0x471cbf
mov eax, dword [esp + 0x20]
mov esi, dword [fcn.0045d9ba]
push eax
call esi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x471c78
push eax
call esi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x471c83
push eax
call esi
push ebx
call esi
mov eax, dword [esp + 0x38]
test eax, eax
je 0x471c96
mov ecx, dword [0x506e54]
mov dword [eax], ecx
mov edx, dword [esp + 0x2c]
push edx
call dword [0x45d97b]
mov eax, dword [0x506e58]
pop edi
pop ebp
or eax, 2
pop esi
mov dword [0x506e58], eax
mov eax, 1
pop ebx
add esp, 0x24
ret
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov esi, dword [fcn.0045d9ba]
push eax
call esi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x471cd7
push eax
call esi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x471ce2
push eax
call esi
test ebx, ebx
je 0x471ce9
push ebx
call esi
mov ebx, dword [esp + 0x38]
xor esi, esi
cmp ebx, esi
je 0x471cf5
mov dword [ebx], esi
mov ecx, dword [esp + 0x2c]
push ecx
call dword [0x45d97b]
pop edi
pop ebp
pop esi
xor eax, eax
pop ebx
add esp, 0x24
ret