Function at 0x43d1de
Capabilities:
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1044
call fcn.004a98b0
mov eax, dword [0x4dd52c]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x103c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x101c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x1030], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x102c], eax
mov eax, dword [ebp + 0x2c]
push ebx
xor ebx, ebx
push edi
mov dword [ebp - 0x1040], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x1024], eax
mov word [ebp - 0x1004], bx
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x1002]
rep stosd dword es:[edi], eax
push ebx
push 0x2000
push ebx
mov dword [ebp - 0x1044], ebx
mov dword [ebp - 0x1020], ebx
mov dword [ebp - 0x1034], ebx
mov dword [ebp - 0x1028], ebx
mov dword [ebp - 0x1018], ebx
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov edi, eax
cmp edi, ebx
mov dword [ebp - 0x1038], edi
jne 0x43d285
xor eax, eax
jmp 0x43da8e
push esi
push 0x1ea10
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
cmp esi, ebx
jne 0x43d2a5
push edi
call dword [sym.imp.KERNEL32.dll_HeapDestroy]
jmp 0x43da8b
xor eax, eax
mov ecx, 0x7a84
mov edi, esi
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1038]
mov dword [esi + 0x500c], eax
mov eax, dword [ebp - 0x1024]
push esi
mov dword [esi + 0x5010], eax
mov dword [esi + 0x5014], ebx
call fcn.0043619c
cmp dword [esi + 0x1dfa8], 1
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
jne 0x43d39b
cmp dword [esi + 0x1dfac], 0
je 0x43d39b
call ebx
mov dword [ebp - 0x1018], eax
lea eax, [ebp - 0x1014]
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 - 0x1006]
push 0x408744
push eax
movzx eax, word [ebp - 0x1008]
push eax
movzx eax, word [ebp - 0x100a]
push eax
movzx eax, word [ebp - 0x100c]
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 0x43d37d
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x43d39b
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
lea eax, [ebp - 0x1028]
push eax
xor eax, eax
push eax
push eax
push 2
push eax
push dword [ebp - 0x1024]
call sub.WINSPOOL.DRV_GetPrinterDriverW
test eax, eax
jne 0x43d497
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x43d497
push dword [ebp - 0x1028]
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
test edi, edi
mov dword [ebp - 0x1034], edi
je 0x43d497
lea eax, [ebp - 0x1028]
push eax
push dword [ebp - 0x1028]
push edi
push 2
push 0
push dword [ebp - 0x1024]
call sub.WINSPOOL.DRV_GetPrinterDriverW
test eax, eax
je 0x43d413
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x1020], eax
lea eax, [ebp - 0x1044]
push eax
lea eax, [esi + 0x5008]
push eax
push dword [edi + 0xc]
call fcn.0042ebc5
test eax, eax
jne 0x43d497
cmp dword [esi + 0x1dfa8], 1
jne 0x43da85
cmp dword [esi + 0x1dfac], eax
je 0x43da85
call ebx
mov ebx, eax
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
sub ebx, dword [ebp - 0x1018]
xor eax, eax
test ebx, ebx
mov ecx, 0x400
lea edi, [ebp - 0x1004]
mov dword [ebp - 0x101c], ebx
fild dword [ebp - 0x101c]
rep stosd dword es:[edi], eax
jge 0x43d482
fadd dword [0x4060a4]
fmul dword [0x4060a0]
push ecx
push ecx
fstp qword [esp]
push 0x4086f8
jmp 0x43d979
mov edi, 0x4e2340
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push dword [ebp - 0x1024]
call fcn.004ab9db
cmp dword [ebp - 0x1020], 0
je 0x43d4cf
push eax
push dword [esi + 0x5008]
push dword [ebp - 0x1020]
call fcn.004ab6a3
mov dword [esi + 0x5034], eax
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor edi, edi
cmp dword [esi + 0x5034], edi
jne 0x43d54a
cmp dword [esi + 0x1dfa8], 1
jne 0x43da85
cmp dword [esi + 0x1dfac], edi
je 0x43da85
call ebx
mov ebx, eax
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
sub ebx, dword [ebp - 0x1018]
xor eax, eax
test ebx, ebx
mov ecx, 0x400
lea edi, [ebp - 0x1004]
mov dword [ebp - 0x101c], ebx
fild dword [ebp - 0x101c]
rep stosd dword es:[edi], eax
jge 0x43d535
fadd dword [0x4060a4]
fmul dword [0x4060a0]
push ecx
push ecx
fstp qword [esp]
push 0x4086b0
jmp 0x43d979
push esi
call fcn.0043db46
push 0x2c
push edi
push dword [ebp - 0x1038]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edx, eax
cmp edx, edi
mov dword [esi + 0x521c], edx
jne 0x43d5d5
cmp dword [esi + 0x1dfa8], 1
jne 0x43da85
cmp dword [esi + 0x1dfac], edi
je 0x43da85
call ebx
mov ebx, eax
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
sub ebx, dword [ebp - 0x1018]
mov dword [ebp - 0x101c], ebx
fild dword [ebp - 0x101c]
test ebx, ebx
lea edi, [ebp - 0x1004]
mov ecx, 0x400
rep stosd dword es:[edi], eax
jge 0x43d5c0
fadd dword [0x4060a4]
fmul dword [0x4060a0]
push ecx
push ecx
fstp qword [esp]
push 0x408668
jmp 0x43d979
push 0xb
pop ecx
push dword [ebp - 0x1040]
xor eax, eax
push dword [ebp - 0x103c]
mov edi, edx
push esi
rep stosd dword es:[edi], eax
call fcn.0043a2ca
test eax, eax
jne 0x43d65e
cmp dword [esi + 0x1dfa8], 1
jne 0x43da85
cmp dword [esi + 0x1dfac], eax
je 0x43da85
call ebx
mov ebx, eax
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
sub ebx, dword [ebp - 0x1018]
xor eax, eax
test ebx, ebx
mov ecx, 0x400
lea edi, [ebp - 0x1004]
mov dword [ebp - 0x101c], ebx
fild dword [ebp - 0x101c]
rep stosd dword es:[edi], eax
jge 0x43d649
fadd dword [0x4060a4]
fmul dword [0x4060a0]
push ecx
push ecx
fstp qword [esp]
push 0x408618
jmp 0x43d979
push dword [ebp - 0x1030]
push dword [ebp + 0x18]
push esi
call fcn.0042ef40
mov eax, dword [esi + 0x5004]
test byte [eax + 4], 4
je 0x43d67d
xor eax, eax
jmp 0x43d68e
mov eax, dword [esi + 0x5034]
push dword [eax + 0xec]
call fcn.004abf48
mov edi, dword [ebp - 0x102c]
push edi
push dword [ebp + 0x20]
mov dword [esi + 0x51f4], eax
push esi
call fcn.00432710
test eax, eax
jne 0x43d712
cmp dword [esi + 0x1dfa8], 1
jne 0x43da85
cmp dword [esi + 0x1dfac], eax
je 0x43da85
call ebx
mov ebx, eax
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
sub ebx, dword [ebp - 0x1018]
xor eax, eax
test ebx, ebx
mov ecx, 0x400
lea edi, [ebp - 0x1004]
mov dword [ebp - 0x101c], ebx
fild dword [ebp - 0x101c]
rep stosd dword es:[edi], eax
jge 0x43d6fd
fadd dword [0x4060a4]
fmul dword [0x4060a0]
push ecx
push ecx
fstp qword [esp]
push 0x4085c8
jmp 0x43d979
mov eax, dword [edi + 0x118]
push eax
push dword [esi + 0x500c]
mov dword [ebp - 0x1030], eax
lea edi, [esi + 0x5214]
call fcn.0047c962
push dword [ebp - 0x1030]
mov dword [edi], eax
push dword [esi + 0x500c]
call fcn.0047c962
xor ecx, ecx
cmp dword [edi], ecx
mov dword [esi + 0x50b0], eax
je 0x43da05
cmp eax, ecx
je 0x43da05
mov eax, dword [ebp - 0x102c]
mov edi, dword [eax + 0x118]
shl edi, 2
je 0x43d825
push edi
push ecx
push dword [esi + 0x500c]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edx, eax
test edx, edx
mov dword [ebp - 0x1020], edx
jne 0x43d7cd
cmp dword [esi + 0x1dfa8], 1
jne 0x43da85
cmp dword [esi + 0x1dfac], eax
je 0x43da85
call ebx
mov ebx, eax
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
sub ebx, dword [ebp - 0x1018]
mov dword [ebp - 0x101c], ebx
fild dword [ebp - 0x101c]
jmp 0x43d5a9
mov ecx, edi
mov dword [esi + 0x51ec], edx
mov edi, edx
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x102c]
xor edi, edi
inc edi
cmp dword [eax + 0x118], edi
jb 0x43d825
push edi
push esi
call fcn.00459154
mov ecx, dword [ebp - 0x1020]
add dword [ebp - 0x1020], 4
test eax, eax
mov dword [ecx], eax
je 0x43d913
mov eax, dword [ebp - 0x102c]
inc edi
cmp edi, dword [eax + 0x118]
jbe 0x43d7f8
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x101c]
xor eax, eax
cmp dword [ebp - 0x1034], eax
rep stosd dword es:[edi], eax
je 0x43d846
push dword [ebp - 0x1034]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [esi + 0x1dfa8], 1
jne 0x43d9fe
cmp dword [esi + 0x1dfac], 0
je 0x43d9fe
call ebx
mov ebx, eax
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
sub ebx, dword [ebp - 0x1018]
xor eax, eax
test ebx, ebx
mov ecx, 0x400
lea edi, [ebp - 0x1004]
mov dword [ebp - 0x101c], ebx
fild dword [ebp - 0x101c]
rep stosd dword es:[edi], eax
jge 0x43d89c
fadd dword [0x4060a4]
movzx eax, word [ebp - 0x1006]
push ecx
push ecx
fmul dword [0x4060a0]
fstp qword [esp]
push 0x408744
push eax
movzx eax, word [ebp - 0x1008]
push eax
movzx eax, word [ebp - 0x100a]
push eax
movzx eax, word [ebp - 0x100c]
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 0x43d9e0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x43d9fe
cmp dword [esi + 0x1dfa8], 1
jne 0x43da85
cmp dword [esi + 0x1dfac], 0
je 0x43da85
call ebx
mov ebx, eax
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
sub ebx, dword [ebp - 0x1018]
xor eax, eax
test ebx, ebx
mov ecx, 0x400
lea edi, [ebp - 0x1004]
mov dword [ebp - 0x101c], ebx
fild dword [ebp - 0x101c]
rep stosd dword es:[edi], eax
jge 0x43d969
fadd dword [0x4060a4]
fmul dword [0x4060a0]
push ecx
push ecx
fstp qword [esp]
push 0x408588
movzx eax, word [ebp - 0x1006]
push eax
movzx eax, word [ebp - 0x1008]
push eax
movzx eax, word [ebp - 0x100a]
push eax
movzx eax, word [ebp - 0x100c]
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 0x43da67
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x43da85
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, esi
jmp 0x43da8d
cmp dword [esi + 0x1dfa8], 1
jne 0x43da85
cmp dword [esi + 0x1dfac], ecx
je 0x43da85
call ebx
mov ebx, eax
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
sub ebx, dword [ebp - 0x1018]
xor eax, eax
test ebx, ebx
mov ecx, 0x400
lea edi, [ebp - 0x1004]
mov dword [ebp - 0x101c], ebx
fild dword [ebp - 0x101c]
rep stosd dword es:[edi], eax
jge 0x43da52
fadd dword [0x4060a4]
fmul dword [0x4060a0]
push ecx
push ecx
fstp qword [esp]
push 0x408538
jmp 0x43d979
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.0042ed79
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
pop edi
pop ebx
call fcn.004a9585
leave
ret 0x2c