40986e:	33 ff                	xor    %edi,%edi
409870:	47                   	inc    %edi
409871:	8b c7                	mov    %edi,%eax
409873:	5f                   	pop    %edi
409874:	5e                   	pop    %esi
409875:	c3                   	ret
409876:	56                   	push   %esi
409877:	8b f1                	mov    %ecx,%esi
409879:	8d 4e 10             	lea    0x10(%esi),%ecx
40987c:	c7 06 c4 bb 48 00    	movl   $0x48bbc4,(%esi)
409882:	e8 2d 78 ff ff       	call   0x4010b4
409887:	33 c0                	xor    %eax,%eax
409889:	89 46 04             	mov    %eax,0x4(%esi)
40988c:	89 46 08             	mov    %eax,0x8(%esi)
40988f:	89 46 0c             	mov    %eax,0xc(%esi)
409892:	c6 46 14 5c          	movb   $0x5c,0x14(%esi)
409896:	8b c6                	mov    %esi,%eax
409898:	5e                   	pop    %esi
409899:	c3                   	ret
40989a:	b8 6e 2f 48 00       	mov    $0x482f6e,%eax
40989f:	e8 d8 e3 00 00       	call   0x417c7c
4098a4:	51                   	push   %ecx
4098a5:	56                   	push   %esi
4098a6:	8b f1                	mov    %ecx,%esi
4098a8:	89 75 f0             	mov    %esi,-0x10(%ebp)
4098ab:	c7 06 c4 bb 48 00    	movl   $0x48bbc4,(%esi)
4098b1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4098b5:	e8 bf fd ff ff       	call   0x409679
4098ba:	8b 4e 10             	mov    0x10(%esi),%ecx
4098bd:	83 e9 10             	sub    $0x10,%ecx
4098c0:	e8 8d 7a ff ff       	call   0x401352
4098c5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4098c8:	5e                   	pop    %esi
4098c9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4098d0:	c9                   	leave
4098d1:	c3                   	ret
4098d2:	55                   	push   %ebp
4098d3:	8b ec                	mov    %esp,%ebp
4098d5:	51                   	push   %ecx
4098d6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4098da:	83 c1 10             	add    $0x10,%ecx
4098dd:	51                   	push   %ecx
4098de:	8b 4d 08             	mov    0x8(%ebp),%ecx
4098e1:	e8 ec 77 ff ff       	call   0x4010d2
4098e6:	8b 45 08             	mov    0x8(%ebp),%eax
4098e9:	c9                   	leave
4098ea:	c2 04 00             	ret    $0x4
4098ed:	56                   	push   %esi
4098ee:	8b f1                	mov    %ecx,%esi
4098f0:	e8 a5 ff ff ff       	call   0x40989a
4098f5:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
4098fa:	74 07                	je     0x409903
4098fc:	56                   	push   %esi
4098fd:	e8 7e 67 03 00       	call   0x440080
409902:	59                   	pop    %ecx
409903:	8b c6                	mov    %esi,%eax
409905:	5e                   	pop    %esi
409906:	c2 04 00             	ret    $0x4
409909:	55                   	push   %ebp
40990a:	56                   	push   %esi
40990b:	57                   	push   %edi
40990c:	8b f1                	mov    %ecx,%esi
40990e:	e8 66 fd ff ff       	call   0x409679
409913:	8b 7c 24 10          	mov    0x10(%esp),%edi
409917:	85 ff                	test   %edi,%edi
409919:	bd 04 01 00 00       	mov    $0x104,%ebp
40991e:	75 4d                	jne    0x40996d
409920:	bf 10 bc 48 00       	mov    $0x48bc10,%edi
409925:	68 40 01 00 00       	push   $0x140
40992a:	e8 26 67 03 00       	call   0x440055
40992f:	59                   	pop    %ecx
409930:	89 46 08             	mov    %eax,0x8(%esi)
409933:	57                   	push   %edi
409934:	83 c0 2c             	add    $0x2c,%eax
409937:	50                   	push   %eax
409938:	ff 15 04 03 4b 00    	call   *0x4b0304
40993e:	ff 76 08             	push   0x8(%esi)
409941:	57                   	push   %edi
409942:	ff 15 7c 02 4b 00    	call   *0x4b027c
409948:	83 f8 ff             	cmp    $0xffffffff,%eax
40994b:	89 46 0c             	mov    %eax,0xc(%esi)
40994e:	75 2f                	jne    0x40997f
409950:	ff 15 9c 03 4b 00    	call   *0x4b039c
409956:	8b ce                	mov    %esi,%ecx
409958:	8b f8                	mov    %eax,%edi
40995a:	e8 1a fd ff ff       	call   0x409679
40995f:	57                   	push   %edi
409960:	ff 15 30 03 4b 00    	call   *0x4b0330
409966:	33 c0                	xor    %eax,%eax
409968:	e9 8e 00 00 00       	jmp    0x4099fb
40996d:	57                   	push   %edi
40996e:	ff 15 88 03 4b 00    	call   *0x4b0388
409974:	3b c5                	cmp    %ebp,%eax
409976:	72 ad                	jb     0x409925
409978:	68 a0 00 00 00       	push   $0xa0
40997d:	eb e1                	jmp    0x409960
40997f:	53                   	push   %ebx
409980:	8d 4e 10             	lea    0x10(%esi),%ecx
409983:	55                   	push   %ebp
409984:	89 4c 24 18          	mov    %ecx,0x18(%esp)
409988:	e8 bd 77 ff ff       	call   0x40114a
40998d:	55                   	push   %ebp
40998e:	8b d8                	mov    %eax,%ebx
409990:	57                   	push   %edi
409991:	53                   	push   %ebx
409992:	e8 5c f2 00 00       	call   0x418bf3
409997:	83 c4 0c             	add    $0xc,%esp
40999a:	85 c0                	test   %eax,%eax
40999c:	75 1d                	jne    0x4099bb
40999e:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4099a2:	50                   	push   %eax
4099a3:	e8 ed 77 ff ff       	call   0x401195
4099a8:	8b ce                	mov    %esi,%ecx
4099aa:	e8 ca fc ff ff       	call   0x409679
4099af:	6a 7b                	push   $0x7b
4099b1:	ff 15 30 03 4b 00    	call   *0x4b0330
4099b7:	33 c0                	xor    %eax,%eax
4099b9:	eb 3f                	jmp    0x4099fa
4099bb:	6a 5c                	push   $0x5c
4099bd:	53                   	push   %ebx
4099be:	e8 1b e4 00 00       	call   0x417dde
4099c3:	6a 2f                	push   $0x2f
4099c5:	53                   	push   %ebx
4099c6:	8b f0                	mov    %eax,%esi
4099c8:	e8 11 e4 00 00       	call   0x417dde
4099cd:	83 c4 10             	add    $0x10,%esp
4099d0:	85 c0                	test   %eax,%eax
4099d2:	75 06                	jne    0x4099da
4099d4:	85 f6                	test   %esi,%esi
4099d6:	74 14                	je     0x4099ec
4099d8:	8b c3                	mov    %ebx,%eax
4099da:	85 f6                	test   %esi,%esi
4099dc:	75 02                	jne    0x4099e0
4099de:	8b f3                	mov    %ebx,%esi
4099e0:	3b c6                	cmp    %esi,%eax
4099e2:	72 05                	jb     0x4099e9
4099e4:	c6 00 00             	movb   $0x0,(%eax)
4099e7:	eb 03                	jmp    0x4099ec
4099e9:	c6 06 00             	movb   $0x0,(%esi)
4099ec:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4099f0:	6a ff                	push   $0xffffffff
4099f2:	e8 30 77 ff ff       	call   0x401127
4099f7:	33 c0                	xor    %eax,%eax
4099f9:	40                   	inc    %eax
4099fa:	5b                   	pop    %ebx
4099fb:	5f                   	pop    %edi
4099fc:	5e                   	pop    %esi
4099fd:	5d                   	pop    %ebp
4099fe:	c2 08 00             	ret    $0x8
409a01:	b8 88 2f 48 00       	mov    $0x482f88,%eax
409a06:	e8 71 e2 00 00       	call   0x417c7c
409a0b:	51                   	push   %ecx
409a0c:	51                   	push   %ecx
409a0d:	56                   	push   %esi
409a0e:	57                   	push   %edi
409a0f:	33 f6                	xor    %esi,%esi
409a11:	8d 55 ec             	lea    -0x14(%ebp),%edx
409a14:	89 75 ec             	mov    %esi,-0x14(%ebp)
409a17:	8b 01                	mov    (%ecx),%eax
409a19:	52                   	push   %edx
409a1a:	ff 50 0c             	call   *0xc(%eax)
409a1d:	89 75 fc             	mov    %esi,-0x4(%ebp)
409a20:	e8 d1 67 03 00       	call   0x4401f6
409a25:	8b 10                	mov    (%eax),%edx
409a27:	8b c8                	mov    %eax,%ecx
409a29:	ff 52 0c             	call   *0xc(%edx)
409a2c:	83 c0 10             	add    $0x10,%eax
409a2f:	89 45 f0             	mov    %eax,-0x10(%ebp)
409a32:	8b 7d ec             	mov    -0x14(%ebp),%edi
409a35:	56                   	push   %esi
409a36:	68 04 01 00 00       	push   $0x104
409a3b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409a3e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
409a42:	e8 49 77 ff ff       	call   0x401190
409a47:	50                   	push   %eax
409a48:	56                   	push   %esi
409a49:	56                   	push   %esi
409a4a:	57                   	push   %edi
409a4b:	e8 4d f2 00 00       	call   0x418c9d
409a50:	83 c4 14             	add    $0x14,%esp
409a53:	6a ff                	push   $0xffffffff
409a55:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409a58:	e8 ca 76 ff ff       	call   0x401127
409a5d:	8b 4d 08             	mov    0x8(%ebp),%ecx
409a60:	8d 45 f0             	lea    -0x10(%ebp),%eax
409a63:	50                   	push   %eax
409a64:	e8 69 76 ff ff       	call   0x4010d2
409a69:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409a6c:	83 c1 f0             	add    $0xfffffff0,%ecx
409a6f:	e8 de 78 ff ff       	call   0x401352
409a74:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409a77:	83 c1 f0             	add    $0xfffffff0,%ecx
409a7a:	e8 d3 78 ff ff       	call   0x401352
409a7f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409a82:	8b 45 08             	mov    0x8(%ebp),%eax
409a85:	5f                   	pop    %edi
409a86:	5e                   	pop    %esi
409a87:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409a8e:	c9                   	leave
409a8f:	c2 04 00             	ret    $0x4
409a92:	b8 a2 2f 48 00       	mov    $0x482fa2,%eax
409a97:	e8 e0 e1 00 00       	call   0x417c7c
409a9c:	51                   	push   %ecx
409a9d:	51                   	push   %ecx
409a9e:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
409aa2:	56                   	push   %esi
409aa3:	8b f1                	mov    %ecx,%esi
409aa5:	8d 46 10             	lea    0x10(%esi),%eax
409aa8:	50                   	push   %eax
409aa9:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409aac:	e8 21 76 ff ff       	call   0x4010d2
409ab1:	8b 45 f0             	mov    -0x10(%ebp),%eax
409ab4:	8b 48 f4             	mov    -0xc(%eax),%ecx
409ab7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409abb:	03 c8                	add    %eax,%ecx
409abd:	51                   	push   %ecx
409abe:	50                   	push   %eax
409abf:	e8 e0 f0 00 00       	call   0x418ba4
409ac4:	8a 00                	mov    (%eax),%al
409ac6:	3c 5c                	cmp    $0x5c,%al
409ac8:	59                   	pop    %ecx
409ac9:	59                   	pop    %ecx
409aca:	74 15                	je     0x409ae1
409acc:	3c 2f                	cmp    $0x2f,%al
409ace:	74 11                	je     0x409ae1
409ad0:	8a 46 14             	mov    0x14(%esi),%al
409ad3:	88 45 ec             	mov    %al,-0x14(%ebp)
409ad6:	ff 75 ec             	push   -0x14(%ebp)
409ad9:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409adc:	e8 32 cb ff ff       	call   0x406613
409ae1:	8b 06                	mov    (%esi),%eax
409ae3:	8d 4d ec             	lea    -0x14(%ebp),%ecx
409ae6:	51                   	push   %ecx
409ae7:	8b ce                	mov    %esi,%ecx
409ae9:	ff 50 0c             	call   *0xc(%eax)
409aec:	50                   	push   %eax
409aed:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409af0:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
409af4:	e8 d3 20 06 00       	call   0x46bbcc
409af9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409afc:	83 c1 f0             	add    $0xfffffff0,%ecx
409aff:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
409b03:	e8 4a 78 ff ff       	call   0x401352
409b08:	8b 4d 08             	mov    0x8(%ebp),%ecx
409b0b:	8d 45 f0             	lea    -0x10(%ebp),%eax
409b0e:	50                   	push   %eax
409b0f:	e8 be 75 ff ff       	call   0x4010d2
409b14:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409b17:	83 c1 f0             	add    $0xfffffff0,%ecx
409b1a:	e8 33 78 ff ff       	call   0x401352
409b1f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409b22:	8b 45 08             	mov    0x8(%ebp),%eax
409b25:	5e                   	pop    %esi
409b26:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409b2d:	c9                   	leave
409b2e:	c2 04 00             	ret    $0x4
409b31:	b8 b4 2f 48 00       	mov    $0x482fb4,%eax
409b36:	e8 41 e1 00 00       	call   0x417c7c
409b3b:	51                   	push   %ecx
409b3c:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
409b40:	56                   	push   %esi
409b41:	8b f1                	mov    %ecx,%esi
409b43:	e8 ae 66 03 00       	call   0x4401f6
409b48:	8b 10                	mov    (%eax),%edx
409b4a:	8b c8                	mov    %eax,%ecx
409b4c:	ff 52 0c             	call   *0xc(%edx)
409b4f:	83 c0 10             	add    $0x10,%eax
409b52:	89 45 f0             	mov    %eax,-0x10(%ebp)
409b55:	8b 46 04             	mov    0x4(%esi),%eax
409b58:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409b5c:	85 c0                	test   %eax,%eax
409b5e:	5e                   	pop    %esi
409b5f:	74 0c                	je     0x409b6d
409b61:	83 c0 2c             	add    $0x2c,%eax
409b64:	50                   	push   %eax
409b65:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409b68:	e8 14 76 ff ff       	call   0x401181
409b6d:	8b 4d 08             	mov    0x8(%ebp),%ecx
409b70:	8d 45 f0             	lea    -0x10(%ebp),%eax
409b73:	50                   	push   %eax
409b74:	e8 59 75 ff ff       	call   0x4010d2
409b79:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409b7c:	83 c1 f0             	add    $0xfffffff0,%ecx
409b7f:	e8 ce 77 ff ff       	call   0x401352
409b84:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409b87:	8b 45 08             	mov    0x8(%ebp),%eax
409b8a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409b91:	c9                   	leave
409b92:	c2 04 00             	ret    $0x4
409b95:	b8 ce 2f 48 00       	mov    $0x482fce,%eax
409b9a:	e8 dd e0 00 00       	call   0x417c7c
409b9f:	51                   	push   %ecx
409ba0:	51                   	push   %ecx
409ba1:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
409ba5:	56                   	push   %esi
409ba6:	8b f1                	mov    %ecx,%esi
409ba8:	68 14 bc 48 00       	push   $0x48bc14
409bad:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409bb0:	e8 df 76 ff ff       	call   0x401294
409bb5:	8b 06                	mov    (%esi),%eax
409bb7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409bbb:	8d 4d ec             	lea    -0x14(%ebp),%ecx
409bbe:	51                   	push   %ecx
409bbf:	8b ce                	mov    %esi,%ecx
409bc1:	ff 50 10             	call   *0x10(%eax)
409bc4:	50                   	push   %eax
409bc5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409bc8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
409bcc:	e8 fb 1f 06 00       	call   0x46bbcc
409bd1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409bd4:	83 c1 f0             	add    $0xfffffff0,%ecx
409bd7:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
409bdb:	e8 72 77 ff ff       	call   0x401352
409be0:	8b 4d 08             	mov    0x8(%ebp),%ecx
409be3:	8d 45 f0             	lea    -0x10(%ebp),%eax
409be6:	50                   	push   %eax
409be7:	e8 e6 74 ff ff       	call   0x4010d2
409bec:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409bef:	83 c1 f0             	add    $0xfffffff0,%ecx
409bf2:	e8 5b 77 ff ff       	call   0x401352
409bf7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409bfa:	8b 45 08             	mov    0x8(%ebp),%eax
409bfd:	5e                   	pop    %esi
409bfe:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409c05:	c9                   	leave
409c06:	c2 04 00             	ret    $0x4
409c09:	c7 01 b0 bc 48 00    	movl   $0x48bcb0,(%ecx)
409c0f:	8b 49 10             	mov    0x10(%ecx),%ecx
409c12:	83 e9 10             	sub    $0x10,%ecx
409c15:	e9 38 77 ff ff       	jmp    0x401352
409c1a:	56                   	push   %esi
409c1b:	8b f1                	mov    %ecx,%esi
409c1d:	e8 e7 ff ff ff       	call   0x409c09
409c22:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
409c27:	74 07                	je     0x409c30
409c29:	56                   	push   %esi
409c2a:	e8 51 64 03 00       	call   0x440080
409c2f:	59                   	pop    %ecx
409c30:	8b c6                	mov    %esi,%eax
409c32:	5e                   	pop    %esi
409c33:	c2 04 00             	ret    $0x4
409c36:	b8 07 30 48 00       	mov    $0x483007,%eax
409c3b:	e8 3c e0 00 00       	call   0x417c7c
409c40:	51                   	push   %ecx
409c41:	56                   	push   %esi
409c42:	8b f1                	mov    %ecx,%esi
409c44:	57                   	push   %edi
409c45:	89 75 f0             	mov    %esi,-0x10(%ebp)
409c48:	e8 69 63 03 00       	call   0x43ffb6
409c4d:	8d 7e 10             	lea    0x10(%esi),%edi