Function at 0x73701404
Capabilities:
Print debug messages

Disassembly:
push 0xa0
push 0x737016d8
call fcn.736d1361
push dword [0x7370f190]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc dword [section..data]
call sub.GDI32.dll_GdiEntry13
mov esi, eax
cmp esi, dword [0x7370f99c]
je 0x73701448
cmp dword [section..data], 1
jne 0x73701448
call fcn.736dcc76
mov dword [0x7370f99c], esi
and dword [ebp - 4], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x24], eax
mov ebx, dword [eax + 4]
mov dword [ebp - 0x30], ebx
mov esi, dword [eax]
mov edx, dword [esi + 8]
mov ecx, edx
mov dword [ebp - 0x2c], ecx
mov edi, dword [ecx + 4]
mov dword [ebp - 0x20], edi
mov ecx, dword [eax + 0x1c]
test cl, 4
je 0x7370147d
mov esi, 0x88760082
jmp 0x73701487
test ecx, 0x10000000
jne 0x737014a2
xor esi, esi
dec dword [section..data]
push dword [0x7370f190]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
or dword [ebp - 4], 0xffffffff
jmp 0x7370163c
or dword [ebp - 4], 0xffffffff
test byte [eax + 0x23], 0x80
je 0x737014b6
mov esi, 0x8876028f
jmp 0x7370162a
test cl, 2
je 0x737014c5
mov esi, 0x8876024c
jmp 0x7370162a
push 8
pop ecx
add edi, 0x65c
add esi, 0x64
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x737014dc
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
cmp eax, ecx
je 0x737014ec
mov esi, 0x8876024b
jmp 0x7370162a
push ecx
push ecx
push ecx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x1c]
push eax
push edx
call fcn.736d4625
add esp, 0x18
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x73701511
cmp dword [ebp - 0x28], eax
je 0x737014e2
cmp dword [ebp - 0x1c], eax
jne 0x7370151a
mov eax, dword [ebp - 0x2c]
test byte [eax + 0xc], 1
jne 0x737014e2
mov edi, dword [ebp - 0x20]
test byte [edi + 6], 0x40
je 0x73701541
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 0x7370f100
je 0x73701536
cmp eax, 0x7370f300
jne 0x737014e2
push 0x737016a0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov esi, dword [ebp - 0x24]
test byte [esi + 0x21], 2
je 0x7370160a
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x73701569
cmp dword [ebp - 0x28], eax
jne 0x73701564
mov esi, 0x887600e1
jmp 0x7370162a
cmp dword [ebp - 0x1c], eax
jne 0x73701594
lea eax, [ebp - 0xb0]
push eax
push esi
call fcn.736d4fe9
lea eax, [ebp - 0xb0]
push eax
push edi
call fcn.736dab89
add esp, 0x10
test eax, eax
jne 0x73701594
mov esi, 0x8876005f
jmp 0x7370162a
test byte [ebx + 4], 4
jne 0x7370160a
push dword [ebp + 8]
jmp 0x737015a9
mov ecx, dword [ecx + 4]
test byte [ecx + 4], 4
jne 0x737015b6
push eax
call fcn.736d38f6
pop ecx
mov ecx, dword [eax + 4]
cmp ecx, esi
jne 0x7370159f
cmp dword [eax + 4], esi
je 0x7370160a
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 4]
and dword [ecx + 4], 0xfffffffb
or dword [ebx + 4], 4
mov edx, dword [ebx + 4]
mov edi, dword [ecx + 4]
mov esi, edi
and esi, 4
xor edx, edi
and edx, 1
xor edx, edi
mov dword [ecx + 4], edx
mov edx, dword [ebx + 4]
and edx, 0xfffffffe
or edx, esi
mov dword [ebx + 4], edx
mov edx, dword [ecx + 0x24]
mov esi, dword [ebx + 0x24]
mov dword [ecx + 0x24], esi
mov dword [ebx + 0x24], edx
mov eax, dword [eax + 4]
mov ecx, dword [eax + 8]
mov esi, dword [ebp - 0x24]
mov edx, dword [esi + 8]
mov dword [eax + 8], edx
mov dword [esi + 8], ecx
mov edi, dword [ebp - 0x20]
mov eax, dword [edi + 0x170]
push dword [ebp + 8]
cmp dword [eax + 0x378], 0
jne 0x7370164e
call fcn.73701201
pop ecx
mov edi, eax
test edi, edi
je 0x73701640
mov esi, edi
dec dword [section..data]
push dword [0x7370f190]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
jmp 0x73701698
test byte [esi + 0x1c], 0x10
je 0x73701656
push esi
call fcn.737013c1
jmp 0x73701653
call fcn.736ffebe
pop ecx
mov edi, eax
dec dword [section..data]
push dword [0x7370f190]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, edi
jmp 0x73701698
call fcn.736d139c
ret 4