53a902:	40                   	inc    %eax
53a903:	89 85 0c ff ff ff    	mov    %eax,-0xf4(%ebp)
53a909:	8d 48 02             	lea    0x2(%eax),%ecx
53a90c:	8b 47 38             	mov    0x38(%edi),%eax
53a90f:	48                   	dec    %eax
53a910:	89 4f 2c             	mov    %ecx,0x2c(%edi)
53a913:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
53a919:	48                   	dec    %eax
53a91a:	89 47 38             	mov    %eax,0x38(%edi)
53a91d:	89 8d 4c ff ff ff    	mov    %ecx,-0xb4(%ebp)
53a923:	03 0a                	add    (%edx),%ecx
53a925:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
53a92b:	89 4f 2c             	mov    %ecx,0x2c(%edi)
53a92e:	8d 41 01             	lea    0x1(%ecx),%eax
53a931:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
53a937:	8b 02                	mov    (%edx),%eax
53a939:	03 c1                	add    %ecx,%eax
53a93b:	89 47 2c             	mov    %eax,0x2c(%edi)
53a93e:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53a941:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53a944:	7f 1d                	jg     0x53a963
53a946:	6a 00                	push   $0x0
53a948:	ff b5 0c ff ff ff    	push   -0xf4(%ebp)
53a94e:	6a 00                	push   $0x0
53a950:	6a 45                	push   $0x45
53a952:	53                   	push   %ebx
53a953:	e8 a8 bb fc ff       	call   0x506500
53a958:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
53a95e:	83 c4 14             	add    $0x14,%esp
53a961:	eb 3b                	jmp    0x53a99e
53a963:	8b b5 0c ff ff ff    	mov    -0xf4(%ebp),%esi
53a969:	8d 41 01             	lea    0x1(%ecx),%eax
53a96c:	89 43 6c             	mov    %eax,0x6c(%ebx)
53a96f:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53a972:	8b 43 68             	mov    0x68(%ebx),%eax
53a975:	89 74 88 08          	mov    %esi,0x8(%eax,%ecx,4)
53a979:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
53a97f:	c7 04 88 45 00 00 00 	movl   $0x45,(%eax,%ecx,4)
53a986:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
53a98d:	00
53a98e:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
53a995:	00
53a996:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53a99d:	00
53a99e:	8b 02                	mov    (%edx),%eax
53a9a0:	8b 95 4c ff ff ff    	mov    -0xb4(%ebp),%edx
53a9a6:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53a9a9:	03 d0                	add    %eax,%edx
53a9ab:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53a9ae:	7f 18                	jg     0x53a9c8
53a9b0:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
53a9b6:	52                   	push   %edx
53a9b7:	40                   	inc    %eax
53a9b8:	50                   	push   %eax
53a9b9:	6a 00                	push   $0x0
53a9bb:	6a 48                	push   $0x48
53a9bd:	53                   	push   %ebx
53a9be:	e8 3d bb fc ff       	call   0x506500
53a9c3:	83 c4 14             	add    $0x14,%esp
53a9c6:	eb 3e                	jmp    0x53aa06
53a9c8:	8b b5 4c ff ff ff    	mov    -0xb4(%ebp),%esi
53a9ce:	8d 41 01             	lea    0x1(%ecx),%eax
53a9d1:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
53a9d7:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53a9da:	89 43 6c             	mov    %eax,0x6c(%ebx)
53a9dd:	46                   	inc    %esi
53a9de:	8b 43 68             	mov    0x68(%ebx),%eax
53a9e1:	89 74 88 08          	mov    %esi,0x8(%eax,%ecx,4)
53a9e5:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
53a9eb:	c7 04 88 48 00 00 00 	movl   $0x48,(%eax,%ecx,4)
53a9f2:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
53a9f9:	00
53a9fa:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
53a9fe:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53aa05:	00
53aa06:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53aa09:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53aa0c:	7f 1b                	jg     0x53aa29
53aa0e:	6a 00                	push   $0x0
53aa10:	ff b5 00 ff ff ff    	push   -0x100(%ebp)
53aa16:	ff b5 4c ff ff ff    	push   -0xb4(%ebp)
53aa1c:	6a 0c                	push   $0xc
53aa1e:	53                   	push   %ebx
53aa1f:	e8 dc ba fc ff       	call   0x506500
53aa24:	83 c4 14             	add    $0x14,%esp
53aa27:	eb 37                	jmp    0x53aa60
53aa29:	8b 95 4c ff ff ff    	mov    -0xb4(%ebp),%edx
53aa2f:	8d 41 01             	lea    0x1(%ecx),%eax
53aa32:	89 43 6c             	mov    %eax,0x6c(%ebx)
53aa35:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53aa38:	8b 43 68             	mov    0x68(%ebx),%eax
53aa3b:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
53aa3f:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
53aa45:	c7 04 88 0c 00 00 00 	movl   $0xc,(%eax,%ecx,4)
53aa4c:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
53aa50:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
53aa57:	00
53aa58:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53aa5f:	00
53aa60:	83 bd 04 ff ff ff 00 	cmpl   $0x0,-0xfc(%ebp)
53aa67:	b9 40 02 00 00       	mov    $0x240,%ecx
53aa6c:	6a 00                	push   $0x0
53aa6e:	b8 40 00 00 00       	mov    $0x40,%eax
53aa73:	0f 45 c1             	cmovne %ecx,%eax
53aa76:	0f b7 c0             	movzwl %ax,%eax
53aa79:	50                   	push   %eax
53aa7a:	6a 00                	push   $0x0
53aa7c:	ff b5 30 ff ff ff    	push   -0xd0(%ebp)
53aa82:	ff b5 28 ff ff ff    	push   -0xd8(%ebp)
53aa88:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
53aa8e:	57                   	push   %edi
53aa8f:	e8 ec 54 01 00       	call   0x54ff80
53aa94:	8b d0                	mov    %eax,%edx
53aa96:	83 c4 1c             	add    $0x1c,%esp
53aa99:	89 95 34 ff ff ff    	mov    %edx,-0xcc(%ebp)
53aa9f:	85 d2                	test   %edx,%edx
53aaa1:	0f 84 4d 13 00 00    	je     0x53bdf4
53aaa7:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
53aaad:	0f be 4a 2d          	movsbl 0x2d(%edx),%ecx
53aab1:	3b 08                	cmp    (%eax),%ecx
53aab3:	75 0d                	jne    0x53aac2
53aab5:	33 c9                	xor    %ecx,%ecx
53aab7:	89 8d 28 ff ff ff    	mov    %ecx,-0xd8(%ebp)
53aabd:	e9 61 03 00 00       	jmp    0x53ae23
53aac2:	80 bd 1f ff ff ff 00 	cmpb   $0x0,-0xe1(%ebp)
53aac9:	74 0b                	je     0x53aad6
53aacb:	f6 46 04 01          	testb  $0x1,0x4(%esi)
53aacf:	b8 48 b3 6b 00       	mov    $0x6bb348,%eax
53aad4:	74 05                	je     0x53aadb
53aad6:	b8 54 b3 6b 00       	mov    $0x6bb354,%eax
53aadb:	50                   	push   %eax
53aadc:	68 10 af 6b 00       	push   $0x6baf10
53aae1:	6a 00                	push   $0x0
53aae3:	57                   	push   %edi
53aae4:	e8 f7 f0 00 00       	call   0x549be0
53aae9:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
53aaef:	83 c4 10             	add    $0x10,%esp
53aaf2:	8b 55 d4             	mov    -0x2c(%ebp),%edx
53aaf5:	c7 85 28 ff ff ff 01 	movl   $0x1,-0xd8(%ebp)
53aafc:	00 00 00
53aaff:	8b 08                	mov    (%eax),%ecx
53ab01:	8b f1                	mov    %ecx,%esi
53ab03:	89 8d f4 fe ff ff    	mov    %ecx,-0x10c(%ebp)
53ab09:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
53ab0f:	85 d2                	test   %edx,%edx
53ab11:	7e 21                	jle    0x53ab34
53ab13:	8b 45 d0             	mov    -0x30(%ebp),%eax
53ab16:	83 c0 0c             	add    $0xc,%eax
53ab19:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
53ab20:	39 08                	cmp    %ecx,(%eax)
53ab22:	7c 02                	jl     0x53ab26
53ab24:	46                   	inc    %esi
53ab25:	41                   	inc    %ecx
53ab26:	83 c0 18             	add    $0x18,%eax
53ab29:	83 ea 01             	sub    $0x1,%edx
53ab2c:	75 f2                	jne    0x53ab20
53ab2e:	89 b5 08 ff ff ff    	mov    %esi,-0xf8(%ebp)
53ab34:	83 fe 01             	cmp    $0x1,%esi
53ab37:	75 2c                	jne    0x53ab65
53ab39:	8a 47 13             	mov    0x13(%edi),%al
53ab3c:	84 c0                	test   %al,%al
53ab3e:	75 0e                	jne    0x53ab4e
53ab40:	ff 47 2c             	incl   0x2c(%edi)
53ab43:	8b 47 2c             	mov    0x2c(%edi),%eax
53ab46:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
53ab4c:	eb 45                	jmp    0x53ab93
53ab4e:	fe c8                	dec    %al
53ab50:	88 47 13             	mov    %al,0x13(%edi)
53ab53:	0f b6 c0             	movzbl %al,%eax
53ab56:	8b 84 87 94 00 00 00 	mov    0x94(%edi,%eax,4),%eax
53ab5d:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
53ab63:	eb 2e                	jmp    0x53ab93
53ab65:	8b 57 1c             	mov    0x1c(%edi),%edx
53ab68:	8b 4f 20             	mov    0x20(%edi),%ecx
53ab6b:	89 8d 48 ff ff ff    	mov    %ecx,-0xb8(%ebp)
53ab71:	3b f2                	cmp    %edx,%esi
53ab73:	7f 0d                	jg     0x53ab82
53ab75:	8d 04 31             	lea    (%ecx,%esi,1),%eax
53ab78:	2b d6                	sub    %esi,%edx
53ab7a:	89 47 20             	mov    %eax,0x20(%edi)
53ab7d:	89 57 1c             	mov    %edx,0x1c(%edi)
53ab80:	eb 11                	jmp    0x53ab93
53ab82:	8b 47 2c             	mov    0x2c(%edi),%eax
53ab85:	8d 48 01             	lea    0x1(%eax),%ecx
53ab88:	03 c6                	add    %esi,%eax
53ab8a:	89 8d 48 ff ff ff    	mov    %ecx,-0xb8(%ebp)
53ab90:	89 47 2c             	mov    %eax,0x2c(%edi)
53ab93:	6a 00                	push   $0x0
53ab95:	6a 00                	push   $0x0
53ab97:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
53ab9d:	ff b5 30 ff ff ff    	push   -0xd0(%ebp)
53aba3:	57                   	push   %edi
53aba4:	e8 27 91 fe ff       	call   0x523cd0
53aba9:	33 d2                	xor    %edx,%edx
53abab:	83 c4 14             	add    $0x14,%esp
53abae:	89 95 44 ff ff ff    	mov    %edx,-0xbc(%ebp)
53abb4:	39 55 d4             	cmp    %edx,-0x2c(%ebp)
53abb7:	7e 50                	jle    0x53ac09
53abb9:	8b bd f4 fe ff ff    	mov    -0x10c(%ebp),%edi
53abbf:	33 f6                	xor    %esi,%esi
53abc1:	8b 45 d0             	mov    -0x30(%ebp),%eax
53abc4:	39 7c 06 0c          	cmp    %edi,0xc(%esi,%eax,1)
53abc8:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
53abcb:	7c 21                	jl     0x53abee
53abcd:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
53abd3:	03 c7                	add    %edi,%eax
53abd5:	50                   	push   %eax
53abd6:	ff 71 08             	push   0x8(%ecx)
53abd9:	ff 71 04             	push   0x4(%ecx)
53abdc:	ff 31                	push   (%ecx)
53abde:	53                   	push   %ebx
53abdf:	e8 dc 94 fe ff       	call   0x5240c0
53abe4:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
53abea:	83 c4 14             	add    $0x14,%esp
53abed:	47                   	inc    %edi
53abee:	42                   	inc    %edx
53abef:	83 c6 18             	add    $0x18,%esi
53abf2:	89 95 44 ff ff ff    	mov    %edx,-0xbc(%ebp)
53abf8:	3b 55 d4             	cmp    -0x2c(%ebp),%edx
53abfb:	7c c4                	jl     0x53abc1
53abfd:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
53ac03:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
53ac09:	8a 47 13             	mov    0x13(%edi),%al
53ac0c:	84 c0                	test   %al,%al
53ac0e:	75 08                	jne    0x53ac18
53ac10:	ff 47 2c             	incl   0x2c(%edi)
53ac13:	8b 47 2c             	mov    0x2c(%edi),%eax
53ac16:	eb 0f                	jmp    0x53ac27
53ac18:	fe c8                	dec    %al
53ac1a:	88 47 13             	mov    %al,0x13(%edi)
53ac1d:	0f b6 c0             	movzbl %al,%eax
53ac20:	8b 84 87 94 00 00 00 	mov    0x94(%edi,%eax,4),%eax
53ac27:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53ac2a:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
53ac30:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53ac33:	7f 1b                	jg     0x53ac50
53ac35:	50                   	push   %eax
53ac36:	56                   	push   %esi
53ac37:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
53ac3d:	6a 5b                	push   $0x5b
53ac3f:	53                   	push   %ebx
53ac40:	e8 bb b8 fc ff       	call   0x506500
53ac45:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
53ac4b:	83 c4 14             	add    $0x14,%esp
53ac4e:	eb 33                	jmp    0x53ac83
53ac50:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
53ac56:	8d 41 01             	lea    0x1(%ecx),%eax
53ac59:	89 43 6c             	mov    %eax,0x6c(%ebx)
53ac5c:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53ac5f:	8b 43 68             	mov    0x68(%ebx),%eax
53ac62:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
53ac66:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
53ac6c:	c7 04 88 5b 00 00 00 	movl   $0x5b,(%eax,%ecx,4)
53ac73:	89 74 88 08          	mov    %esi,0x8(%eax,%ecx,4)
53ac77:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
53ac7b:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53ac82:	00
53ac83:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53ac86:	8b 45 b8             	mov    -0x48(%ebp),%eax
53ac89:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
53ac8f:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53ac92:	7f 1a                	jg     0x53acae
53ac94:	6a 00                	push   $0x0
53ac96:	52                   	push   %edx
53ac97:	50                   	push   %eax
53ac98:	68 82 00 00 00       	push   $0x82
53ac9d:	53                   	push   %ebx
53ac9e:	e8 5d b8 fc ff       	call   0x506500
53aca3:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
53aca9:	83 c4 14             	add    $0x14,%esp
53acac:	eb 37                	jmp    0x53ace5
53acae:	8d 41 01             	lea    0x1(%ecx),%eax
53acb1:	89 43 6c             	mov    %eax,0x6c(%ebx)
53acb4:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53acb7:	8b 43 68             	mov    0x68(%ebx),%eax
53acba:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
53acc0:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
53acc4:	8b 9d 10 ff ff ff    	mov    -0xf0(%ebp),%ebx
53acca:	c7 04 88 82 00 00 00 	movl   $0x82,(%eax,%ecx,4)
53acd1:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
53acd5:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
53acdc:	00
53acdd:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53ace4:	00
53ace5:	85 d2                	test   %edx,%edx
53ace7:	74 14                	je     0x53acfd
53ace9:	8a 47 13             	mov    0x13(%edi),%al
53acec:	3c 08                	cmp    $0x8,%al
53acee:	73 0d                	jae    0x53acfd
53acf0:	0f b6 c0             	movzbl %al,%eax
53acf3:	89 94 87 94 00 00 00 	mov    %edx,0x94(%edi,%eax,4)
53acfa:	fe 47 13             	incb   0x13(%edi)
53acfd:	83 fe 01             	cmp    $0x1,%esi
53ad00:	75 20                	jne    0x53ad22
53ad02:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
53ad08:	85 c9                	test   %ecx,%ecx
53ad0a:	74 27                	je     0x53ad33
53ad0c:	8a 47 13             	mov    0x13(%edi),%al
53ad0f:	3c 08                	cmp    $0x8,%al
53ad11:	73 20                	jae    0x53ad33
53ad13:	0f b6 c0             	movzbl %al,%eax
53ad16:	89 8c 87 94 00 00 00 	mov    %ecx,0x94(%edi,%eax,4)
53ad1d:	fe 47 13             	incb   0x13(%edi)
53ad20:	eb 11                	jmp    0x53ad33
53ad22:	3b 77 1c             	cmp    0x1c(%edi),%esi
53ad25:	7e 0c                	jle    0x53ad33
53ad27:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
53ad2d:	89 77 1c             	mov    %esi,0x1c(%edi)
53ad30:	89 47 20             	mov    %eax,0x20(%edi)
53ad33:	ff b5 34 ff ff ff    	push   -0xcc(%ebp)
53ad39:	e8 d2 80 01 00       	call   0x552e10
53ad3e:	8b 57 28             	mov    0x28(%edi),%edx
53ad41:	83 c4 04             	add    $0x4,%esp
53ad44:	89 95 f4 fe ff ff    	mov    %edx,-0x10c(%ebp)
53ad4a:	89 55 bc             	mov    %edx,-0x44(%ebp)
53ad4d:	8d 42 01             	lea    0x1(%edx),%eax
53ad50:	89 47 28             	mov    %eax,0x28(%edi)
53ad53:	8a 47 13             	mov    0x13(%edi),%al
53ad56:	84 c0                	test   %al,%al
53ad58:	75 08                	jne    0x53ad62
53ad5a:	ff 47 2c             	incl   0x2c(%edi)
53ad5d:	8b 47 2c             	mov    0x2c(%edi),%eax
53ad60:	eb 0f                	jmp    0x53ad71
53ad62:	fe c8                	dec    %al
53ad64:	88 47 13             	mov    %al,0x13(%edi)
53ad67:	0f b6 c0             	movzbl %al,%eax
53ad6a:	8b 84 87 94 00 00 00 	mov    0x94(%edi,%eax,4),%eax
53ad71:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53ad74:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
53ad7a:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53ad7d:	7f 10                	jg     0x53ad8f
53ad7f:	56                   	push   %esi
53ad80:	50                   	push   %eax
53ad81:	52                   	push   %edx
53ad82:	6a 72                	push   $0x72
53ad84:	53                   	push   %ebx
53ad85:	e8 76 b7 fc ff       	call   0x506500
53ad8a:	83 c4 14             	add    $0x14,%esp
53ad8d:	eb 33                	jmp    0x53adc2
53ad8f:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
53ad95:	8d 41 01             	lea    0x1(%ecx),%eax
53ad98:	89 43 6c             	mov    %eax,0x6c(%ebx)
53ad9b:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53ad9e:	8b 43 68             	mov    0x68(%ebx),%eax
53ada1:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
53ada5:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
53adab:	c7 04 88 72 00 00 00 	movl   $0x72,(%eax,%ecx,4)
53adb2:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
53adb6:	89 74 88 0c          	mov    %esi,0xc(%eax,%ecx,4)
53adba:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)