417902:	8b 50 34             	mov    0x34(%eax),%edx
417905:	85 d2                	test   %edx,%edx
417907:	0f 86 62 01 00 00    	jbe    0x417a6f
41790d:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
417914:	8b 45 e8             	mov    -0x18(%ebp),%eax
417917:	8a 00                	mov    (%eax),%al
417919:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
41791c:	02 01                	add    (%ecx),%al
41791e:	24 ff                	and    $0xff,%al
417920:	8b 4d e8             	mov    -0x18(%ebp),%ecx
417923:	88 01                	mov    %al,(%ecx)
417925:	ff 45 e8             	incl   -0x18(%ebp)
417928:	ff 45 e4             	incl   -0x1c(%ebp)
41792b:	ff 45 ec             	incl   -0x14(%ebp)
41792e:	4a                   	dec    %edx
41792f:	75 e3                	jne    0x417914
417931:	e9 39 01 00 00       	jmp    0x417a6f
417936:	33 d2                	xor    %edx,%edx
417938:	8a 50 5c             	mov    0x5c(%eax),%dl
41793b:	8b 54 90 54          	mov    0x54(%eax,%edx,4),%edx
41793f:	42                   	inc    %edx
417940:	89 55 e8             	mov    %edx,-0x18(%ebp)
417943:	8a 50 5c             	mov    0x5c(%eax),%dl
417946:	80 f2 01             	xor    $0x1,%dl
417949:	83 e2 7f             	and    $0x7f,%edx
41794c:	8b 54 90 54          	mov    0x54(%eax,%edx,4),%edx
417950:	42                   	inc    %edx
417951:	89 55 e4             	mov    %edx,-0x1c(%ebp)
417954:	8b 50 38             	mov    0x38(%eax),%edx
417957:	4a                   	dec    %edx
417958:	85 d2                	test   %edx,%edx
41795a:	72 21                	jb     0x41797d
41795c:	42                   	inc    %edx
41795d:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
417964:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
417967:	0f b6 09             	movzbl (%ecx),%ecx
41796a:	d1 e9                	shr    $1,%ecx
41796c:	8b 5d e8             	mov    -0x18(%ebp),%ebx
41796f:	00 0b                	add    %cl,(%ebx)
417971:	ff 45 e8             	incl   -0x18(%ebp)
417974:	ff 45 e4             	incl   -0x1c(%ebp)
417977:	ff 45 ec             	incl   -0x14(%ebp)
41797a:	4a                   	dec    %edx
41797b:	75 e7                	jne    0x417964
41797d:	8b 50 38             	mov    0x38(%eax),%edx
417980:	f7 da                	neg    %edx
417982:	89 55 f0             	mov    %edx,-0x10(%ebp)
417985:	8b 50 38             	mov    0x38(%eax),%edx
417988:	8b 40 34             	mov    0x34(%eax),%eax
41798b:	48                   	dec    %eax
41798c:	2b c2                	sub    %edx,%eax
41798e:	0f 82 db 00 00 00    	jb     0x417a6f
417994:	40                   	inc    %eax
417995:	92                   	xchg   %eax,%edx
417996:	89 45 ec             	mov    %eax,-0x14(%ebp)
417999:	8b 45 e8             	mov    -0x18(%ebp),%eax
41799c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41799f:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
4179a3:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4179a6:	0f b6 09             	movzbl (%ecx),%ecx
4179a9:	03 c1                	add    %ecx,%eax
4179ab:	d1 e8                	shr    $1,%eax
4179ad:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4179b0:	00 01                	add    %al,(%ecx)
4179b2:	ff 45 e8             	incl   -0x18(%ebp)
4179b5:	ff 45 e4             	incl   -0x1c(%ebp)
4179b8:	ff 45 ec             	incl   -0x14(%ebp)
4179bb:	4a                   	dec    %edx
4179bc:	75 db                	jne    0x417999
4179be:	e9 ac 00 00 00       	jmp    0x417a6f
4179c3:	8b 50 38             	mov    0x38(%eax),%edx
4179c6:	89 55 f0             	mov    %edx,-0x10(%ebp)
4179c9:	8b 55 f0             	mov    -0x10(%ebp),%edx
4179cc:	89 55 f4             	mov    %edx,-0xc(%ebp)
4179cf:	33 d2                	xor    %edx,%edx
4179d1:	8a 50 5c             	mov    0x5c(%eax),%dl
4179d4:	8b 54 90 54          	mov    0x54(%eax,%edx,4),%edx
4179d8:	42                   	inc    %edx
4179d9:	89 55 fc             	mov    %edx,-0x4(%ebp)
4179dc:	8a 50 5c             	mov    0x5c(%eax),%dl
4179df:	80 f2 01             	xor    $0x1,%dl
4179e2:	83 e2 7f             	and    $0x7f,%edx
4179e5:	8b 54 90 54          	mov    0x54(%eax,%edx,4),%edx
4179e9:	42                   	inc    %edx
4179ea:	89 55 f8             	mov    %edx,-0x8(%ebp)
4179ed:	8b 40 34             	mov    0x34(%eax),%eax
4179f0:	2b 45 f0             	sub    -0x10(%ebp),%eax
4179f3:	89 45 ec             	mov    %eax,-0x14(%ebp)
4179f6:	56                   	push   %esi
4179f7:	57                   	push   %edi
4179f8:	53                   	push   %ebx
4179f9:	8b 75 f8             	mov    -0x8(%ebp),%esi
4179fc:	8b 7d fc             	mov    -0x4(%ebp),%edi
4179ff:	8b 4d f4             	mov    -0xc(%ebp),%ecx
417a02:	e3 06                	jecxz  0x417a0a
417a04:	ac                   	lods   %ds:(%esi),%al
417a05:	02 07                	add    (%edi),%al
417a07:	aa                   	stos   %al,%es:(%edi)
417a08:	e2 fa                	loop   0x417a04
417a0a:	55                   	push   %ebp
417a0b:	8b 5d f0             	mov    -0x10(%ebp),%ebx
417a0e:	f7 db                	neg    %ebx
417a10:	8b 6d ec             	mov    -0x14(%ebp),%ebp
417a13:	90                   	nop
417a14:	90                   	nop
417a15:	90                   	nop
417a16:	8a 34 3b             	mov    (%ebx,%edi,1),%dh
417a19:	31 c0                	xor    %eax,%eax
417a1b:	8a 14 33             	mov    (%ebx,%esi,1),%dl
417a1e:	ac                   	lods   %ds:(%esi),%al
417a1f:	56                   	push   %esi
417a20:	57                   	push   %edi
417a21:	89 d1                	mov    %edx,%ecx
417a23:	c1 e1 10             	shl    $0x10,%ecx
417a26:	88 c5                	mov    %al,%ch
417a28:	89 c6                	mov    %eax,%esi
417a2a:	0f b6 fa             	movzbl %dl,%edi
417a2d:	f7 df                	neg    %edi
417a2f:	0f b6 c6             	movzbl %dh,%eax
417a32:	01 c6                	add    %eax,%esi
417a34:	8d 34 7e             	lea    (%esi,%edi,2),%esi
417a37:	01 f8                	add    %edi,%eax
417a39:	99                   	cltd
417a3a:	31 d0                	xor    %edx,%eax
417a3c:	29 d0                	sub    %edx,%eax
417a3e:	96                   	xchg   %eax,%esi
417a3f:	99                   	cltd
417a40:	31 d0                	xor    %edx,%eax
417a42:	29 d0                	sub    %edx,%eax
417a44:	97                   	xchg   %eax,%edi
417a45:	0f b6 d5             	movzbl %ch,%edx
417a48:	01 d0                	add    %edx,%eax
417a4a:	99                   	cltd
417a4b:	31 d0                	xor    %edx,%eax
417a4d:	29 d0                	sub    %edx,%eax
417a4f:	39 f0                	cmp    %esi,%eax
417a51:	77 06                	ja     0x417a59
417a53:	39 f8                	cmp    %edi,%eax
417a55:	b1 18                	mov    $0x18,%cl
417a57:	76 08                	jbe    0x417a61
417a59:	b1 08                	mov    $0x8,%cl
417a5b:	39 fe                	cmp    %edi,%esi
417a5d:	76 02                	jbe    0x417a61
417a5f:	b1 10                	mov    $0x10,%cl
417a61:	d3 e9                	shr    %cl,%ecx
417a63:	5f                   	pop    %edi
417a64:	5e                   	pop    %esi
417a65:	00 0f                	add    %cl,(%edi)
417a67:	47                   	inc    %edi
417a68:	4d                   	dec    %ebp
417a69:	75 ab                	jne    0x417a16
417a6b:	5d                   	pop    %ebp
417a6c:	5b                   	pop    %ebx
417a6d:	5f                   	pop    %edi
417a6e:	5e                   	pop    %esi
417a6f:	5b                   	pop    %ebx
417a70:	8b e5                	mov    %ebp,%esp
417a72:	5d                   	pop    %ebp
417a73:	c3                   	ret
417a74:	55                   	push   %ebp
417a75:	8b ec                	mov    %esp,%ebp
417a77:	83 c4 ac             	add    $0xffffffac,%esp
417a7a:	53                   	push   %ebx
417a7b:	56                   	push   %esi
417a7c:	57                   	push   %edi
417a7d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
417a80:	8b f2                	mov    %edx,%esi
417a82:	89 45 fc             	mov    %eax,-0x4(%ebp)
417a85:	8b 7d 08             	mov    0x8(%ebp),%edi
417a88:	8b 5d fc             	mov    -0x4(%ebp),%ebx
417a8b:	8b 43 20             	mov    0x20(%ebx),%eax
417a8e:	e8 35 18 00 00       	call   0x4192c8
417a93:	89 45 ec             	mov    %eax,-0x14(%ebp)
417a96:	8b 45 ec             	mov    -0x14(%ebp),%eax
417a99:	80 78 30 00          	cmpb   $0x0,0x30(%eax)
417a9d:	74 07                	je     0x417aa6
417a9f:	8b c3                	mov    %ebx,%eax
417aa1:	e8 0e e8 ff ff       	call   0x4162b4
417aa6:	8b 45 ec             	mov    -0x14(%ebp),%eax
417aa9:	8b 80 68 04 00 00    	mov    0x468(%eax),%eax
417aaf:	89 43 28             	mov    %eax,0x28(%ebx)
417ab2:	8b 45 ec             	mov    -0x14(%ebp),%eax
417ab5:	8b 80 6c 04 00 00    	mov    0x46c(%eax),%eax
417abb:	89 43 2c             	mov    %eax,0x2c(%ebx)
417abe:	8b 43 20             	mov    0x20(%ebx),%eax
417ac1:	80 78 20 00          	cmpb   $0x0,0x20(%eax)
417ac5:	74 16                	je     0x417add
417ac7:	8b 43 20             	mov    0x20(%ebx),%eax
417aca:	e8 5d 15 00 00       	call   0x41902c
417acf:	89 43 28             	mov    %eax,0x28(%ebx)
417ad2:	8b 43 20             	mov    0x20(%ebx),%eax
417ad5:	e8 16 15 00 00       	call   0x418ff0
417ada:	89 43 2c             	mov    %eax,0x2c(%ebx)
417add:	8d 55 f8             	lea    -0x8(%ebp),%edx
417ae0:	b9 04 00 00 00       	mov    $0x4,%ecx
417ae5:	83 c8 ff             	or     $0xffffffff,%eax
417ae8:	e8 ab dd ff ff       	call   0x415898
417aed:	89 45 f0             	mov    %eax,-0x10(%ebp)
417af0:	8d 4b 38             	lea    0x38(%ebx),%ecx
417af3:	8d 53 34             	lea    0x34(%ebx),%edx
417af6:	8b 43 20             	mov    0x20(%ebx),%eax
417af9:	e8 4e 16 00 00       	call   0x41914c
417afe:	8d 55 ac             	lea    -0x54(%ebp),%edx
417b01:	8b c6                	mov    %esi,%eax
417b03:	e8 ec e6 ff ff       	call   0x4161f4
417b08:	8b c6                	mov    %esi,%eax
417b0a:	e8 31 ef fe ff       	call   0x406a40
417b0f:	03 c7                	add    %edi,%eax
417b11:	89 43 60             	mov    %eax,0x60(%ebx)
417b14:	8b 43 34             	mov    0x34(%ebx),%eax
417b17:	83 c0 0c             	add    $0xc,%eax
417b1a:	e8 11 ad fe ff       	call   0x402830
417b1f:	89 43 54             	mov    %eax,0x54(%ebx)
417b22:	8b 43 34             	mov    0x34(%ebx),%eax
417b25:	83 c0 0c             	add    $0xc,%eax
417b28:	e8 03 ad fe ff       	call   0x402830
417b2d:	89 43 58             	mov    %eax,0x58(%ebx)
417b30:	8b 53 34             	mov    0x34(%ebx),%edx
417b33:	42                   	inc    %edx
417b34:	8b 43 54             	mov    0x54(%ebx),%eax
417b37:	e8 30 d0 fe ff       	call   0x404b6c
417b3c:	c6 43 5c 01          	movb   $0x1,0x5c(%ebx)
417b40:	8b 43 20             	mov    0x20(%ebx),%eax
417b43:	8a 80 38 02 00 00    	mov    0x238(%eax),%al
417b49:	2c 01                	sub    $0x1,%al
417b4b:	72 04                	jb     0x417b51
417b4d:	74 15                	je     0x417b64
417b4f:	eb 24                	jmp    0x417b75
417b51:	57                   	push   %edi
417b52:	8d 45 f0             	lea    -0x10(%ebp),%eax
417b55:	50                   	push   %eax
417b56:	8d 4d ac             	lea    -0x54(%ebp),%ecx
417b59:	8b d6                	mov    %esi,%edx
417b5b:	8b c3                	mov    %ebx,%eax
417b5d:	e8 2e f9 ff ff       	call   0x417490
417b62:	eb 11                	jmp    0x417b75
417b64:	57                   	push   %edi
417b65:	8d 45 f0             	lea    -0x10(%ebp),%eax
417b68:	50                   	push   %eax
417b69:	8d 4d ac             	lea    -0x54(%ebp),%ecx
417b6c:	8b d6                	mov    %esi,%edx
417b6e:	8b c3                	mov    %ebx,%eax
417b70:	e8 f7 ef ff ff       	call   0x416b6c
417b75:	8d 45 ac             	lea    -0x54(%ebp),%eax
417b78:	e8 23 e7 ff ff       	call   0x4162a0
417b7d:	8b 43 54             	mov    0x54(%ebx),%eax
417b80:	e8 db ac fe ff       	call   0x402860
417b85:	8b 43 58             	mov    0x58(%ebx),%eax
417b88:	e8 d3 ac fe ff       	call   0x402860
417b8d:	8d 55 f4             	lea    -0xc(%ebp),%edx
417b90:	b9 04 00 00 00       	mov    $0x4,%ecx
417b95:	8b c6                	mov    %esi,%eax
417b97:	e8 c4 ee fe ff       	call   0x406a60
417b9c:	8b 43 20             	mov    0x20(%ebx),%eax
417b9f:	80 78 31 00          	cmpb   $0x0,0x31(%eax)
417ba3:	74 25                	je     0x417bca
417ba5:	83 75 f0 ff          	xorl   $0xffffffff,-0x10(%ebp)
417ba9:	8b 45 f4             	mov    -0xc(%ebp),%eax
417bac:	e8 8f dd ff ff       	call   0x415940
417bb1:	89 45 f4             	mov    %eax,-0xc(%ebp)
417bb4:	8b 45 f4             	mov    -0xc(%ebp),%eax
417bb7:	3b 45 f0             	cmp    -0x10(%ebp),%eax
417bba:	0f 94 c0             	sete   %al
417bbd:	84 c0                	test   %al,%al
417bbf:	75 0b                	jne    0x417bcc
417bc1:	8b 53 20             	mov    0x20(%ebx),%edx
417bc4:	c6 42 30 01          	movb   $0x1,0x30(%edx)
417bc8:	eb 02                	jmp    0x417bcc
417bca:	b0 01                	mov    $0x1,%al
417bcc:	5f                   	pop    %edi
417bcd:	5e                   	pop    %esi
417bce:	5b                   	pop    %ebx
417bcf:	8b e5                	mov    %ebp,%esp
417bd1:	5d                   	pop    %ebp
417bd2:	c2 04 00             	ret    $0x4
417bd5:	8d 40 00             	lea    0x0(%eax),%eax
417bd8:	53                   	push   %ebx
417bd9:	56                   	push   %esi
417bda:	57                   	push   %edi
417bdb:	83 c4 bc             	add    $0xffffffbc,%esp
417bde:	8b fa                	mov    %edx,%edi
417be0:	8b d8                	mov    %eax,%ebx
417be2:	8b 43 20             	mov    0x20(%ebx),%eax
417be5:	e8 de 16 00 00       	call   0x4192c8
417bea:	89 04 24             	mov    %eax,(%esp)
417bed:	8b 04 24             	mov    (%esp),%eax
417bf0:	8b 80 68 04 00 00    	mov    0x468(%eax),%eax
417bf6:	89 43 28             	mov    %eax,0x28(%ebx)
417bf9:	8b 04 24             	mov    (%esp),%eax
417bfc:	8b 80 6c 04 00 00    	mov    0x46c(%eax),%eax
417c02:	89 43 2c             	mov    %eax,0x2c(%ebx)
417c05:	8d 4b 38             	lea    0x38(%ebx),%ecx
417c08:	8d 53 34             	lea    0x34(%ebx),%edx
417c0b:	8b 43 20             	mov    0x20(%ebx),%eax
417c0e:	e8 39 15 00 00       	call   0x41914c
417c13:	8b 43 34             	mov    0x34(%ebx),%eax
417c16:	e8 15 ac fe ff       	call   0x402830
417c1b:	8b f0                	mov    %eax,%esi
417c1d:	89 73 50             	mov    %esi,0x50(%ebx)
417c20:	8b 53 34             	mov    0x34(%ebx),%edx
417c23:	8b c6                	mov    %esi,%eax
417c25:	e8 42 cf fe ff       	call   0x404b6c
417c2a:	8b 43 34             	mov    0x34(%ebx),%eax
417c2d:	e8 fe ab fe ff       	call   0x402830
417c32:	8b f0                	mov    %eax,%esi
417c34:	89 73 3c             	mov    %esi,0x3c(%ebx)
417c37:	8b 53 34             	mov    0x34(%ebx),%edx
417c3a:	8b c6                	mov    %esi,%eax
417c3c:	e8 2b cf fe ff       	call   0x404b6c
417c41:	8b 43 20             	mov    0x20(%ebx),%eax
417c44:	f6 80 32 02 00 00 02 	testb  $0x2,0x232(%eax)
417c4b:	74 0b                	je     0x417c58
417c4d:	8b 43 34             	mov    0x34(%ebx),%eax
417c50:	e8 db ab fe ff       	call   0x402830
417c55:	89 43 40             	mov    %eax,0x40(%ebx)
417c58:	8b 43 20             	mov    0x20(%ebx),%eax
417c5b:	f6 80 32 02 00 00 04 	testb  $0x4,0x232(%eax)
417c62:	74 0b                	je     0x417c6f
417c64:	8b 43 34             	mov    0x34(%ebx),%eax
417c67:	e8 c4 ab fe ff       	call   0x402830
417c6c:	89 43 44             	mov    %eax,0x44(%ebx)
417c6f:	8b 43 20             	mov    0x20(%ebx),%eax
417c72:	f6 80 32 02 00 00 08 	testb  $0x8,0x232(%eax)
417c79:	74 0b                	je     0x417c86
417c7b:	8b 43 34             	mov    0x34(%ebx),%eax
417c7e:	e8 ad ab fe ff       	call   0x402830
417c83:	89 43 48             	mov    %eax,0x48(%ebx)
417c86:	8b 43 20             	mov    0x20(%ebx),%eax
417c89:	f6 80 32 02 00 00 10 	testb  $0x10,0x232(%eax)
417c90:	74 0b                	je     0x417c9d
417c92:	8b 43 34             	mov    0x34(%ebx),%eax
417c95:	e8 96 ab fe ff       	call   0x402830
417c9a:	89 43 4c             	mov    %eax,0x4c(%ebx)
417c9d:	8d 44 24 04          	lea    0x4(%esp),%eax
417ca1:	50                   	push   %eax
417ca2:	8b 73 20             	mov    0x20(%ebx),%esi
417ca5:	8b 8e 34 02 00 00    	mov    0x234(%esi),%ecx
417cab:	8a 96 33 02 00 00    	mov    0x233(%esi),%dl
417cb1:	8b c7                	mov    %edi,%eax
417cb3:	e8 7c e5 ff ff       	call   0x416234
417cb8:	8b 43 20             	mov    0x20(%ebx),%eax
417cbb:	8a 80 38 02 00 00    	mov    0x238(%eax),%al
417cc1:	2c 01                	sub    $0x1,%al
417cc3:	72 04                	jb     0x417cc9
417cc5:	74 11                	je     0x417cd8
417cc7:	eb 1c                	jmp    0x417ce5
417cc9:	8d 4c 24 04          	lea    0x4(%esp),%ecx
417ccd:	8b d7                	mov    %edi,%edx
417ccf:	8b c3                	mov    %ebx,%eax
417cd1:	e8 b2 03 00 00       	call   0x418088