Function at 0x47f160
Capabilities:
Print debug messages
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, eax
cmp byte [esi + 0xc8], 0
push edi
jne 0x47f1c5
mov eax, dword [esi + 0x48]
test eax, eax
je 0x47f197
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x47f197
mov eax, dword [esi + 0x48]
push 0
push 6
push 0x465
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
cmp byte [esi + 0xc8], 0
jne 0x47f1c5
mov eax, dword [esi + 0x48]
test eax, eax
je 0x47f1c5
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x47f1c5
mov ecx, dword [esi + 0x48]
push 0
push 1
push 0x467
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
cmp byte [0x554092], 0
je 0x47f1d9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x55ad74], eax
cmp dword [esi + 0x18], 0
je 0x47f1e4
call fcn.004756d0
cmp dword [esi + 0x10], 0
je 0x47f1f1
mov ecx, esi
call fcn.00475e30
cmp dword [esi + 0x14], 0
je 0x47f1fd
push esi
call fcn.004770e0
mov ecx, 0x5202e0
call fcn.00458e40
cmp byte [0x554092], 0
je 0x47f274
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x55ad78], eax
sub eax, dword [0x55ad74]
mov edi, 0x55ae78
push eax
push 0x5234d8
push 0x5200e4
call fcn.00459850
mov edx, dword [0x55ae78]
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
add esp, 0xc
push edx
call ebx
mov eax, dword [0x55ad7c]
test eax, eax
je 0x47f27a
push eax
mov eax, dword [0x55ae78]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.004e89c0
mov edx, dword [0x55ad7c]
push edx
call fcn.004e5f17
add esp, 0x14
jmp 0x47f27a
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp byte [esi + 0xc8], 0
jne 0x47f2a8
mov eax, dword [esi + 0x48]
test eax, eax
je 0x47f2a8
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x47f2a8
mov eax, dword [esi + 0x48]
push 0
push 2
push 0x467
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
cmp byte [0x554092], 0
je 0x47f2bc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x55ad74], eax
mov edi, esi
call fcn.0047f920
cmp byte [0x554092], 0
mov dword [ebp - 4], eax
je 0x47f32a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x55ad78], eax
sub eax, dword [0x55ad74]
mov edi, 0x55ae78
push eax
push 0x5234e4
push 0x5200e4
call fcn.00459850
mov ecx, dword [0x55ae78]
add esp, 0xc
push ecx
call ebx
mov eax, dword [0x55ad7c]
test eax, eax
je 0x47f32a
push eax
mov eax, dword [0x55ae78]
mov edx, dword [eax - 0xc]
push edx
push 2
push eax
call fcn.004e89c0
mov eax, dword [0x55ad7c]
push eax
call fcn.004e5f17
add esp, 0x14
cmp byte [esi + 0xc8], 0
jne 0x47f358
mov eax, dword [esi + 0x48]
test eax, eax
je 0x47f358
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x47f358
mov ecx, dword [esi + 0x48]
push 0
push 3
push 0x467
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x47f4bb
cmp byte [0x554092], 0
je 0x47f378
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x55ad74], eax
push esi
call fcn.0047fab0
cmp byte [0x554092], 0
mov dword [ebp - 4], eax
je 0x47f3e6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x55ad78], eax
sub eax, dword [0x55ad74]
mov edi, 0x55ae78
push eax
push 0x5234fc
push 0x5200e4
call fcn.00459850
mov edx, dword [0x55ae78]
add esp, 0xc
push edx
call ebx
mov eax, dword [0x55ad7c]
test eax, eax
je 0x47f3e6
push eax
mov eax, dword [0x55ae78]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.004e89c0
mov edx, dword [0x55ad7c]
push edx
call fcn.004e5f17
add esp, 0x14
cmp byte [esi + 0xc8], 0
jne 0x47f414
mov eax, dword [esi + 0x48]
test eax, eax
je 0x47f414
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x47f414
mov eax, dword [esi + 0x48]
push 0
push 4
push 0x467
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x47f4bb
cmp byte [0x554092], 0
je 0x47f434
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x55ad74], eax
call fcn.00482df0
cmp byte [0x554092], 0
mov ebx, eax
je 0x47f4a3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x55ad78], eax
sub eax, dword [0x55ad74]
mov edi, 0x55ae78
push eax
push 0x523524
push 0x5200e4
call fcn.00459850
mov ecx, dword [0x55ae78]
add esp, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [0x55ad7c]
test eax, eax
je 0x47f4a3
push eax
mov eax, dword [0x55ae78]
mov edx, dword [eax - 0xc]
push edx
push 2
push eax
call fcn.004e89c0
mov eax, dword [0x55ad7c]
push eax
call fcn.004e5f17
add esp, 0x14
push 5
push 0x467
call fcn.0048b660
mov eax, ebx
cmp ebx, 1
jne 0x47f4bb
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret