43cea1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43cea4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43ceab:	59                   	pop    %ecx
43ceac:	5f                   	pop    %edi
43cead:	5e                   	pop    %esi
43ceae:	8b e5                	mov    %ebp,%esp
43ceb0:	5d                   	pop    %ebp
43ceb1:	c2 04 00             	ret    $0x4
43ceb4:	cc                   	int3
43ceb5:	cc                   	int3
43ceb6:	cc                   	int3
43ceb7:	cc                   	int3
43ceb8:	cc                   	int3
43ceb9:	cc                   	int3
43ceba:	cc                   	int3
43cebb:	cc                   	int3
43cebc:	cc                   	int3
43cebd:	cc                   	int3
43cebe:	cc                   	int3
43cebf:	cc                   	int3
43cec0:	53                   	push   %ebx
43cec1:	55                   	push   %ebp
43cec2:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
43cec6:	56                   	push   %esi
43cec7:	57                   	push   %edi
43cec8:	8b f9                	mov    %ecx,%edi
43ceca:	8b 5d 00             	mov    0x0(%ebp),%ebx
43cecd:	8b 07                	mov    (%edi),%eax
43cecf:	8b 70 20             	mov    0x20(%eax),%esi
43ced2:	8b ce                	mov    %esi,%ecx
43ced4:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43ceda:	8b cf                	mov    %edi,%ecx
43cedc:	ff d6                	call   *%esi
43cede:	8b 73 20             	mov    0x20(%ebx),%esi
43cee1:	8b ce                	mov    %esi,%ecx
43cee3:	50                   	push   %eax
43cee4:	ff 74 24 1c          	push   0x1c(%esp)
43cee8:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43ceee:	8b cd                	mov    %ebp,%ecx
43cef0:	ff d6                	call   *%esi
43cef2:	5f                   	pop    %edi
43cef3:	5e                   	pop    %esi
43cef4:	5d                   	pop    %ebp
43cef5:	5b                   	pop    %ebx
43cef6:	c2 08 00             	ret    $0x8
43cef9:	cc                   	int3
43cefa:	cc                   	int3
43cefb:	cc                   	int3
43cefc:	cc                   	int3
43cefd:	cc                   	int3
43cefe:	cc                   	int3
43ceff:	cc                   	int3
43cf00:	83 ec 14             	sub    $0x14,%esp
43cf03:	53                   	push   %ebx
43cf04:	8b d9                	mov    %ecx,%ebx
43cf06:	55                   	push   %ebp
43cf07:	56                   	push   %esi
43cf08:	57                   	push   %edi
43cf09:	8b 03                	mov    (%ebx),%eax
43cf0b:	89 5c 24 10          	mov    %ebx,0x10(%esp)
43cf0f:	8b 70 10             	mov    0x10(%eax),%esi
43cf12:	8b ce                	mov    %esi,%ecx
43cf14:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43cf1a:	8b cb                	mov    %ebx,%ecx
43cf1c:	ff d6                	call   *%esi
43cf1e:	8b 54 24 2c          	mov    0x2c(%esp),%edx
43cf22:	8b e8                	mov    %eax,%ebp
43cf24:	8b 44 24 38          	mov    0x38(%esp),%eax
43cf28:	b9 00 00 00 00       	mov    $0x0,%ecx
43cf2d:	8b 5c 24 30          	mov    0x30(%esp),%ebx
43cf31:	a8 03                	test   $0x3,%al
43cf33:	8b f5                	mov    %ebp,%esi
43cf35:	bf 00 00 00 00       	mov    $0x0,%edi
43cf3a:	0f 45 f1             	cmovne %ecx,%esi
43cf3d:	85 d2                	test   %edx,%edx
43cf3f:	89 74 24 1c          	mov    %esi,0x1c(%esp)
43cf43:	0f 45 cd             	cmovne %ebp,%ecx
43cf46:	a8 02                	test   $0x2,%al
43cf48:	89 4c 24 18          	mov    %ecx,0x18(%esp)
43cf4c:	8b cd                	mov    %ebp,%ecx
43cf4e:	0f 45 cf             	cmovne %edi,%ecx
43cf51:	8b 7c 24 28          	mov    0x28(%esp),%edi
43cf55:	89 4c 24 14          	mov    %ecx,0x14(%esp)
43cf59:	8b 4c 24 34          	mov    0x34(%esp),%ecx
43cf5d:	a8 08                	test   $0x8,%al
43cf5f:	74 34                	je     0x43cf95
43cf61:	8b c1                	mov    %ecx,%eax
43cf63:	f7 de                	neg    %esi
43cf65:	2b c5                	sub    %ebp,%eax
43cf67:	89 74 24 1c          	mov    %esi,0x1c(%esp)
43cf6b:	03 f8                	add    %eax,%edi
43cf6d:	8b c1                	mov    %ecx,%eax
43cf6f:	2b c5                	sub    %ebp,%eax
43cf71:	03 d0                	add    %eax,%edx
43cf73:	8b c1                	mov    %ecx,%eax
43cf75:	2b c5                	sub    %ebp,%eax
43cf77:	89 54 24 2c          	mov    %edx,0x2c(%esp)
43cf7b:	03 d8                	add    %eax,%ebx
43cf7d:	8b 44 24 18          	mov    0x18(%esp),%eax
43cf81:	f7 d8                	neg    %eax
43cf83:	89 44 24 18          	mov    %eax,0x18(%esp)
43cf87:	8b 44 24 14          	mov    0x14(%esp),%eax
43cf8b:	f7 d8                	neg    %eax
43cf8d:	89 44 24 14          	mov    %eax,0x14(%esp)
43cf91:	8b 44 24 38          	mov    0x38(%esp),%eax
43cf95:	3b cd                	cmp    %ebp,%ecx
43cf97:	72 78                	jb     0x43d011
43cf99:	8b f0                	mov    %eax,%esi
43cf9b:	83 e6 04             	and    $0x4,%esi
43cf9e:	83 e0 01             	and    $0x1,%eax
43cfa1:	89 74 24 20          	mov    %esi,0x20(%esp)
43cfa5:	89 44 24 38          	mov    %eax,0x38(%esp)
43cfa9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
43cfb0:	85 f6                	test   %esi,%esi
43cfb2:	74 12                	je     0x43cfc6
43cfb4:	55                   	push   %ebp
43cfb5:	57                   	push   %edi
43cfb6:	8b cb                	mov    %ebx,%ecx
43cfb8:	e8 03 ec 01 00       	call   0x45bbc0
43cfbd:	83 c4 08             	add    $0x8,%esp
43cfc0:	53                   	push   %ebx
43cfc1:	6a 00                	push   $0x0
43cfc3:	53                   	push   %ebx
43cfc4:	eb 03                	jmp    0x43cfc9
43cfc6:	53                   	push   %ebx
43cfc7:	52                   	push   %edx
43cfc8:	57                   	push   %edi
43cfc9:	8b 44 24 1c          	mov    0x1c(%esp),%eax
43cfcd:	8b 00                	mov    (%eax),%eax
43cfcf:	8b 70 0c             	mov    0xc(%eax),%esi
43cfd2:	8b ce                	mov    %esi,%ecx
43cfd4:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43cfda:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
43cfde:	ff d6                	call   *%esi
43cfe0:	83 7c 24 38 00       	cmpl   $0x0,0x38(%esp)
43cfe5:	74 04                	je     0x43cfeb
43cfe7:	fe 44 2f ff          	incb   -0x1(%edi,%ebp,1)
43cfeb:	8b 4c 24 34          	mov    0x34(%esp),%ecx
43cfef:	8b 54 24 2c          	mov    0x2c(%esp),%edx
43cff3:	2b cd                	sub    %ebp,%ecx
43cff5:	03 54 24 18          	add    0x18(%esp),%edx
43cff9:	03 7c 24 1c          	add    0x1c(%esp),%edi
43cffd:	03 5c 24 14          	add    0x14(%esp),%ebx
43d001:	8b 74 24 20          	mov    0x20(%esp),%esi
43d005:	89 54 24 2c          	mov    %edx,0x2c(%esp)
43d009:	89 4c 24 34          	mov    %ecx,0x34(%esp)
43d00d:	3b cd                	cmp    %ebp,%ecx
43d00f:	73 9f                	jae    0x43cfb0
43d011:	5f                   	pop    %edi
43d012:	5e                   	pop    %esi
43d013:	5d                   	pop    %ebp
43d014:	8b c1                	mov    %ecx,%eax
43d016:	5b                   	pop    %ebx
43d017:	83 c4 14             	add    $0x14,%esp
43d01a:	c2 14 00             	ret    $0x14
43d01d:	cc                   	int3
43d01e:	cc                   	int3
43d01f:	cc                   	int3
43d020:	56                   	push   %esi
43d021:	57                   	push   %edi
43d022:	8b f9                	mov    %ecx,%edi
43d024:	8b 07                	mov    (%edi),%eax
43d026:	8b 70 14             	mov    0x14(%eax),%esi
43d029:	8b ce                	mov    %esi,%ecx
43d02b:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43d031:	8b cf                	mov    %edi,%ecx
43d033:	ff d6                	call   *%esi
43d035:	5f                   	pop    %edi
43d036:	83 e0 01             	and    $0x1,%eax
43d039:	5e                   	pop    %esi
43d03a:	c3                   	ret
43d03b:	cc                   	int3
43d03c:	cc                   	int3
43d03d:	cc                   	int3
43d03e:	cc                   	int3
43d03f:	cc                   	int3
43d040:	51                   	push   %ecx
43d041:	56                   	push   %esi
43d042:	57                   	push   %edi
43d043:	8b f9                	mov    %ecx,%edi
43d045:	8d 4c 24 0b          	lea    0xb(%esp),%ecx
43d049:	6a 01                	push   $0x1
43d04b:	51                   	push   %ecx
43d04c:	8b 07                	mov    (%edi),%eax
43d04e:	8b 70 20             	mov    0x20(%eax),%esi
43d051:	8b ce                	mov    %esi,%ecx
43d053:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43d059:	8b cf                	mov    %edi,%ecx
43d05b:	ff d6                	call   *%esi
43d05d:	8a 44 24 0b          	mov    0xb(%esp),%al
43d061:	5f                   	pop    %edi
43d062:	5e                   	pop    %esi
43d063:	59                   	pop    %ecx
43d064:	c3                   	ret
43d065:	cc                   	int3
43d066:	cc                   	int3
43d067:	cc                   	int3
43d068:	cc                   	int3
43d069:	cc                   	int3
43d06a:	cc                   	int3
43d06b:	cc                   	int3
43d06c:	cc                   	int3
43d06d:	cc                   	int3
43d06e:	cc                   	int3
43d06f:	cc                   	int3
43d070:	51                   	push   %ecx
43d071:	53                   	push   %ebx
43d072:	8b 5c 24 10          	mov    0x10(%esp),%ebx
43d076:	55                   	push   %ebp
43d077:	8b e9                	mov    %ecx,%ebp
43d079:	56                   	push   %esi
43d07a:	57                   	push   %edi
43d07b:	2b 5c 24 18          	sub    0x18(%esp),%ebx
43d07f:	75 04                	jne    0x43d085
43d081:	33 ff                	xor    %edi,%edi
43d083:	eb 2b                	jmp    0x43d0b0
43d085:	33 d2                	xor    %edx,%edx
43d087:	bf 20 00 00 00       	mov    $0x20,%edi
43d08c:	0f 1f 40 00          	nopl   0x0(%eax)
43d090:	8d 0c 17             	lea    (%edi,%edx,1),%ecx
43d093:	8b c3                	mov    %ebx,%eax
43d095:	d1 e9                	shr    $1,%ecx
43d097:	d3 e8                	shr    %cl,%eax
43d099:	85 c0                	test   %eax,%eax
43d09b:	0f 44 f9             	cmove  %ecx,%edi
43d09e:	0f 44 ca             	cmove  %edx,%ecx
43d0a1:	8b d1                	mov    %ecx,%edx
43d0a3:	8b c7                	mov    %edi,%eax
43d0a5:	2b c2                	sub    %edx,%eax
43d0a7:	83 f8 01             	cmp    $0x1,%eax
43d0aa:	77 e4                	ja     0x43d090
43d0ac:	0f 1f 40 00          	nopl   0x0(%eax)
43d0b0:	8b 45 00             	mov    0x0(%ebp),%eax
43d0b3:	8d 4c 24 10          	lea    0x10(%esp),%ecx
43d0b7:	6a 04                	push   $0x4
43d0b9:	51                   	push   %ecx
43d0ba:	8b 70 20             	mov    0x20(%eax),%esi
43d0bd:	8b ce                	mov    %esi,%ecx
43d0bf:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43d0c5:	8b cd                	mov    %ebp,%ecx
43d0c7:	ff d6                	call   *%esi
43d0c9:	83 ff 20             	cmp    $0x20,%edi
43d0cc:	73 10                	jae    0x43d0de
43d0ce:	b8 01 00 00 00       	mov    $0x1,%eax
43d0d3:	8b cf                	mov    %edi,%ecx
43d0d5:	d3 e0                	shl    %cl,%eax
43d0d7:	48                   	dec    %eax
43d0d8:	23 44 24 10          	and    0x10(%esp),%eax
43d0dc:	eb 04                	jmp    0x43d0e2
43d0de:	8b 44 24 10          	mov    0x10(%esp),%eax
43d0e2:	89 44 24 10          	mov    %eax,0x10(%esp)
43d0e6:	3b c3                	cmp    %ebx,%eax
43d0e8:	77 c6                	ja     0x43d0b0
43d0ea:	03 44 24 18          	add    0x18(%esp),%eax
43d0ee:	5f                   	pop    %edi
43d0ef:	5e                   	pop    %esi
43d0f0:	5d                   	pop    %ebp
43d0f1:	5b                   	pop    %ebx
43d0f2:	59                   	pop    %ecx
43d0f3:	c2 08 00             	ret    $0x8
43d0f6:	cc                   	int3
43d0f7:	cc                   	int3
43d0f8:	cc                   	int3
43d0f9:	cc                   	int3
43d0fa:	cc                   	int3
43d0fb:	cc                   	int3
43d0fc:	cc                   	int3
43d0fd:	cc                   	int3
43d0fe:	cc                   	int3
43d0ff:	cc                   	int3
43d100:	83 ec 24             	sub    $0x24,%esp
43d103:	a1 14 40 4c 00       	mov    0x4c4014,%eax
43d108:	33 c4                	xor    %esp,%eax
43d10a:	89 44 24 20          	mov    %eax,0x20(%esp)
43d10e:	8b 54 24 2c          	mov    0x2c(%esp),%edx
43d112:	0f 57 c0             	xorps  %xmm0,%xmm0
43d115:	8b 44 24 28          	mov    0x28(%esp),%eax
43d119:	56                   	push   %esi
43d11a:	57                   	push   %edi
43d11b:	8b f9                	mov    %ecx,%edi
43d11d:	89 44 24 14          	mov    %eax,0x14(%esp)
43d121:	6a 00                	push   $0x0
43d123:	52                   	push   %edx
43d124:	68 40 4e 4c 00       	push   $0x4c4e40
43d129:	8b 37                	mov    (%edi),%esi
43d12b:	8d 44 24 14          	lea    0x14(%esp),%eax
43d12f:	50                   	push   %eax
43d130:	c7 44 24 18 2c 61 4b 	movl   $0x4b612c,0x18(%esp)
43d137:	00
43d138:	c7 44 24 1c 68 60 4b 	movl   $0x4b6068,0x1c(%esp)
43d13f:	00
43d140:	8b 76 28             	mov    0x28(%esi),%esi
43d143:	8b ce                	mov    %esi,%ecx
43d145:	89 54 24 28          	mov    %edx,0x28(%esp)
43d149:	66 0f 13 44 24 30    	movlpd %xmm0,0x30(%esp)
43d14f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43d155:	8b cf                	mov    %edi,%ecx
43d157:	ff d6                	call   *%esi
43d159:	8b 4c 24 28          	mov    0x28(%esp),%ecx
43d15d:	5f                   	pop    %edi
43d15e:	5e                   	pop    %esi
43d15f:	33 cc                	xor    %esp,%ecx
43d161:	e8 64 c8 02 00       	call   0x4699ca
43d166:	83 c4 24             	add    $0x24,%esp
43d169:	c2 08 00             	ret    $0x8
43d16c:	cc                   	int3
43d16d:	cc                   	int3
43d16e:	cc                   	int3
43d16f:	cc                   	int3
43d170:	55                   	push   %ebp
43d171:	8b ec                	mov    %esp,%ebp
43d173:	83 e4 f8             	and    $0xfffffff8,%esp
43d176:	56                   	push   %esi
43d177:	57                   	push   %edi
43d178:	6a 00                	push   $0x0
43d17a:	ff 75 08             	push   0x8(%ebp)
43d17d:	8b f9                	mov    %ecx,%edi
43d17f:	68 40 4e 4c 00       	push   $0x4c4e40
43d184:	51                   	push   %ecx
43d185:	8b 37                	mov    (%edi),%esi
43d187:	e8 44 fb ff ff       	call   0x43ccd0
43d18c:	8b 76 28             	mov    0x28(%esi),%esi
43d18f:	83 c4 04             	add    $0x4,%esp
43d192:	8b ce                	mov    %esi,%ecx
43d194:	50                   	push   %eax
43d195:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43d19b:	8b cf                	mov    %edi,%ecx
43d19d:	ff d6                	call   *%esi
43d19f:	5f                   	pop    %edi
43d1a0:	5e                   	pop    %esi
43d1a1:	8b e5                	mov    %ebp,%esp
43d1a3:	5d                   	pop    %ebp
43d1a4:	c2 04 00             	ret    $0x4
43d1a7:	cc                   	int3
43d1a8:	cc                   	int3
43d1a9:	cc                   	int3
43d1aa:	cc                   	int3
43d1ab:	cc                   	int3
43d1ac:	cc                   	int3
43d1ad:	cc                   	int3
43d1ae:	cc                   	int3
43d1af:	cc                   	int3
43d1b0:	53                   	push   %ebx
43d1b1:	8b dc                	mov    %esp,%ebx
43d1b3:	83 ec 08             	sub    $0x8,%esp
43d1b6:	83 e4 f8             	and    $0xfffffff8,%esp
43d1b9:	83 c4 04             	add    $0x4,%esp
43d1bc:	55                   	push   %ebp
43d1bd:	8b 6b 04             	mov    0x4(%ebx),%ebp
43d1c0:	89 6c 24 04          	mov    %ebp,0x4(%esp)