53b97e:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53b981:	c6 44 88 01 fd       	movb   $0xfd,0x1(%eax,%ecx,4)
53b986:	c7 44 88 10 01 00 00 	movl   $0x1,0x10(%eax,%ecx,4)
53b98d:	00
53b98e:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
53b994:	85 d2                	test   %edx,%edx
53b996:	74 40                	je     0x53b9d8
53b998:	8b 03                	mov    (%ebx),%eax
53b99a:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
53b99e:	74 0e                	je     0x53b9ae
53b9a0:	52                   	push   %edx
53b9a1:	6a f7                	push   $0xfffffff7
53b9a3:	50                   	push   %eax
53b9a4:	e8 07 83 fc ff       	call   0x503cb0
53b9a9:	83 c4 0c             	add    $0xc,%esp
53b9ac:	eb 2a                	jmp    0x53b9d8
53b9ae:	8b 43 6c             	mov    0x6c(%ebx),%eax
53b9b1:	48                   	dec    %eax
53b9b2:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
53b9b5:	8b 43 68             	mov    0x68(%ebx),%eax
53b9b8:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
53b9bd:	8d 04 88             	lea    (%eax,%ecx,4),%eax
53b9c0:	74 0f                	je     0x53b9d1
53b9c2:	6a f7                	push   $0xfffffff7
53b9c4:	52                   	push   %edx
53b9c5:	50                   	push   %eax
53b9c6:	53                   	push   %ebx
53b9c7:	e8 74 e2 01 00       	call   0x559c40
53b9cc:	83 c4 10             	add    $0x10,%esp
53b9cf:	eb 07                	jmp    0x53b9d8
53b9d1:	89 50 10             	mov    %edx,0x10(%eax)
53b9d4:	c6 40 01 f7          	movb   $0xf7,0x1(%eax)
53b9d8:	8b 45 dc             	mov    -0x24(%ebp),%eax
53b9db:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53b9de:	8b 40 08             	mov    0x8(%eax),%eax
53b9e1:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
53b9e7:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53b9ea:	7f 1c                	jg     0x53ba08
53b9ec:	6a 00                	push   $0x0
53b9ee:	50                   	push   %eax
53b9ef:	ff b5 00 ff ff ff    	push   -0x100(%ebp)
53b9f5:	6a 5c                	push   $0x5c
53b9f7:	53                   	push   %ebx
53b9f8:	e8 03 ab fc ff       	call   0x506500
53b9fd:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
53ba03:	83 c4 14             	add    $0x14,%esp
53ba06:	eb 3d                	jmp    0x53ba45
53ba08:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
53ba0e:	8d 41 01             	lea    0x1(%ecx),%eax
53ba11:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
53ba17:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53ba1a:	89 43 6c             	mov    %eax,0x6c(%ebx)
53ba1d:	8b 43 68             	mov    0x68(%ebx),%eax
53ba20:	89 74 88 08          	mov    %esi,0x8(%eax,%ecx,4)
53ba24:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
53ba2a:	c7 04 88 5c 00 00 00 	movl   $0x5c,(%eax,%ecx,4)
53ba31:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
53ba35:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
53ba3c:	00
53ba3d:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53ba44:	00
53ba45:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53ba48:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53ba4b:	7f 12                	jg     0x53ba5f
53ba4d:	6a 00                	push   $0x0
53ba4f:	6a 00                	push   $0x0
53ba51:	52                   	push   %edx
53ba52:	6a 74                	push   $0x74
53ba54:	53                   	push   %ebx
53ba55:	e8 a6 aa fc ff       	call   0x506500
53ba5a:	83 c4 14             	add    $0x14,%esp
53ba5d:	eb 35                	jmp    0x53ba94
53ba5f:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
53ba65:	8d 41 01             	lea    0x1(%ecx),%eax
53ba68:	89 43 6c             	mov    %eax,0x6c(%ebx)
53ba6b:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53ba6e:	8b 43 68             	mov    0x68(%ebx),%eax
53ba71:	c7 04 88 74 00 00 00 	movl   $0x74,(%eax,%ecx,4)
53ba78:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
53ba7c:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
53ba83:	00
53ba84:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
53ba8b:	00
53ba8c:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53ba93:	00
53ba94:	80 bf c7 00 00 00 02 	cmpb   $0x2,0xc7(%edi)
53ba9b:	0f 85 4d 02 00 00    	jne    0x53bcee
53baa1:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
53baa7:	8b 95 4c ff ff ff    	mov    -0xb4(%ebp),%edx
53baad:	85 c9                	test   %ecx,%ecx
53baaf:	74 1d                	je     0x53bace
53bab1:	f6 42 24 80          	testb  $0x80,0x24(%edx)
53bab5:	74 09                	je     0x53bac0
53bab7:	8b 41 38             	mov    0x38(%ecx),%eax
53baba:	24 03                	and    $0x3,%al
53babc:	3c 02                	cmp    $0x2,%al
53babe:	74 0e                	je     0x53bace
53bac0:	8b 01                	mov    (%ecx),%eax
53bac2:	c7 85 44 ff ff ff 01 	movl   $0x1,-0xbc(%ebp)
53bac9:	00 00 00
53bacc:	eb 0f                	jmp    0x53badd
53bace:	c7 85 44 ff ff ff 00 	movl   $0x0,-0xbc(%ebp)
53bad5:	00 00 00
53bad8:	b8 ad 57 6e 00       	mov    $0x6e57ad,%eax
53badd:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
53bae4:	b9 ad 57 6e 00       	mov    $0x6e57ad,%ecx
53bae9:	50                   	push   %eax
53baea:	b8 d4 b2 6b 00       	mov    $0x6bb2d4,%eax
53baef:	0f 44 c1             	cmove  %ecx,%eax
53baf2:	50                   	push   %eax
53baf3:	ff 32                	push   (%edx)
53baf5:	68 ec b2 6b 00       	push   $0x6bb2ec
53bafa:	6a 00                	push   $0x0
53bafc:	57                   	push   %edi
53bafd:	e8 de e0 00 00       	call   0x549be0
53bb02:	83 c4 18             	add    $0x18,%esp
53bb05:	e9 e4 01 00 00       	jmp    0x53bcee
53bb0a:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
53bb0e:	c7 85 40 ff ff ff 00 	movl   $0x0,-0xc0(%ebp)
53bb15:	00 00 00
53bb18:	0f 84 a0 00 00 00    	je     0x53bbbe
53bb1e:	33 c0                	xor    %eax,%eax
53bb20:	85 d2                	test   %edx,%edx
53bb22:	7e 3a                	jle    0x53bb5e
53bb24:	33 f6                	xor    %esi,%esi
53bb26:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
53bb2d:	00 00 00
53bb30:	8b 01                	mov    (%ecx),%eax
53bb32:	f7 40 04 00 00 00 01 	testl  $0x1000000,0x4(%eax)
53bb39:	75 09                	jne    0x53bb44
53bb3b:	8b 41 04             	mov    0x4(%ecx),%eax
53bb3e:	f6 40 04 20          	testb  $0x20,0x4(%eax)
53bb42:	75 08                	jne    0x53bb4c
53bb44:	46                   	inc    %esi
53bb45:	83 c1 10             	add    $0x10,%ecx
53bb48:	3b f2                	cmp    %edx,%esi
53bb4a:	7c e4                	jl     0x53bb30
53bb4c:	89 b5 34 ff ff ff    	mov    %esi,-0xcc(%ebp)
53bb52:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
53bb58:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
53bb5e:	3b c2                	cmp    %edx,%eax
53bb60:	75 5c                	jne    0x53bbbe
53bb62:	8b 57 2c             	mov    0x2c(%edi),%edx
53bb65:	42                   	inc    %edx
53bb66:	89 57 2c             	mov    %edx,0x2c(%edi)
53bb69:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53bb6c:	89 95 40 ff ff ff    	mov    %edx,-0xc0(%ebp)
53bb72:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53bb75:	7f 12                	jg     0x53bb89
53bb77:	6a 00                	push   $0x0
53bb79:	52                   	push   %edx
53bb7a:	6a 00                	push   $0x0
53bb7c:	6a 45                	push   $0x45
53bb7e:	53                   	push   %ebx
53bb7f:	e8 7c a9 fc ff       	call   0x506500
53bb84:	83 c4 14             	add    $0x14,%esp
53bb87:	eb 35                	jmp    0x53bbbe
53bb89:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
53bb8f:	8d 41 01             	lea    0x1(%ecx),%eax
53bb92:	89 43 6c             	mov    %eax,0x6c(%ebx)
53bb95:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53bb98:	8b 43 68             	mov    0x68(%ebx),%eax
53bb9b:	c7 04 88 45 00 00 00 	movl   $0x45,(%eax,%ecx,4)
53bba2:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
53bba9:	00
53bbaa:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
53bbae:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
53bbb5:	00
53bbb6:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53bbbd:	00
53bbbe:	8d 45 b4             	lea    -0x4c(%ebp),%eax
53bbc1:	50                   	push   %eax
53bbc2:	57                   	push   %edi
53bbc3:	e8 48 7a fd ff       	call   0x513610
53bbc8:	8a 85 ff fe ff ff    	mov    -0x101(%ebp),%al
53bbce:	6a 00                	push   $0x0
53bbd0:	0f b6 c0             	movzbl %al,%eax
53bbd3:	50                   	push   %eax
53bbd4:	6a 00                	push   $0x0
53bbd6:	ff b5 e4 fe ff ff    	push   -0x11c(%ebp)
53bbdc:	ff b5 28 ff ff ff    	push   -0xd8(%ebp)
53bbe2:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
53bbe8:	57                   	push   %edi
53bbe9:	e8 92 43 01 00       	call   0x54ff80
53bbee:	83 c4 24             	add    $0x24,%esp
53bbf1:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
53bbf7:	85 c0                	test   %eax,%eax
53bbf9:	0f 84 f5 01 00 00    	je     0x53bdf4
53bbff:	8d 45 b4             	lea    -0x4c(%ebp),%eax
53bc02:	50                   	push   %eax
53bc03:	ff b5 40 ff ff ff    	push   -0xc0(%ebp)
53bc09:	57                   	push   %edi
53bc0a:	e8 71 ce 01 00       	call   0x558a80
53bc0f:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
53bc15:	83 c4 0c             	add    $0xc,%esp
53bc18:	85 d2                	test   %edx,%edx
53bc1a:	74 4f                	je     0x53bc6b
53bc1c:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53bc1f:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53bc22:	7f 12                	jg     0x53bc36
53bc24:	6a 00                	push   $0x0
53bc26:	52                   	push   %edx
53bc27:	6a 01                	push   $0x1
53bc29:	6a 45                	push   $0x45
53bc2b:	53                   	push   %ebx
53bc2c:	e8 cf a8 fc ff       	call   0x506500
53bc31:	83 c4 14             	add    $0x14,%esp
53bc34:	eb 35                	jmp    0x53bc6b
53bc36:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
53bc3c:	8d 41 01             	lea    0x1(%ecx),%eax
53bc3f:	89 43 6c             	mov    %eax,0x6c(%ebx)
53bc42:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53bc45:	8b 43 68             	mov    0x68(%ebx),%eax
53bc48:	c7 04 88 45 00 00 00 	movl   $0x45,(%eax,%ecx,4)
53bc4f:	c7 44 88 04 01 00 00 	movl   $0x1,0x4(%eax,%ecx,4)
53bc56:	00
53bc57:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
53bc5b:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
53bc62:	00
53bc63:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53bc6a:	00
53bc6b:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
53bc71:	80 7a 2d 00          	cmpb   $0x0,0x2d(%edx)
53bc75:	7e 64                	jle    0x53bcdb
53bc77:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
53bc7a:	8b 42 20             	mov    0x20(%edx),%eax
53bc7d:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
53bc83:	39 4b 70             	cmp    %ecx,0x70(%ebx)
53bc86:	7f 18                	jg     0x53bca0
53bc88:	6a 00                	push   $0x0
53bc8a:	50                   	push   %eax
53bc8b:	6a 00                	push   $0x0
53bc8d:	6a 0b                	push   $0xb
53bc8f:	53                   	push   %ebx
53bc90:	e8 6b a8 fc ff       	call   0x506500
53bc95:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
53bc9b:	83 c4 14             	add    $0x14,%esp
53bc9e:	eb 3b                	jmp    0x53bcdb
53bca0:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
53bca6:	8d 41 01             	lea    0x1(%ecx),%eax
53bca9:	89 43 6c             	mov    %eax,0x6c(%ebx)
53bcac:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
53bcaf:	8b 43 68             	mov    0x68(%ebx),%eax
53bcb2:	89 74 88 08          	mov    %esi,0x8(%eax,%ecx,4)
53bcb6:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
53bcbc:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
53bcc3:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
53bcca:	00
53bccb:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
53bcd2:	00
53bcd3:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53bcda:	00
53bcdb:	52                   	push   %edx
53bcdc:	e8 2f 71 01 00       	call   0x552e10
53bce1:	8d 45 b4             	lea    -0x4c(%ebp),%eax
53bce4:	50                   	push   %eax
53bce5:	57                   	push   %edi
53bce6:	e8 b5 5f fc ff       	call   0x501ca0
53bceb:	83 c4 0c             	add    $0xc,%esp
53bcee:	6a 10                	push   $0x10
53bcf0:	ff b5 2c ff ff ff    	push   -0xd4(%ebp)
53bcf6:	c7 85 70 ff ff ff 00 	movl   $0x0,-0x90(%ebp)
53bcfd:	00 00 00
53bd00:	ff b5 18 ff ff ff    	push   -0xe8(%ebp)
53bd06:	57                   	push   %edi
53bd07:	e8 a4 ad fe ff       	call   0x526ab0
53bd0c:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
53bd12:	50                   	push   %eax
53bd13:	50                   	push   %eax
53bd14:	ff b5 f8 fe ff ff    	push   -0x108(%ebp)
53bd1a:	6a 00                	push   $0x0
53bd1c:	6a 00                	push   $0x0
53bd1e:	6a ff                	push   $0xffffffff
53bd20:	56                   	push   %esi
53bd21:	57                   	push   %edi
53bd22:	e8 19 a2 fd ff       	call   0x515f40
53bd27:	83 c4 30             	add    $0x30,%esp
53bd2a:	8b 4b 0c             	mov    0xc(%ebx),%ecx
53bd2d:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
53bd33:	f7 d2                	not    %edx
53bd35:	8b 41 3c             	mov    0x3c(%ecx),%eax
53bd38:	03 41 38             	add    0x38(%ecx),%eax
53bd3b:	79 0d                	jns    0x53bd4a
53bd3d:	52                   	push   %edx
53bd3e:	53                   	push   %ebx
53bd3f:	51                   	push   %ecx
53bd40:	e8 5b 7a fd ff       	call   0x5137a0
53bd45:	83 c4 0c             	add    $0xc,%esp
53bd48:	eb 09                	jmp    0x53bd53
53bd4a:	8b 49 40             	mov    0x40(%ecx),%ecx
53bd4d:	8b 43 6c             	mov    0x6c(%ebx),%eax
53bd50:	89 04 91             	mov    %eax,(%ecx,%edx,4)
53bd53:	80 7d f1 03          	cmpb   $0x3,-0xf(%ebp)
53bd57:	75 15                	jne    0x53bd6e
53bd59:	68 48 b3 6b 00       	push   $0x6bb348
53bd5e:	68 10 af 6b 00       	push   $0x6baf10
53bd63:	6a 00                	push   $0x0
53bd65:	57                   	push   %edi
53bd66:	e8 75 de 00 00       	call   0x549be0
53bd6b:	83 c4 10             	add    $0x10,%esp
53bd6e:	83 bd 70 ff ff ff 00 	cmpl   $0x0,-0x90(%ebp)
53bd75:	74 46                	je     0x53bdbd
53bd77:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
53bd7e:	b9 d0 af 6b 00       	mov    $0x6bafd0,%ecx
53bd83:	b8 60 b3 6b 00       	mov    $0x6bb360,%eax
53bd88:	0f 4e c1             	cmovle %ecx,%eax
53bd8b:	50                   	push   %eax
53bd8c:	68 10 af 6b 00       	push   $0x6baf10
53bd91:	6a 00                	push   $0x0
53bd93:	57                   	push   %edi
53bd94:	e8 47 de 00 00       	call   0x549be0
53bd99:	ff b5 f8 fe ff ff    	push   -0x108(%ebp)
53bd9f:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
53bda5:	ff 30                	push   (%eax)
53bda7:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
53bdad:	50                   	push   %eax
53bdae:	ff b5 38 ff ff ff    	push   -0xc8(%ebp)
53bdb4:	57                   	push   %edi
53bdb5:	e8 b6 8d fc ff       	call   0x504b70
53bdba:	83 c4 24             	add    $0x24,%esp
53bdbd:	8b 4b 0c             	mov    0xc(%ebx),%ecx
53bdc0:	8b 95 e0 fe ff ff    	mov    -0x120(%ebp),%edx
53bdc6:	f7 d2                	not    %edx
53bdc8:	8b 41 3c             	mov    0x3c(%ecx),%eax
53bdcb:	03 41 38             	add    0x38(%ecx),%eax
53bdce:	79 0d                	jns    0x53bddd
53bdd0:	52                   	push   %edx
53bdd1:	53                   	push   %ebx
53bdd2:	51                   	push   %ecx
53bdd3:	e8 c8 79 fd ff       	call   0x5137a0
53bdd8:	83 c4 0c             	add    $0xc,%esp
53bddb:	eb 09                	jmp    0x53bde6
53bddd:	8b 49 40             	mov    0x40(%ecx),%ecx
53bde0:	8b 43 6c             	mov    0x6c(%ebx),%eax
53bde3:	89 04 91             	mov    %eax,(%ecx,%edx,4)
53bde6:	33 c0                	xor    %eax,%eax
53bde8:	39 47 24             	cmp    %eax,0x24(%edi)
53bdeb:	0f 9f c0             	setg   %al
53bdee:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
53bdf4:	8b 85 e4 fe ff ff    	mov    -0x11c(%ebp),%eax
53bdfa:	85 c0                	test   %eax,%eax
53bdfc:	0f 84 df df ff ff    	je     0x539de1
53be02:	8b 9d 3c ff ff ff    	mov    -0xc4(%ebp),%ebx
53be08:	50                   	push   %eax
53be09:	53                   	push   %ebx
53be0a:	e8 f1 51 fc ff       	call   0x501000
53be0f:	83 c4 08             	add    $0x8,%esp
53be12:	e9 d0 df ff ff       	jmp    0x539de7
53be17:	8b d8                	mov    %eax,%ebx
53be19:	e9 c9 df ff ff       	jmp    0x539de7