Function at 0x10010430
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100d8688
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x10131c40]
xor eax, esp
mov dword [esp + 0x7c], eax
push esi
push edi
mov eax, dword [0x10131c40]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x28], esi
cmp dword [esi + 0x268], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edi
je 0x100104a1
push dword [ebp + 0x14]
push edi
push eax
push ecx
call dword [sym.imp.GDI32.dll_PolyPolyline]
jmp 0x10010891
cmp dword [ebp + 0x14], 0
jbe 0x1001088f
test eax, eax
je 0x1001088f
test edi, edi
je 0x1001088f
push ecx
push ecx
mov ecx, esi
call fcn.10020ad0
test eax, eax
je 0x10010888
mov eax, dword [ebp + 0x14]
xor ecx, ecx
mov dword [esp + 0x10], 0
test eax, eax
jle 0x10010542
cmp eax, 8
jb 0x10010542
and eax, 0x80000007
jns 0x100104ee
dec eax
or eax, 0xfffffff8
inc eax
mov edx, dword [ebp + 0x14]
xorps xmm2, xmm2
sub edx, eax
movdqa xmm1, xmm2
mov eax, edi
lea esp, [esp]
movdqu xmm0, xmmword [eax]
add ecx, 8
lea eax, [eax + 0x20]
paddd xmm2, xmm0
movdqu xmm0, xmmword [eax - 0x10]
paddd xmm1, xmm0
cmp ecx, edx
jl 0x10010500
mov eax, dword [ebp + 0x14]
paddd xmm1, xmm2
movdqa xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [esp + 0x10], xmm1
xor edx, edx
xor edi, edi
cmp ecx, eax
jge 0x10010595
sub eax, ecx
cmp eax, 2
jl 0x10010572
mov eax, dword [ebp + 0x14]
mov esi, dword [esp + 0x20]
dec eax
lea esp, [esp]
add edx, dword [esi + ecx*4]
add edi, dword [esi + ecx*4 + 4]
add ecx, 2
cmp ecx, eax
jl 0x10010560
mov esi, dword [esp + 0x28]
cmp ecx, dword [ebp + 0x14]
jge 0x1001058a
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
add eax, dword [esi + ecx*4]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x10], eax
lea eax, [edx + edi]
mov edi, dword [esp + 0x10]
add edi, eax
jmp 0x10010599
mov edi, dword [esp + 0x10]
test edi, edi
jle 0x1001088f
push edi
lea ecx, [esp + 0x40]
call fcn.1002ee30
mov edx, dword [esp + 0x24]
mov dword [esp + 0x98], 0
lea eax, [edx + edi*8]
mov edi, dword [esp + 0x3c]
cmp edx, eax
je 0x100105d4
push ecx
push edi
push eax
lea ecx, [esp + 0x38]
call fcn.10036270
add esp, 0xc
mov ecx, dword [esp + 0x40]
xor eax, eax
sub ecx, edi
sar ecx, 3
test ecx, ecx
jle 0x10010644
movss xmm3, dword [edi + eax*8]
movss xmm1, dword [esi + 0x130]
mulss xmm1, dword [edi + eax*8 + 4]
movss xmm0, dword [esi + 0x128]
mulss xmm0, xmm3
addss xmm1, xmm0
addss xmm1, dword [esi + 0x138]
movss dword [edi + eax*8], xmm1
movss xmm1, dword [esi + 0x134]
mulss xmm1, dword [edi + eax*8 + 4]
movss xmm0, dword [esi + 0x12c]
mulss xmm0, xmm3
addss xmm1, xmm0
addss xmm1, dword [esi + 0x13c]
movss dword [edi + eax*8 + 4], xmm1
inc eax
cmp eax, ecx
jl 0x100105e3
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], 0
mov byte [esp + 0x58], 0
xor eax, eax
mov byte [esp + 0x98], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x24], eax
cmp dword [ebp + 0x14], eax
jle 0x100107da
mov ecx, dword [esp + 0x20]
lea esp, [esp]
mov edx, dword [ecx + eax*4]
xor edi, edi
mov dword [esp + 0x2c], edx
test edx, edx
jle 0x100107c4
movsd xmm0, qword [0x10116378]
lea ecx, [edi + 3]
call fcn.1000bfe0
mov ecx, dword [esp + 0x10]
lea eax, [esi + 0x60]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
movsd qword [esp + 0x34], xmm0
lea esi, [eax + ecx*8]
mov dword [esp + 0x14], esi
lea ecx, [ecx]
test edi, edi
mov edx, 0x1010e53c
mov eax, 0x1010e548
cmovne edx, eax
cmp byte [edx], 0
jne 0x100106d8
xor ecx, ecx
jmp 0x100106ed
mov ecx, edx
lea esi, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100106e0
sub ecx, esi
mov esi, dword [esp + 0x14]
push ecx
push edx
lea ecx, [esp + 0x60]
call fcn.100084d0
movss xmm0, dword [esi + 4]
sub esp, 8
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [esp + 0x3c]
addsd xmm0, qword [0x10116308]
movsd qword [esp + 0x1c], xmm0
fld qword [esp + 0x1c]
fstp qword [esp]
call fcn.100d6220
fstp qword [esp + 0x1c]
movsd xmm0, qword [esp + 0x1c]
divsd xmm0, qword [esp + 0x3c]
movsd qword [esp + 0x54], xmm0
movss xmm0, dword [esi]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [esp + 0x3c]
addsd xmm0, qword [0x10116308]
movsd qword [esp + 0x1c], xmm0
fld qword [esp + 0x1c]
fstp qword [esp]
call fcn.100d6220
fstp qword [esp + 0x1c]
movsd xmm0, qword [esp + 0x1c]
add esp, 8
divsd xmm0, qword [esp + 0x34]
mov ecx, dword [esp + 0x48]
movapd xmm1, xmm0
call fcn.1002e510
mov edx, 0x1010e4f4
mov ecx, eax
call fcn.10034cf0
movsd xmm1, qword [esp + 0x4c]
mov ecx, eax
call fcn.1002e510
lea edx, [esp + 0x58]
mov ecx, eax
call fcn.10034ff0
mov edx, dword [esp + 0x2c]
inc edi
add esi, 8
mov dword [esp + 0x14], esi
cmp edi, edx
jl 0x100106c0
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
add dword [esp + 0x10], edx
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [ebp + 0x14]
jl 0x10010680
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x100107e9
push eax
call dword [sym.imp.GDI32.dll_GetPolyFillMode]
mov dword [esp + 0x84], 0xf
mov dword [esp + 0x80], 0
mov byte [esp + 0x70], 0
push 2
push 0x1010e8b8
lea ecx, [esp + 0x78]
mov byte [esp + 0xa0], 2
call fcn.100084d0
cmp dword [esp + 0x80], 0
je 0x1001083d
lea eax, [esi + 0x50]
test eax, eax
je 0x10010832
lea ecx, [esi + 0x60]
jmp 0x10010834
xor ecx, ecx
lea edx, [esp + 0x70]
call fcn.10034ff0
cmp dword [esp + 0x84], 0x10
jb 0x10010853
push dword [esp + 0x70]
call fcn.1003a540
add esp, 4
cmp dword [esp + 0x6c], 0x10
jb 0x10010866
push dword [esp + 0x58]
call fcn.1003a540
add esp, 4
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], 0
mov byte [esp + 0x58], 0
test edi, edi
je 0x10010888
push edi
call fcn.1003a540
add esp, 4
mov eax, 1
jmp 0x10010891
xor eax, eax
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x7c]
xor ecx, esp
call fcn.100b54bf
mov esp, ebp
pop ebp
ret 0x10