Function at 0x10033750
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10384683
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x10444724]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0x10]
mov dword [ebx + 4], 1
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov byte [ebx + 0x14], 0
mov dword [ebp + 0x10], 0
mov dword [ebx + 0x18], eax
mov ecx, dword [ebp + 0x14]
xor eax, eax
test ecx, ecx
mov dword [ebx], vtable.FillStrokeAdapter.0
setne al
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
push ecx
mov eax, esp
mov dword [ebx + 0x2c], 0x42c80000
lea edi, [ebx + 0x2c]
mov dword [ebx + 0x30], 0x3f800000
mov dword [ebp + 0x14], 0
mov byte [ebp - 4], 4
mov dword [eax], ecx
mov ecx, ebx
call fcn.100168c0
mov ecx, dword [ebp + 8]
push 0x10386b28
call fcn.100521e0
mov esi, eax
mov ecx, esi
call fcn.10008c80
xor ecx, ecx
cmp eax, 5
push edi
cmove ecx, esi
push ecx
push dword [ebp + 0xc]
mov ecx, ebx
call fcn.10017df0
mov ecx, dword [ebx + 0x18]
cmp byte [ecx + 0x2c], 1
je 0x1003383d
push 1
mov byte [ecx + 0x2c], 1
call fcn.102d3aa0
cmp dword [ebp + 0x18], 1
mov edi, dword [ebp + 8]
jne 0x10033971
push 0x10386c80
mov ecx, edi
call fcn.100521e0
mov esi, eax
mov ecx, esi
call fcn.10008c80
xor ecx, ecx
cmp eax, 5
lea eax, [ebx + 0x30]
cmove ecx, esi
push eax
push ecx
push dword [ebp + 0xc]
mov ecx, ebx
call fcn.10017df0
mov esi, dword [ebx + 0x18]
cmp byte [esi + 0x34], 1
je 0x1003388f
push 1
mov ecx, esi
mov byte [esi + 0x34], 1
call fcn.102d3aa0
mov esi, dword [ebx + 0x18]
push 0x103880e0
mov ecx, edi
call fcn.100521e0
lea ecx, [ebp + 8]
push ecx
push eax
call fcn.10014bf0
add esp, 8
test al, al
jne 0x100338b6
movss xmm1, dword [0x10388100]
jmp 0x100338bb
movss xmm1, dword [ebp + 8]
movss xmm0, dword [esi + 0x28]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100338d7
push 1
mov ecx, esi
movss dword [esi + 0x28], xmm1
call fcn.102d3aa0
mov esi, dword [ebx + 0x18]
mov ecx, edi
push 0x103880e4
call fcn.100521e0
lea ecx, [ebp + 8]
push ecx
push eax
call fcn.10014b70
mov ecx, dword [ebp + 8]
add esp, 8
test al, al
mov edx, 1
mov eax, 2
cmove ecx, edx
dec ecx
cmp ecx, eax
cmova ecx, eax
mov al, byte [ecx + 0x103880d0]
cmp byte [esi + 0x35], al
je 0x10033921
push edx
mov ecx, esi
mov byte [esi + 0x35], al
call fcn.102d3aa0
mov esi, dword [ebx + 0x18]
mov ecx, edi
push 0x103880e8
call fcn.100521e0
lea ecx, [ebp + 8]
push ecx
push eax
call fcn.10014b70
mov ecx, dword [ebp + 8]
add esp, 8
test al, al
mov eax, 1
cmove ecx, eax
mov eax, 2
mov dword [ebp + 8], ecx
dec ecx
cmp ecx, 2
cmova ecx, eax
mov eax, dword [ecx*4 + 0x103880d4]
cmp dword [esi + 0x38], eax
je 0x10033971
push 1
mov ecx, esi
mov dword [esi + 0x38], eax
call fcn.102d3aa0
cmp dword [ebx + 0x1c], 0
jne 0x100339a3
push 0x103871f8
mov ecx, edi
call fcn.100521e0
mov esi, eax
mov ecx, esi
call fcn.10008c80
xor ecx, ecx
cmp eax, 5
lea eax, [ebx + 0x20]
cmove ecx, esi
push eax
push ecx
push dword [ebp + 0xc]
mov ecx, ebx
call fcn.1001a7e0
mov ecx, dword [ebp + 0x10]
or esi, 0xffffffff
mov byte [ebp - 4], 5
test ecx, ecx
je 0x100339c4
lea eax, [ecx + 4]
mov edx, esi
lock xadd dword [eax], edx
cmp edx, 1
jne 0x100339c4
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 4], 6
test ecx, ecx
je 0x100339e3
lea eax, [ecx + 4]
lock xadd dword [eax], esi
cmp esi, 1
jne 0x100339e3
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14