Function at 0x4388b5
Capabilities:
Delete registry key
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x101c
call fcn.004a98b0
mov eax, dword [0x4dd52c]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
mov esi, dword [ebp + 8]
push edi
xor edx, edx
mov dword [ebp - 4], eax
xor eax, eax
cmp esi, edx
mov word [ebp - 0x1004], dx
mov ecx, 0x3ff
lea edi, [ebp - 0x1002]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1008], edx
stosw word es:[edi], ax
je 0x4389c0
cmp dword [esi + 0x1dfa8], 1
jne 0x4389c0
cmp dword [esi + 0x1dfac], edx
je 0x4389c0
call ebx
mov dword [ebp - 0x1008], eax
lea eax, [ebp - 0x101c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1004]
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x100e]
push 0x407988
push eax
movzx eax, word [ebp - 0x1010]
push eax
movzx eax, word [ebp - 0x1012]
push eax
movzx eax, word [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4060b0
lea eax, [ebp - 0x1004]
push 0x800
push eax
call fcn.00431bde
add esp, 0x28
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1004]
push eax
jne 0x4389a2
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4389c0
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
push esi
call fcn.0042ee90
test eax, eax
jne 0x438aca
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
test esi, esi
je 0x438c10
cmp dword [esi + 0x1dfa8], 1
jne 0x438c10
cmp dword [esi + 0x1dfac], 0
je 0x438c10
call ebx
mov ebx, eax
lea eax, [ebp - 0x101c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
sub ebx, dword [ebp - 0x1008]
xor eax, eax
test ebx, ebx
mov ecx, 0x400
lea edi, [ebp - 0x1004]
mov dword [ebp - 0x1008], ebx
fild dword [ebp - 0x1008]
rep stosd dword es:[edi], eax
jge 0x438a34
fadd dword [0x4060a4]
movzx eax, word [ebp - 0x100e]
push ecx
push ecx
fmul dword [0x4060a0]
fstp qword [esp]
push 0x407938
push eax
movzx eax, word [ebp - 0x1010]
push eax
movzx eax, word [ebp - 0x1012]
push eax
movzx eax, word [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x405f70
lea eax, [ebp - 0x1004]
push 0x800
push eax
call fcn.00431bde
add esp, 0x30
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1004]
push eax
jne 0x438aa7
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x438c10
add esi, 0x1dfa4
push 0x4060a8
push dword [esi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [esi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
jmp 0x438c10
mov eax, dword [esi + 0x5030]
test eax, eax
je 0x438ada
push eax
call sub.GDI32.dll_EngDeletePalette
push esi
call fcn.0043db46
and dword [ebp - 0x100c], 0
push 0x405c38
lea eax, [esi + 0x19a24]
push eax
lea eax, [ebp - 0x100c]
push eax
call fcn.004805f0
test eax, eax
jne 0x438b20
push 0x407920
push dword [ebp - 0x100c]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
push dword [ebp - 0x100c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [esi + 0x1dfa8], 1
jne 0x438c04
cmp dword [esi + 0x1dfac], 0
je 0x438c04
call ebx
mov ebx, eax
lea eax, [ebp - 0x101c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
sub ebx, dword [ebp - 0x1008]
xor eax, eax
test ebx, ebx
mov ecx, 0x400
lea edi, [ebp - 0x1004]
mov dword [ebp - 0x1008], ebx
fild dword [ebp - 0x1008]
rep stosd dword es:[edi], eax
jge 0x438b76
fadd dword [0x4060a4]
movzx eax, word [ebp - 0x100e]
push ecx
push ecx
fmul dword [0x4060a0]
fstp qword [esp]
push 0x407988
push eax
movzx eax, word [ebp - 0x1010]
push eax
movzx eax, word [ebp - 0x1012]
push eax
movzx eax, word [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x405f70
lea eax, [ebp - 0x1004]
push 0x800
push eax
call fcn.00431bde
add esp, 0x30
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1004]
push eax
jne 0x438be6
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x438c04
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
push esi
call fcn.0043605e
push esi
call fcn.0042ed79
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.004a9585
leave
ret 4