Function at 0x10007840
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x88
mov eax, dword [0x10075380]
xor eax, esp
mov dword [esp + 0x84], eax
push esi
push edi
mov dword [esp + 0x38], edx
lea esi, [esp + 0x6c]
mov dword [esp + 0xc], ecx
mov edi, 4
nop dword [eax]
mov ecx, esi
call dword [sym.imp.libcocos2d.dll_public:_void___thiscall_cocos2d::CCPoint::constructor_void_]
add esi, 8
sub edi, 1
jne 0x10007870
mov esi, dword [sym.imp.libcocos2d.dll_public:_void___thiscall_cocos2d::CCRect::constructor_void_]
lea ecx, [esp + 0x5c]
call esi
lea ecx, [esp + 0x4c]
call esi
mov eax, dword [0x100780c0]
mov ecx, dword [esp + 0xc]
add eax, 0xe1260
call eax
mov edi, dword [sym.imp.libcocos2d.dll_public:_void___thiscall_cocos2d::CCPoint::constructor_float__float_]
lea ecx, [esp + 0x10]
sub esp, 8
movss xmm0, dword [eax + 0xec]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0xe8]
movss dword [esp], xmm0
call edi
mov esi, dword [sym.imp.libcocos2d.dll_public:_class_cocos2d::CCPoint____thiscall_cocos2d::CCPoint::operator_class_cocos2d::CCPoint_const__]
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x70]
call esi
mov eax, dword [0x100780c0]
mov ecx, dword [esp + 0xc]
add eax, 0xe1260
call eax
sub esp, 8
lea ecx, [esp + 0x18]
movss xmm0, dword [eax + 0xf4]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0xf0]
movss dword [esp], xmm0
call edi
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x78]
call esi
mov eax, dword [0x100780c0]
mov ecx, dword [esp + 0xc]
add eax, 0xe1260
call eax
sub esp, 8
lea ecx, [esp + 0x18]
movss xmm0, dword [eax + 0xfc]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0xf8]
movss dword [esp], xmm0
call edi
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x80]
call esi
mov eax, dword [0x100780c0]
mov ecx, dword [esp + 0xc]
add eax, 0xe1260
call eax
sub esp, 8
lea ecx, [esp + 0x18]
movss xmm0, dword [eax + 0x104]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x100]
movss dword [esp], xmm0
call edi
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x88]
call esi
movss xmm1, dword [esp + 0x6c]
movss xmm0, dword [esp + 0x70]
subss xmm0, dword [esp + 0x78]
subss xmm1, dword [esp + 0x74]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x100079d6
sqrtsd xmm0, xmm0
jmp 0x100079db
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movss xmm1, dword [esp + 0x74]
subss xmm1, dword [esp + 0x7c]
cvtsd2ss xmm0, xmm0
mulss xmm1, xmm1
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x78]
subss xmm0, dword [esp + 0x80]
mulss xmm0, xmm0
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x10007a1e
sqrtsd xmm0, xmm0
jmp 0x10007a23
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
mov edi, dword [esp + 0xc]
xorps xmm1, xmm1
movss xmm2, dword [esp + 0x2c]
mov ecx, edi
mulss xmm2, dword [0x1006e19c]
mov eax, dword [edi]
cvtsd2ss xmm1, xmm0
mov eax, dword [eax + 0x74]
movss dword [esp + 0x10], xmm2
movss dword [esp + 0x30], xmm1
mulss xmm1, dword [0x1006e19c]
movss dword [esp + 0x34], xmm1
call eax
movss xmm0, dword [esp + 0x30]
mov ecx, edi
mulss xmm0, dword [0x1006e1bc]
mov eax, dword [edi]
movss dword [esp + 0xc], xmm0
fsub dword [esp + 0xc]
mov eax, dword [eax + 0x6c]
fstp dword [esp + 0xc]
call eax
movss xmm1, dword [esp + 0x2c]
lea ecx, [esp + 0x5c]
mov esi, dword [sym.imp.libcocos2d.dll_public:_void___thiscall_cocos2d::CCRect::setRect_float__float__float__float_]
movaps xmm0, xmm1
mulss xmm0, dword [0x1006e1bc]
sub esp, 0x10
movss dword [esp + 0x3c], xmm0
fsub dword [esp + 0x3c]
movss xmm0, dword [esp + 0x40]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x1c]
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm0
fstp dword [esp + 0x3c]
movss xmm0, dword [esp + 0x3c]
movss dword [esp], xmm0
call esi
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x74]
call eax
movss xmm0, dword [esp + 0x34]
mov ecx, edi
mulss xmm0, dword [0x1006e1bc]
mov eax, dword [edi]
movss dword [esp + 0x30], xmm0
fsub dword [esp + 0x30]
mov eax, dword [eax + 0x6c]
fstp dword [esp + 0x30]
call eax
movss xmm1, dword [esp + 0x10]
lea ecx, [esp + 0x4c]
movaps xmm0, xmm1
sub esp, 0x10
mulss xmm0, dword [0x1006e1bc]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x44]
fsub dword [esp + 0x20]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x40]
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm0
fstp dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
movss dword [esp], xmm0
call esi
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10077a38]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x100783e4]
cmp eax, dword [esi + 4]
jle 0x10007ba4
push 0x100783e4
call fcn.10061834
mov eax, dword [0x100783e4]
add esp, 4
cmp eax, 0xffffffff
jne 0x10007ba4
call fcn.1005e180
push 0x100783e4
call fcn.100617e3
mov eax, dword [0x100783e4]
add esp, 4
movss xmm0, dword [0x10078350]
movss dword [esp + 0x10], xmm0
cmp eax, dword [esi + 4]
jle 0x10007be8
push 0x100783e4
call fcn.10061834
mov eax, dword [0x100783e4]
add esp, 4
cmp eax, 0xffffffff
jne 0x10007be8
call fcn.1005e180
push 0x100783e4
call fcn.100617e3
mov eax, dword [0x100783e4]
add esp, 4
movss xmm0, dword [0x10078354]
movss dword [esp + 0x14], xmm0
cmp eax, dword [esi + 4]
jle 0x10007c2c
push 0x100783e4
call fcn.10061834
mov eax, dword [0x100783e4]
add esp, 4
cmp eax, 0xffffffff
jne 0x10007c2c
call fcn.1005e180
push 0x100783e4
call fcn.100617e3
mov eax, dword [0x100783e4]
add esp, 4
movss xmm0, dword [0x10078358]
movss dword [esp + 0x18], xmm0
cmp eax, dword [esi + 4]
jle 0x10007c6a
push 0x100783e4
call fcn.10061834
add esp, 4
cmp dword [0x100783e4], 0xffffffff
jne 0x10007c6a
call fcn.1005e180
push 0x100783e4
call fcn.100617e3
add esp, 4
movd xmm0, dword [0x100782c0]
lea edx, [esp + 0x4c]
mov edi, dword [esp + 0x38]
sub esp, 0x10
cvtdq2ps xmm0, xmm0
mov eax, esp
mov ecx, edi
mulss xmm0, dword [0x1006e350]
movss dword [esp + 0x2c], xmm0
movups xmm0, xmmword [esp + 0x20]
movups xmmword [eax], xmm0
call fcn.10007130
mov eax, dword [0x100783e4]
add esp, 0x10
cmp eax, dword [esi + 4]
jle 0x10007cdd
push 0x100783e4
call fcn.10061834
mov eax, dword [0x100783e4]
add esp, 4
cmp eax, 0xffffffff
jne 0x10007cdd
call fcn.1005e180
push 0x100783e4
call fcn.100617e3
mov eax, dword [0x100783e4]
add esp, 4
movss xmm0, dword [0x1007835c]
movss xmm1, dword [0x1006e1bc]
mulss xmm0, xmm1
movss dword [esp + 0x10], xmm0
cmp eax, dword [esi + 4]
jle 0x10007d35
push 0x100783e4
call fcn.10061834
mov eax, dword [0x100783e4]
add esp, 4
cmp eax, 0xffffffff
jne 0x10007d2d
call fcn.1005e180
push 0x100783e4
call fcn.100617e3
mov eax, dword [0x100783e4]
add esp, 4
movss xmm1, dword [0x1006e1bc]
movss xmm0, dword [0x10078360]
mulss xmm0, xmm1
movss dword [esp + 0x14], xmm0
cmp eax, dword [esi + 4]
jle 0x10007d85
push 0x100783e4
call fcn.10061834
mov eax, dword [0x100783e4]
add esp, 4
cmp eax, 0xffffffff
jne 0x10007d7d
call fcn.1005e180
push 0x100783e4
call fcn.100617e3
mov eax, dword [0x100783e4]
add esp, 4
movss xmm1, dword [0x1006e1bc]
movss xmm0, dword [0x10078364]
mulss xmm0, xmm1
movss dword [esp + 0x18], xmm0
cmp eax, dword [esi + 4]
jle 0x10007dc7
push 0x100783e4
call fcn.10061834
add esp, 4
cmp dword [0x100783e4], 0xffffffff
jne 0x10007dc7
call fcn.1005e180
push 0x100783e4
call fcn.100617e3
add esp, 4
movd xmm0, dword [0x100782c0]
lea eax, [esp + 0x10]
cvtdq2ps xmm0, xmm0
push eax
push ecx
mov dword [esp], 0x3f000000
lea eax, [esp + 0x44]
push eax
push 4
mulss xmm0, dword [0x1006e350]
lea eax, [esp + 0x7c]
push eax
mov ecx, edi
movss dword [esp + 0x30], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x50], xmm0
call dword [sym.imp.libcocos2d.dll_public:_void___thiscall_cocos2d::CCDrawNode::drawPolygon_class_cocos2d::CCPoint___unsigned_int__struct_cocos2d::_ccColor4F_const___float__struct_cocos2d::_ccColor4F_const__]
mov eax, dword [0x100783e4]
cmp eax, dword [esi + 4]
jle 0x10007e44
push 0x100783e4
call fcn.10061834
mov eax, dword [0x100783e4]
add esp, 4
cmp eax, 0xffffffff
jne 0x10007e44
call fcn.1005e180
push 0x100783e4
call fcn.100617e3
mov eax, dword [0x100783e4]
add esp, 4
movss xmm0, dword [0x1007835c]
movss dword [esp + 0x10], xmm0
cmp eax, dword [esi + 4]
jle 0x10007e88
push 0x100783e4
call fcn.10061834
mov eax, dword [0x100783e4]
add esp, 4
cmp eax, 0xffffffff
jne 0x10007e88
call fcn.1005e180
push 0x100783e4
call fcn.100617e3
mov eax, dword [0x100783e4]
add esp, 4
movss xmm0, dword [0x10078360]
movss dword [esp + 0x14], xmm0
cmp eax, dword [esi + 4]
jle 0x10007ecc
push 0x100783e4
call fcn.10061834
mov eax, dword [0x100783e4]
add esp, 4
cmp eax, 0xffffffff
jne 0x10007ecc
call fcn.1005e180
push 0x100783e4
call fcn.100617e3
mov eax, dword [0x100783e4]
add esp, 4
movss xmm0, dword [0x10078364]
movss dword [esp + 0x18], xmm0
cmp eax, dword [esi + 4]
jle 0x10007f0a
push 0x100783e4
call fcn.10061834
add esp, 4
cmp dword [0x100783e4], 0xffffffff
jne 0x10007f0a
call fcn.1005e180
push 0x100783e4
call fcn.100617e3
add esp, 4
movd xmm0, dword [0x100782c0]
lea edx, [esp + 0x5c]
cvtdq2ps xmm0, xmm0
sub esp, 0x10
mov ecx, edi
mov eax, esp
mulss xmm0, dword [0x1006e350]
movss dword [esp + 0x2c], xmm0
movups xmm0, xmmword [esp + 0x20]
movups xmmword [eax], xmm0
call fcn.10007130
mov ecx, dword [esp + 0x9c]
add esp, 0x10
pop edi
pop esi
xor ecx, esp
call fcn.100612fd
mov esp, ebp
pop ebp
ret