4195a2:	c2 0c 00             	ret    $0xc
4195a5:	57                   	push   %edi
4195a6:	53                   	push   %ebx
4195a7:	56                   	push   %esi
4195a8:	e8 a3 3e 00 00       	call   0x41d450
4195ad:	66 8b 4d 10          	mov    0x10(%ebp),%cx
4195b1:	83 c4 0c             	add    $0xc,%esp
4195b4:	33 c0                	xor    %eax,%eax
4195b6:	66 89 0c 37          	mov    %cx,(%edi,%esi,1)
4195ba:	66 89 44 37 02       	mov    %ax,0x2(%edi,%esi,1)
4195bf:	8b c3                	mov    %ebx,%eax
4195c1:	89 33                	mov    %esi,(%ebx)
4195c3:	5f                   	pop    %edi
4195c4:	5e                   	pop    %esi
4195c5:	5b                   	pop    %ebx
4195c6:	8b e5                	mov    %ebp,%esp
4195c8:	5d                   	pop    %ebp
4195c9:	c2 0c 00             	ret    $0xc
4195cc:	e8 2f 7c fe ff       	call   0x401200
4195d1:	e8 ca 7c fe ff       	call   0x4012a0
4195d6:	e8 a4 74 00 00       	call   0x420a7f
4195db:	cc                   	int3
4195dc:	cc                   	int3
4195dd:	cc                   	int3
4195de:	cc                   	int3
4195df:	cc                   	int3
4195e0:	53                   	push   %ebx
4195e1:	8b dc                	mov    %esp,%ebx
4195e3:	83 ec 08             	sub    $0x8,%esp
4195e6:	83 e4 f8             	and    $0xfffffff8,%esp
4195e9:	83 c4 04             	add    $0x4,%esp
4195ec:	55                   	push   %ebp
4195ed:	8b 6b 04             	mov    0x4(%ebx),%ebp
4195f0:	89 6c 24 04          	mov    %ebp,0x4(%esp)
4195f4:	8b ec                	mov    %esp,%ebp
4195f6:	6a ff                	push   $0xffffffff
4195f8:	68 ed e6 43 00       	push   $0x43e6ed
4195fd:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
419603:	50                   	push   %eax
419604:	53                   	push   %ebx
419605:	83 ec 50             	sub    $0x50,%esp
419608:	a1 14 40 45 00       	mov    0x454014,%eax
41960d:	33 c5                	xor    %ebp,%eax
41960f:	89 45 ec             	mov    %eax,-0x14(%ebp)
419612:	56                   	push   %esi
419613:	57                   	push   %edi
419614:	50                   	push   %eax
419615:	8d 45 f4             	lea    -0xc(%ebp),%eax
419618:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41961e:	89 55 c4             	mov    %edx,-0x3c(%ebp)
419621:	8b f9                	mov    %ecx,%edi
419623:	8b 07                	mov    (%edi),%eax
419625:	8b 77 04             	mov    0x4(%edi),%esi
419628:	8b 4b 08             	mov    0x8(%ebx),%ecx
41962b:	89 4d bc             	mov    %ecx,-0x44(%ebp)
41962e:	3b c6                	cmp    %esi,%eax
419630:	74 18                	je     0x41964a
419632:	51                   	push   %ecx
419633:	8b d6                	mov    %esi,%edx
419635:	8b c8                	mov    %eax,%ecx
419637:	e8 84 2c ff ff       	call   0x40c2c0
41963c:	8b 07                	mov    (%edi),%eax
41963e:	83 c4 04             	add    $0x4,%esp
419641:	8b 55 c4             	mov    -0x3c(%ebp),%edx
419644:	8b 4d bc             	mov    -0x44(%ebp),%ecx
419647:	89 47 04             	mov    %eax,0x4(%edi)
41964a:	8b 72 10             	mov    0x10(%edx),%esi
41964d:	33 c0                	xor    %eax,%eax
41964f:	3b c6                	cmp    %esi,%eax
419651:	89 4d cc             	mov    %ecx,-0x34(%ebp)
419654:	1b c0                	sbb    %eax,%eax
419656:	f7 d8                	neg    %eax
419658:	48                   	dec    %eax
419659:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
41965d:	89 45 c0             	mov    %eax,-0x40(%ebp)
419660:	72 05                	jb     0x419667
419662:	8b 01                	mov    (%ecx),%eax
419664:	89 45 cc             	mov    %eax,-0x34(%ebp)
419667:	8b 42 14             	mov    0x14(%edx),%eax
41966a:	89 55 d0             	mov    %edx,-0x30(%ebp)
41966d:	89 45 c8             	mov    %eax,-0x38(%ebp)
419670:	83 f8 08             	cmp    $0x8,%eax
419673:	72 04                	jb     0x419679
419675:	8b 02                	mov    (%edx),%eax
419677:	eb 03                	jmp    0x41967c
419679:	8b 45 d0             	mov    -0x30(%ebp),%eax
41967c:	ff 71 10             	push   0x10(%ecx)
41967f:	8b d6                	mov    %esi,%edx
419681:	8b c8                	mov    %eax,%ecx
419683:	ff 75 cc             	push   -0x34(%ebp)
419686:	6a 00                	push   $0x0
419688:	e8 33 28 ff ff       	call   0x40bec0
41968d:	8b c8                	mov    %eax,%ecx
41968f:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
419696:	83 c4 0c             	add    $0xc,%esp
419699:	89 4d cc             	mov    %ecx,-0x34(%ebp)
41969c:	33 c0                	xor    %eax,%eax
41969e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4196a5:	c7 45 e8 07 00 00 00 	movl   $0x7,-0x18(%ebp)
4196ac:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
4196b0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4196b3:	83 f9 ff             	cmp    $0xffffffff,%ecx
4196b6:	0f 84 fa 00 00 00    	je     0x4197b6
4196bc:	8b 45 c0             	mov    -0x40(%ebp),%eax
4196bf:	8b 55 c8             	mov    -0x38(%ebp),%edx
4196c2:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
4196c9:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
4196d0:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
4196d7:	3b f0                	cmp    %eax,%esi
4196d9:	0f 82 fb 01 00 00    	jb     0x4198da
4196df:	2b f0                	sub    %eax,%esi
4196e1:	2b c8                	sub    %eax,%ecx
4196e3:	3b f1                	cmp    %ecx,%esi
4196e5:	0f 42 ce             	cmovb  %esi,%ecx
4196e8:	8b 75 c4             	mov    -0x3c(%ebp),%esi
4196eb:	83 fa 08             	cmp    $0x8,%edx
4196ee:	72 04                	jb     0x4196f4
4196f0:	8b 16                	mov    (%esi),%edx
4196f2:	eb 02                	jmp    0x4196f6
4196f4:	8b d6                	mov    %esi,%edx
4196f6:	51                   	push   %ecx
4196f7:	8d 04 42             	lea    (%edx,%eax,2),%eax
4196fa:	50                   	push   %eax
4196fb:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4196fe:	e8 0d 8e fe ff       	call   0x402510
419703:	8b 45 e8             	mov    -0x18(%ebp),%eax
419706:	83 f8 08             	cmp    $0x8,%eax
419709:	72 32                	jb     0x41973d
41970b:	8b 55 d4             	mov    -0x2c(%ebp),%edx
41970e:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
419715:	8b c2                	mov    %edx,%eax
419717:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41971d:	72 14                	jb     0x419733
41971f:	8b 50 fc             	mov    -0x4(%eax),%edx
419722:	83 c1 23             	add    $0x23,%ecx
419725:	2b c2                	sub    %edx,%eax
419727:	83 c0 fc             	add    $0xfffffffc,%eax
41972a:	83 f8 1f             	cmp    $0x1f,%eax
41972d:	0f 87 ac 01 00 00    	ja     0x4198df
419733:	51                   	push   %ecx
419734:	52                   	push   %edx
419735:	e8 d4 21 00 00       	call   0x41b90e
41973a:	83 c4 08             	add    $0x8,%esp
41973d:	0f 10 45 a4          	movups -0x5c(%ebp),%xmm0
419741:	8b 47 04             	mov    0x4(%edi),%eax
419744:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
419747:	51                   	push   %ecx
419748:	0f 11 45 d4          	movups %xmm0,-0x2c(%ebp)
41974c:	f3 0f 7e 45 b4       	movq   -0x4c(%ebp),%xmm0
419751:	66 0f d6 45 e4       	movq   %xmm0,-0x1c(%ebp)
419756:	3b 47 08             	cmp    0x8(%edi),%eax
419759:	74 0d                	je     0x419768
41975b:	8b c8                	mov    %eax,%ecx
41975d:	e8 5e 8b fe ff       	call   0x4022c0
419762:	83 47 04 18          	addl   $0x18,0x4(%edi)
419766:	eb 08                	jmp    0x419770
419768:	50                   	push   %eax
419769:	8b cf                	mov    %edi,%ecx
41976b:	e8 e0 38 ff ff       	call   0x40d050
419770:	8b 4d bc             	mov    -0x44(%ebp),%ecx
419773:	8b d1                	mov    %ecx,%edx
419775:	8b 41 10             	mov    0x10(%ecx),%eax
419778:	89 45 d0             	mov    %eax,-0x30(%ebp)
41977b:	03 45 cc             	add    -0x34(%ebp),%eax
41977e:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
419782:	89 45 c0             	mov    %eax,-0x40(%ebp)
419785:	72 02                	jb     0x419789
419787:	8b 11                	mov    (%ecx),%edx
419789:	8b 4e 14             	mov    0x14(%esi),%ecx
41978c:	89 4d c8             	mov    %ecx,-0x38(%ebp)
41978f:	83 f9 08             	cmp    $0x8,%ecx
419792:	72 04                	jb     0x419798
419794:	8b 0e                	mov    (%esi),%ecx
419796:	eb 02                	jmp    0x41979a
419798:	8b ce                	mov    %esi,%ecx
41979a:	ff 75 d0             	push   -0x30(%ebp)
41979d:	8b 76 10             	mov    0x10(%esi),%esi
4197a0:	52                   	push   %edx
4197a1:	50                   	push   %eax
4197a2:	8b d6                	mov    %esi,%edx
4197a4:	e8 17 27 ff ff       	call   0x40bec0
4197a9:	8b c8                	mov    %eax,%ecx
4197ab:	83 c4 0c             	add    $0xc,%esp
4197ae:	89 4d cc             	mov    %ecx,-0x34(%ebp)
4197b1:	e9 fd fe ff ff       	jmp    0x4196b3
4197b6:	85 f6                	test   %esi,%esi
4197b8:	0f 84 b0 00 00 00    	je     0x41986e
4197be:	8b 45 c0             	mov    -0x40(%ebp),%eax
4197c1:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
4197c8:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
4197cf:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
4197d6:	3b f0                	cmp    %eax,%esi
4197d8:	0f 82 fc 00 00 00    	jb     0x4198da
4197de:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4197e1:	2b f0                	sub    %eax,%esi
4197e3:	83 ca ff             	or     $0xffffffff,%edx
4197e6:	83 fe ff             	cmp    $0xffffffff,%esi
4197e9:	0f 42 d6             	cmovb  %esi,%edx
4197ec:	83 7d c8 08          	cmpl   $0x8,-0x38(%ebp)
4197f0:	72 02                	jb     0x4197f4
4197f2:	8b 09                	mov    (%ecx),%ecx
4197f4:	8d 04 41             	lea    (%ecx,%eax,2),%eax
4197f7:	52                   	push   %edx
4197f8:	50                   	push   %eax
4197f9:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4197fc:	e8 0f 8d fe ff       	call   0x402510
419801:	8b 45 e8             	mov    -0x18(%ebp),%eax
419804:	83 f8 08             	cmp    $0x8,%eax
419807:	72 32                	jb     0x41983b
419809:	8b 55 d4             	mov    -0x2c(%ebp),%edx
41980c:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
419813:	8b c2                	mov    %edx,%eax
419815:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41981b:	72 14                	jb     0x419831
41981d:	8b 50 fc             	mov    -0x4(%eax),%edx
419820:	83 c1 23             	add    $0x23,%ecx
419823:	2b c2                	sub    %edx,%eax
419825:	83 c0 fc             	add    $0xfffffffc,%eax
419828:	83 f8 1f             	cmp    $0x1f,%eax
41982b:	0f 87 ae 00 00 00    	ja     0x4198df
419831:	51                   	push   %ecx
419832:	52                   	push   %edx
419833:	e8 d6 20 00 00       	call   0x41b90e
419838:	83 c4 08             	add    $0x8,%esp
41983b:	0f 10 45 a4          	movups -0x5c(%ebp),%xmm0
41983f:	8b 47 04             	mov    0x4(%edi),%eax
419842:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
419845:	51                   	push   %ecx
419846:	0f 11 45 d4          	movups %xmm0,-0x2c(%ebp)
41984a:	f3 0f 7e 45 b4       	movq   -0x4c(%ebp),%xmm0
41984f:	66 0f d6 45 e4       	movq   %xmm0,-0x1c(%ebp)
419854:	3b 47 08             	cmp    0x8(%edi),%eax
419857:	74 0d                	je     0x419866
419859:	8b c8                	mov    %eax,%ecx
41985b:	e8 60 8a fe ff       	call   0x4022c0
419860:	83 47 04 18          	addl   $0x18,0x4(%edi)
419864:	eb 08                	jmp    0x41986e
419866:	50                   	push   %eax
419867:	8b cf                	mov    %edi,%ecx
419869:	e8 e2 37 ff ff       	call   0x40d050
41986e:	8b 4f 04             	mov    0x4(%edi),%ecx
419871:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
419876:	2b 0f                	sub    (%edi),%ecx
419878:	f7 e9                	imul   %ecx
41987a:	8b 45 e8             	mov    -0x18(%ebp),%eax
41987d:	c1 fa 02             	sar    $0x2,%edx
419880:	8b f2                	mov    %edx,%esi
419882:	c1 ee 1f             	shr    $0x1f,%esi
419885:	03 f2                	add    %edx,%esi
419887:	83 f8 08             	cmp    $0x8,%eax
41988a:	72 2e                	jb     0x4198ba
41988c:	8b 55 d4             	mov    -0x2c(%ebp),%edx
41988f:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
419896:	8b c2                	mov    %edx,%eax
419898:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41989e:	72 10                	jb     0x4198b0
4198a0:	8b 50 fc             	mov    -0x4(%eax),%edx
4198a3:	83 c1 23             	add    $0x23,%ecx
4198a6:	2b c2                	sub    %edx,%eax
4198a8:	83 c0 fc             	add    $0xfffffffc,%eax
4198ab:	83 f8 1f             	cmp    $0x1f,%eax
4198ae:	77 2f                	ja     0x4198df
4198b0:	51                   	push   %ecx
4198b1:	52                   	push   %edx
4198b2:	e8 57 20 00 00       	call   0x41b90e
4198b7:	83 c4 08             	add    $0x8,%esp
4198ba:	8b c6                	mov    %esi,%eax
4198bc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4198bf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4198c6:	59                   	pop    %ecx
4198c7:	5f                   	pop    %edi
4198c8:	5e                   	pop    %esi
4198c9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4198cc:	33 cd                	xor    %ebp,%ecx
4198ce:	e8 fd 1f 00 00       	call   0x41b8d0
4198d3:	8b e5                	mov    %ebp,%esp
4198d5:	5d                   	pop    %ebp
4198d6:	8b e3                	mov    %ebx,%esp
4198d8:	5b                   	pop    %ebx
4198d9:	c3                   	ret
4198da:	e8 f1 1f ff ff       	call   0x40b8d0
4198df:	e8 9b 71 00 00       	call   0x420a7f
4198e4:	cc                   	int3
4198e5:	cc                   	int3
4198e6:	cc                   	int3
4198e7:	cc                   	int3
4198e8:	cc                   	int3
4198e9:	cc                   	int3
4198ea:	cc                   	int3
4198eb:	cc                   	int3
4198ec:	cc                   	int3
4198ed:	cc                   	int3
4198ee:	cc                   	int3
4198ef:	cc                   	int3
4198f0:	55                   	push   %ebp
4198f1:	8b ec                	mov    %esp,%ebp
4198f3:	56                   	push   %esi
4198f4:	8b f1                	mov    %ecx,%esi
4198f6:	0f 57 c0             	xorps  %xmm0,%xmm0
4198f9:	8d 46 04             	lea    0x4(%esi),%eax
4198fc:	50                   	push   %eax
4198fd:	c7 06 44 f8 43 00    	movl   $0x43f844,(%esi)
419903:	66 0f d6 00          	movq   %xmm0,(%eax)
419907:	8b 45 08             	mov    0x8(%ebp),%eax
41990a:	83 c0 04             	add    $0x4,%eax
41990d:	50                   	push   %eax
41990e:	e8 f8 35 00 00       	call   0x41cf0b
419913:	83 c4 08             	add    $0x8,%esp
419916:	c7 06 6c f8 43 00    	movl   $0x43f86c,(%esi)
41991c:	8b c6                	mov    %esi,%eax
41991e:	5e                   	pop    %esi
41991f:	5d                   	pop    %ebp
419920:	c2 04 00             	ret    $0x4
419923:	cc                   	int3
419924:	cc                   	int3
419925:	cc                   	int3
419926:	cc                   	int3
419927:	cc                   	int3
419928:	cc                   	int3
419929:	cc                   	int3
41992a:	cc                   	int3
41992b:	cc                   	int3
41992c:	cc                   	int3
41992d:	cc                   	int3
41992e:	cc                   	int3
41992f:	cc                   	int3
419930:	55                   	push   %ebp
419931:	8b ec                	mov    %esp,%ebp
419933:	6a ff                	push   $0xffffffff
419935:	68 45 e7 43 00       	push   $0x43e745
41993a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
419940:	50                   	push   %eax
419941:	83 ec 68             	sub    $0x68,%esp
419944:	a1 14 40 45 00       	mov    0x454014,%eax
419949:	33 c5                	xor    %ebp,%eax
41994b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41994e:	53                   	push   %ebx
41994f:	56                   	push   %esi
419950:	57                   	push   %edi
419951:	50                   	push   %eax
419952:	8d 45 f4             	lea    -0xc(%ebp),%eax
419955:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41995b:	8b f1                	mov    %ecx,%esi
41995d:	56                   	push   %esi
41995e:	8d 4d a8             	lea    -0x58(%ebp),%ecx
419961:	e8 5a 89 fe ff       	call   0x4022c0
419966:	8d 4d a8             	lea    -0x58(%ebp),%ecx
419969:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
419970:	e8 bb b0 ff ff       	call   0x414a30
419975:	33 c0                	xor    %eax,%eax