4117ac:	0f 84 b0 04 00 00    	je     0x411c62
4117b2:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
4117b8:	8d 51 02             	lea    0x2(%ecx),%edx
4117bb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4117c0:	66 8b 01             	mov    (%ecx),%ax
4117c3:	83 c1 02             	add    $0x2,%ecx
4117c6:	66 85 c0             	test   %ax,%ax
4117c9:	75 f5                	jne    0x4117c0
4117cb:	e9 3e ff ff ff       	jmp    0x41170e
4117d0:	8b cf                	mov    %edi,%ecx
4117d2:	e8 b9 f6 ff ff       	call   0x410e90
4117d7:	5f                   	pop    %edi
4117d8:	5e                   	pop    %esi
4117d9:	5b                   	pop    %ebx
4117da:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4117dd:	33 cd                	xor    %ebp,%ecx
4117df:	e8 ec a0 00 00       	call   0x41b8d0
4117e4:	8b e5                	mov    %ebp,%esp
4117e6:	5d                   	pop    %ebp
4117e7:	c3                   	ret
4117e8:	8b cf                	mov    %edi,%ecx
4117ea:	e8 71 f4 ff ff       	call   0x410c60
4117ef:	5f                   	pop    %edi
4117f0:	5e                   	pop    %esi
4117f1:	5b                   	pop    %ebx
4117f2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4117f5:	33 cd                	xor    %ebp,%ecx
4117f7:	e8 d4 a0 00 00       	call   0x41b8d0
4117fc:	8b e5                	mov    %ebp,%esp
4117fe:	5d                   	pop    %ebp
4117ff:	c3                   	ret
411800:	8b cf                	mov    %edi,%ecx
411802:	e8 99 f7 ff ff       	call   0x410fa0
411807:	5f                   	pop    %edi
411808:	5e                   	pop    %esi
411809:	5b                   	pop    %ebx
41180a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41180d:	33 cd                	xor    %ebp,%ecx
41180f:	e8 bc a0 00 00       	call   0x41b8d0
411814:	8b e5                	mov    %ebp,%esp
411816:	5d                   	pop    %ebp
411817:	c3                   	ret
411818:	8b cf                	mov    %edi,%ecx
41181a:	e8 41 f4 ff ff       	call   0x410c60
41181f:	eb 07                	jmp    0x411828
411821:	8b cf                	mov    %edi,%ecx
411823:	e8 78 f7 ff ff       	call   0x410fa0
411828:	8b 57 14             	mov    0x14(%edi),%edx
41182b:	8b c2                	mov    %edx,%eax
41182d:	8b 4f 10             	mov    0x10(%edi),%ecx
411830:	2b c1                	sub    %ecx,%eax
411832:	83 f8 04             	cmp    $0x4,%eax
411835:	72 39                	jb     0x411870
411837:	8d 71 04             	lea    0x4(%ecx),%esi
41183a:	89 77 10             	mov    %esi,0x10(%edi)
41183d:	83 fa 08             	cmp    $0x8,%edx
411840:	72 02                	jb     0x411844
411842:	8b 3f                	mov    (%edi),%edi
411844:	6a 08                	push   $0x8
411846:	68 20 e4 44 00       	push   $0x44e420
41184b:	8d 04 4f             	lea    (%edi,%ecx,2),%eax
41184e:	50                   	push   %eax
41184f:	e8 fc bb 00 00       	call   0x41d450
411854:	83 c4 0c             	add    $0xc,%esp
411857:	33 c0                	xor    %eax,%eax
411859:	66 89 04 77          	mov    %ax,(%edi,%esi,2)
41185d:	b0 01                	mov    $0x1,%al
41185f:	5f                   	pop    %edi
411860:	5e                   	pop    %esi
411861:	5b                   	pop    %ebx
411862:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411865:	33 cd                	xor    %ebp,%ecx
411867:	e8 64 a0 00 00       	call   0x41b8d0
41186c:	8b e5                	mov    %ebp,%esp
41186e:	5d                   	pop    %ebp
41186f:	c3                   	ret
411870:	6a 04                	push   $0x4
411872:	68 20 e4 44 00       	push   $0x44e420
411877:	c6 85 e4 fd ff ff 00 	movb   $0x0,-0x21c(%ebp)
41187e:	8b cf                	mov    %edi,%ecx
411880:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
411886:	6a 04                	push   $0x4
411888:	e8 b3 0e ff ff       	call   0x402740
41188d:	b0 01                	mov    $0x1,%al
41188f:	5f                   	pop    %edi
411890:	5e                   	pop    %esi
411891:	5b                   	pop    %ebx
411892:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411895:	33 cd                	xor    %ebp,%ecx
411897:	e8 34 a0 00 00       	call   0x41b8d0
41189c:	8b e5                	mov    %ebp,%esp
41189e:	5d                   	pop    %ebp
41189f:	c3                   	ret
4118a0:	8b cf                	mov    %edi,%ecx
4118a2:	e8 d9 f7 ff ff       	call   0x411080
4118a7:	5f                   	pop    %edi
4118a8:	5e                   	pop    %esi
4118a9:	5b                   	pop    %ebx
4118aa:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4118ad:	33 cd                	xor    %ebp,%ecx
4118af:	e8 1c a0 00 00       	call   0x41b8d0
4118b4:	8b e5                	mov    %ebp,%esp
4118b6:	5d                   	pop    %ebp
4118b7:	c3                   	ret
4118b8:	51                   	push   %ecx
4118b9:	b9 23 00 00 00       	mov    $0x23,%ecx
4118be:	e8 3d f1 ff ff       	call   0x410a00
4118c3:	83 c4 04             	add    $0x4,%esp
4118c6:	8b cf                	mov    %edi,%ecx
4118c8:	68 10 e4 44 00       	push   $0x44e410
4118cd:	e8 0e 09 ff ff       	call   0x4021e0
4118d2:	b0 01                	mov    $0x1,%al
4118d4:	5f                   	pop    %edi
4118d5:	5e                   	pop    %esi
4118d6:	5b                   	pop    %ebx
4118d7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4118da:	33 cd                	xor    %ebp,%ecx
4118dc:	e8 ef 9f 00 00       	call   0x41b8d0
4118e1:	8b e5                	mov    %ebp,%esp
4118e3:	5d                   	pop    %ebp
4118e4:	c3                   	ret
4118e5:	8b cf                	mov    %edi,%ecx
4118e7:	e8 a4 f5 ff ff       	call   0x410e90
4118ec:	84 c0                	test   %al,%al
4118ee:	0f 84 6e 03 00 00    	je     0x411c62
4118f4:	b8 b4 e5 44 00       	mov    $0x44e5b4,%eax
4118f9:	8b cf                	mov    %edi,%ecx
4118fb:	50                   	push   %eax
4118fc:	e8 df 08 ff ff       	call   0x4021e0
411901:	b0 01                	mov    $0x1,%al
411903:	5f                   	pop    %edi
411904:	5e                   	pop    %esi
411905:	5b                   	pop    %ebx
411906:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411909:	33 cd                	xor    %ebp,%ecx
41190b:	e8 c0 9f 00 00       	call   0x41b8d0
411910:	8b e5                	mov    %ebp,%esp
411912:	5d                   	pop    %ebp
411913:	c3                   	ret
411914:	8b cf                	mov    %edi,%ecx
411916:	e8 65 f7 ff ff       	call   0x411080
41191b:	84 c0                	test   %al,%al
41191d:	0f 84 3f 03 00 00    	je     0x411c62
411923:	b8 b4 e5 44 00       	mov    $0x44e5b4,%eax
411928:	8b cf                	mov    %edi,%ecx
41192a:	50                   	push   %eax
41192b:	e8 b0 08 ff ff       	call   0x4021e0
411930:	b0 01                	mov    $0x1,%al
411932:	5f                   	pop    %edi
411933:	5e                   	pop    %esi
411934:	5b                   	pop    %ebx
411935:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411938:	33 cd                	xor    %ebp,%ecx
41193a:	e8 91 9f 00 00       	call   0x41b8d0
41193f:	8b e5                	mov    %ebp,%esp
411941:	5d                   	pop    %ebp
411942:	c3                   	ret
411943:	51                   	push   %ecx
411944:	b9 23 00 00 00       	mov    $0x23,%ecx
411949:	e8 b2 f0 ff ff       	call   0x410a00
41194e:	83 c4 04             	add    $0x4,%esp
411951:	8b cf                	mov    %edi,%ecx
411953:	68 10 e4 44 00       	push   $0x44e410
411958:	e8 83 08 ff ff       	call   0x4021e0
41195d:	b8 b4 e5 44 00       	mov    $0x44e5b4,%eax
411962:	8b cf                	mov    %edi,%ecx
411964:	50                   	push   %eax
411965:	e8 76 08 ff ff       	call   0x4021e0
41196a:	b0 01                	mov    $0x1,%al
41196c:	5f                   	pop    %edi
41196d:	5e                   	pop    %esi
41196e:	5b                   	pop    %ebx
41196f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411972:	33 cd                	xor    %ebp,%ecx
411974:	e8 57 9f 00 00       	call   0x41b8d0
411979:	8b e5                	mov    %ebp,%esp
41197b:	5d                   	pop    %ebp
41197c:	c3                   	ret
41197d:	8b cf                	mov    %edi,%ecx
41197f:	e8 0c f5 ff ff       	call   0x410e90
411984:	84 c0                	test   %al,%al
411986:	0f 84 d6 02 00 00    	je     0x411c62
41198c:	b8 c0 e5 44 00       	mov    $0x44e5c0,%eax
411991:	8b cf                	mov    %edi,%ecx
411993:	50                   	push   %eax
411994:	e8 47 08 ff ff       	call   0x4021e0
411999:	b0 01                	mov    $0x1,%al
41199b:	5f                   	pop    %edi
41199c:	5e                   	pop    %esi
41199d:	5b                   	pop    %ebx
41199e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4119a1:	33 cd                	xor    %ebp,%ecx
4119a3:	e8 28 9f 00 00       	call   0x41b8d0
4119a8:	8b e5                	mov    %ebp,%esp
4119aa:	5d                   	pop    %ebp
4119ab:	c3                   	ret
4119ac:	8b cf                	mov    %edi,%ecx
4119ae:	e8 cd f6 ff ff       	call   0x411080
4119b3:	84 c0                	test   %al,%al
4119b5:	0f 84 a7 02 00 00    	je     0x411c62
4119bb:	b8 c0 e5 44 00       	mov    $0x44e5c0,%eax
4119c0:	8b cf                	mov    %edi,%ecx
4119c2:	50                   	push   %eax
4119c3:	e8 18 08 ff ff       	call   0x4021e0
4119c8:	b0 01                	mov    $0x1,%al
4119ca:	5f                   	pop    %edi
4119cb:	5e                   	pop    %esi
4119cc:	5b                   	pop    %ebx
4119cd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4119d0:	33 cd                	xor    %ebp,%ecx
4119d2:	e8 f9 9e 00 00       	call   0x41b8d0
4119d7:	8b e5                	mov    %ebp,%esp
4119d9:	5d                   	pop    %ebp
4119da:	c3                   	ret
4119db:	8b cf                	mov    %edi,%ecx
4119dd:	e8 ae f4 ff ff       	call   0x410e90
4119e2:	84 c0                	test   %al,%al
4119e4:	0f 84 78 02 00 00    	je     0x411c62
4119ea:	b8 d8 e5 44 00       	mov    $0x44e5d8,%eax
4119ef:	8b cf                	mov    %edi,%ecx
4119f1:	50                   	push   %eax
4119f2:	e8 e9 07 ff ff       	call   0x4021e0
4119f7:	b0 01                	mov    $0x1,%al
4119f9:	5f                   	pop    %edi
4119fa:	5e                   	pop    %esi
4119fb:	5b                   	pop    %ebx
4119fc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4119ff:	33 cd                	xor    %ebp,%ecx
411a01:	e8 ca 9e 00 00       	call   0x41b8d0
411a06:	8b e5                	mov    %ebp,%esp
411a08:	5d                   	pop    %ebp
411a09:	c3                   	ret
411a0a:	8b cf                	mov    %edi,%ecx
411a0c:	e8 7f f4 ff ff       	call   0x410e90
411a11:	eb 07                	jmp    0x411a1a
411a13:	8b cf                	mov    %edi,%ecx
411a15:	e8 46 f2 ff ff       	call   0x410c60
411a1a:	84 c0                	test   %al,%al
411a1c:	0f 84 40 02 00 00    	je     0x411c62
411a22:	b8 1c e6 44 00       	mov    $0x44e61c,%eax
411a27:	8b cf                	mov    %edi,%ecx
411a29:	50                   	push   %eax
411a2a:	e8 b1 07 ff ff       	call   0x4021e0
411a2f:	b0 01                	mov    $0x1,%al
411a31:	5f                   	pop    %edi
411a32:	5e                   	pop    %esi
411a33:	5b                   	pop    %ebx
411a34:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411a37:	33 cd                	xor    %ebp,%ecx
411a39:	e8 92 9e 00 00       	call   0x41b8d0
411a3e:	8b e5                	mov    %ebp,%esp
411a40:	5d                   	pop    %ebp
411a41:	c3                   	ret
411a42:	8d 95 e4 fd ff ff    	lea    -0x21c(%ebp),%edx
411a48:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
411a4e:	e8 2d 5f 00 00       	call   0x417980
411a53:	83 bd e4 fd ff ff 02 	cmpl   $0x2,-0x21c(%ebp)
411a5a:	0f 84 d2 01 00 00    	je     0x411c32
411a60:	6a 00                	push   $0x0
411a62:	6a 2b                	push   $0x2b
411a64:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
411a6a:	50                   	push   %eax
411a6b:	6a 00                	push   $0x0
411a6d:	ff 15 d8 f1 43 00    	call   *0x43f1d8
411a73:	85 c0                	test   %eax,%eax
411a75:	0f 84 e7 01 00 00    	je     0x411c62
411a7b:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
411a81:	8d 51 02             	lea    0x2(%ecx),%edx
411a84:	66 8b 01             	mov    (%ecx),%ax
411a87:	83 c1 02             	add    $0x2,%ecx
411a8a:	66 85 c0             	test   %ax,%ax
411a8d:	75 f5                	jne    0x411a84
411a8f:	8b 47 14             	mov    0x14(%edi),%eax
411a92:	2b ca                	sub    %edx,%ecx
411a94:	d1 f9                	sar    $1,%ecx
411a96:	3b c8                	cmp    %eax,%ecx
411a98:	77 28                	ja     0x411ac2
411a9a:	8b df                	mov    %edi,%ebx
411a9c:	83 f8 08             	cmp    $0x8,%eax
411a9f:	72 02                	jb     0x411aa3
411aa1:	8b 1f                	mov    (%edi),%ebx
411aa3:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
411aa6:	89 4f 10             	mov    %ecx,0x10(%edi)
411aa9:	56                   	push   %esi
411aaa:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
411ab0:	50                   	push   %eax
411ab1:	53                   	push   %ebx
411ab2:	e8 99 b9 00 00       	call   0x41d450
411ab7:	83 c4 0c             	add    $0xc,%esp
411aba:	33 c0                	xor    %eax,%eax
411abc:	66 89 04 33          	mov    %ax,(%ebx,%esi,1)
411ac0:	eb 1c                	jmp    0x411ade
411ac2:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
411ac8:	c6 85 e4 fd ff ff 00 	movb   $0x0,-0x21c(%ebp)
411acf:	50                   	push   %eax
411ad0:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
411ad6:	51                   	push   %ecx
411ad7:	8b cf                	mov    %edi,%ecx
411ad9:	e8 32 0b ff ff       	call   0x402610
411ade:	8b 57 14             	mov    0x14(%edi),%edx
411ae1:	8b c2                	mov    %edx,%eax
411ae3:	8b 4f 10             	mov    0x10(%edi),%ecx
411ae6:	2b c1                	sub    %ecx,%eax
411ae8:	83 f8 1b             	cmp    $0x1b,%eax
411aeb:	72 19                	jb     0x411b06
411aed:	8d 71 1b             	lea    0x1b(%ecx),%esi
411af0:	89 77 10             	mov    %esi,0x10(%edi)
411af3:	83 fa 08             	cmp    $0x8,%edx
411af6:	72 02                	jb     0x411afa
411af8:	8b 3f                	mov    (%edi),%edi
411afa:	6a 36                	push   $0x36
411afc:	68 7c e5 44 00       	push   $0x44e57c
411b01:	e9 45 fd ff ff       	jmp    0x41184b
411b06:	6a 1b                	push   $0x1b
411b08:	68 7c e5 44 00       	push   $0x44e57c
411b0d:	c6 85 e4 fd ff ff 00 	movb   $0x0,-0x21c(%ebp)
411b14:	8b cf                	mov    %edi,%ecx
411b16:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
411b1c:	6a 1b                	push   $0x1b
411b1e:	e8 1d 0c ff ff       	call   0x402740
411b23:	b0 01                	mov    $0x1,%al
411b25:	5f                   	pop    %edi
411b26:	5e                   	pop    %esi
411b27:	5b                   	pop    %ebx
411b28:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411b2b:	33 cd                	xor    %ebp,%ecx
411b2d:	e8 9e 9d 00 00       	call   0x41b8d0
411b32:	8b e5                	mov    %ebp,%esp
411b34:	5d                   	pop    %ebp
411b35:	c3                   	ret
411b36:	8d 95 e4 fd ff ff    	lea    -0x21c(%ebp),%edx
411b3c:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
411b42:	e8 39 5e 00 00       	call   0x417980
411b47:	83 bd e4 fd ff ff 02 	cmpl   $0x2,-0x21c(%ebp)
411b4e:	0f 84 f6 00 00 00    	je     0x411c4a
411b54:	6a 00                	push   $0x0
411b56:	6a 26                	push   $0x26
411b58:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
411b5e:	50                   	push   %eax
411b5f:	6a 00                	push   $0x0
411b61:	ff 15 d8 f1 43 00    	call   *0x43f1d8
411b67:	85 c0                	test   %eax,%eax
411b69:	0f 84 f3 00 00 00    	je     0x411c62
411b6f:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
411b75:	8d 51 02             	lea    0x2(%ecx),%edx
411b78:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
411b7f:	00
411b80:	66 8b 01             	mov    (%ecx),%ax
411b83:	83 c1 02             	add    $0x2,%ecx
411b86:	66 85 c0             	test   %ax,%ax