Function at 0x431e9c
Capabilities:
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1018
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 0x431fa7
cmp dword [esi + 0x1dfa8], 1
jne 0x431fa7
cmp dword [esi + 0x1dfac], edx
je 0x431fa7
call ebx
mov dword [ebp - 0x1008], eax
lea eax, [ebp - 0x1018]
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 - 0x100a]
push 0x4062f4
push eax
movzx eax, word [ebp - 0x100c]
push eax
movzx eax, word [ebp - 0x100e]
push eax
movzx eax, word [ebp - 0x1010]
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 0x431f89
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x431fa7
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 0x432092
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
test esi, esi
je 0x432335
cmp dword [esi + 0x1dfa8], 1
jne 0x432335
cmp dword [esi + 0x1dfac], 0
je 0x432335
call ebx
mov ebx, eax
lea eax, [ebp - 0x1018]
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 0x43201b
fadd dword [0x4060a4]
fmul dword [0x4060a0]
push ecx
push ecx
fstp qword [esp]
push 0x4062a0
movzx eax, word [ebp - 0x100a]
push eax
movzx eax, word [ebp - 0x100c]
push eax
movzx eax, word [ebp - 0x100e]
push eax
movzx eax, word [ebp - 0x1010]
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 0x432317
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x432335
mov edi, dword [esi + 0x521c]
cmp byte [edi + 2], 2
jne 0x432134
cmp dword [edi + 8], 0
jne 0x43214e
push 0x400
push 0
push dword [esi + 0x500c]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
mov dword [edi + 8], eax
jne 0x43214e
cmp dword [esi + 0x1dfa8], 1
jne 0x432335
cmp dword [esi + 0x1dfac], eax
je 0x432335
call ebx
mov ebx, eax
lea eax, [ebp - 0x1018]
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 0x43211f
fadd dword [0x4060a4]
fmul dword [0x4060a0]
push ecx
push ecx
fstp qword [esp]
push 0x406250
jmp 0x43202b
mov eax, dword [edi + 8]
test eax, eax
je 0x43214e
push eax
push 0
push dword [esi + 0x500c]
call dword [sym.imp.KERNEL32.dll_HeapFree]
and dword [edi + 8], 0
and dword [edi + 4], 0
mov byte [edi], 0
mov byte [edi + 0xc], 0xff
push dword [esi + 0x1893c]
push esi
call fcn.0042f9d1
xor edi, edi
cmp word [esi + 0x360], di
je 0x4321f4
push edi
push 1
lea eax, [esi + 0x162f0]
push 5
push dword [eax]
push dword [eax + 4]
push dword [eax]
call sub.GDI32.dll_EngCreateBitmap
cmp eax, edi
mov dword [esi + 0x502c], eax
jne 0x4321d8
cmp dword [esi + 0x1dfa8], 1
jne 0x432335
cmp dword [esi + 0x1dfac], edi
je 0x432335
call ebx
mov ebx, eax
lea eax, [ebp - 0x1018]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
sub ebx, dword [ebp - 0x1008]
mov dword [ebp - 0x1008], ebx
fild dword [ebp - 0x1008]
jmp 0x4322eb
cmp word [esi + 0x362], 2
jne 0x4321e6
push 2
jmp 0x4321e8
push 0xa
push dword [esi + 0x5028]
push eax
jmp 0x43234d
push 5
push dword [esi + 0x162f4]
xor edi, edi
push dword [esi + 0x162f0]
inc edi
cmp dword [esi + 0x1893c], edi
push esi
jne 0x4322a7
call sub.GDI32.dll_EngCreateDeviceSurface
test eax, eax
mov dword [esi + 0x502c], eax
jne 0x43228a
cmp dword [esi + 0x1dfa8], edi
jne 0x432335
cmp dword [esi + 0x1dfac], eax
je 0x432335
call ebx
mov ebx, eax
lea eax, [ebp - 0x1018]
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 0x432275
fadd dword [0x4060a4]
fmul dword [0x4060a0]
push ecx
push ecx
fstp qword [esp]
push 0x4061f8
jmp 0x43202b
push eax
call sub.GDI32.dll_EngMarkBandingSurface
cmp word [esi + 0xd8e], di
jne 0x43233c
push 0x124eb
jmp 0x432341
call sub.GDI32.dll_EngCreateDeviceSurface
test eax, eax
mov dword [esi + 0x502c], eax
jne 0x432290
cmp dword [esi + 0x1dfa8], edi
jne 0x432335
cmp dword [esi + 0x1dfac], eax
je 0x432335
call ebx
mov ebx, eax
lea eax, [ebp - 0x1018]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
sub ebx, dword [ebp - 0x1008]
mov dword [ebp - 0x1008], ebx
fild dword [ebp - 0x1008]
test ebx, ebx
lea edi, [ebp - 0x1004]
mov ecx, 0x400
rep stosd dword es:[edi], eax
jge 0x432302
fadd dword [0x4060a4]
fmul dword [0x4060a0]
push ecx
push ecx
fstp qword [esp]
push 0x406190
jmp 0x43202b
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
xor eax, eax
jmp 0x43243c
push 0x1246b
push dword [esi + 0x5028]
push dword [esi + 0x502c]
call sub.GDI32.dll_EngAssociateSurface
cmp dword [esi + 0x1dfa8], 1
jne 0x432436
cmp dword [esi + 0x1dfac], 0
je 0x432436
call ebx
mov ebx, eax
lea eax, [ebp - 0x1018]
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 0x4323a8
fadd dword [0x4060a4]
movzx eax, word [ebp - 0x100a]
push ecx
push ecx
fmul dword [0x4060a0]
fstp qword [esp]
push 0x4062f4
push eax
movzx eax, word [ebp - 0x100c]
push eax
movzx eax, word [ebp - 0x100e]
push eax
movzx eax, word [ebp - 0x1010]
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 0x432418
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x432436
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
mov eax, dword [esi + 0x502c]
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.004a9585
leave
ret 4