56ae6a:	ff 73 d4             	push   -0x2c(%ebx)
56ae6d:	57                   	push   %edi
56ae6e:	e8 dd cd fb ff       	call   0x527c50
56ae73:	eb 0f                	jmp    0x56ae84
56ae75:	8b 43 f8             	mov    -0x8(%ebx),%eax
56ae78:	85 c0                	test   %eax,%eax
56ae7a:	74 0b                	je     0x56ae87
56ae7c:	50                   	push   %eax
56ae7d:	ff 37                	push   (%edi)
56ae7f:	e8 7c 61 f9 ff       	call   0x501000
56ae84:	83 c4 08             	add    $0x8,%esp
56ae87:	83 7b e0 00          	cmpl   $0x0,-0x20(%ebx)
56ae8b:	0f 84 2c 07 00 00    	je     0x56b5bd
56ae91:	6a 00                	push   $0x0
56ae93:	ff 73 d4             	push   -0x2c(%ebx)
56ae96:	6a 13                	push   $0x13
56ae98:	57                   	push   %edi
56ae99:	e8 72 71 fc ff       	call   0x532010
56ae9e:	83 c4 10             	add    $0x10,%esp
56aea1:	e9 14 07 00 00       	jmp    0x56b5ba
56aea6:	6a 00                	push   $0x0
56aea8:	6a 00                	push   $0x0
56aeaa:	68 88 00 00 00       	push   $0x88
56aeaf:	57                   	push   %edi
56aeb0:	e8 5b 71 fc ff       	call   0x532010
56aeb5:	ff 73 f8             	push   -0x8(%ebx)
56aeb8:	89 43 ec             	mov    %eax,-0x14(%ebx)
56aebb:	50                   	push   %eax
56aebc:	57                   	push   %edi
56aebd:	e8 de 71 fc ff       	call   0x5320a0
56aec2:	83 c4 1c             	add    $0x1c,%esp
56aec5:	e9 f3 06 00 00       	jmp    0x56b5bd
56aeca:	6a 00                	push   $0x0
56aecc:	ff 73 d4             	push   -0x2c(%ebx)
56aecf:	6a 31                	push   $0x31
56aed1:	57                   	push   %edi
56aed2:	e8 39 71 fc ff       	call   0x532010
56aed7:	ff 73 f8             	push   -0x8(%ebx)
56aeda:	89 43 d4             	mov    %eax,-0x2c(%ebx)
56aedd:	50                   	push   %eax
56aede:	57                   	push   %edi
56aedf:	e8 bc 71 fc ff       	call   0x5320a0
56aee4:	83 c4 1c             	add    $0x1c,%esp
56aee7:	e9 0d ff ff ff       	jmp    0x56adf9
56aeec:	8d 43 f8             	lea    -0x8(%ebx),%eax
56aeef:	50                   	push   %eax
56aef0:	8d 43 ec             	lea    -0x14(%ebx),%eax
56aef3:	50                   	push   %eax
56aef4:	6a 00                	push   $0x0
56aef6:	57                   	push   %edi
56aef7:	e8 54 1c fd ff       	call   0x53cb50
56aefc:	6a 00                	push   $0x0
56aefe:	6a 00                	push   $0x0
56af00:	6a 00                	push   $0x0
56af02:	6a 00                	push   $0x0
56af04:	6a 00                	push   $0x0
56af06:	6a 00                	push   $0x0
56af08:	50                   	push   %eax
56af09:	6a 00                	push   $0x0
56af0b:	57                   	push   %edi
56af0c:	89 45 f8             	mov    %eax,-0x8(%ebp)
56af0f:	e8 4c 15 fd ff       	call   0x53c460
56af14:	8b f0                	mov    %eax,%esi
56af16:	83 c4 34             	add    $0x34,%esp
56af19:	8b 43 04             	mov    0x4(%ebx),%eax
56af1c:	85 c0                	test   %eax,%eax
56af1e:	74 13                	je     0x56af33
56af20:	33 c9                	xor    %ecx,%ecx
56af22:	85 f6                	test   %esi,%esi
56af24:	50                   	push   %eax
56af25:	0f 45 4d f8          	cmovne -0x8(%ebp),%ecx
56af29:	51                   	push   %ecx
56af2a:	57                   	push   %edi
56af2b:	e8 c0 23 fd ff       	call   0x53d2f0
56af30:	83 c4 0c             	add    $0xc,%esp
56af33:	6a 00                	push   $0x0
56af35:	ff 73 d4             	push   -0x2c(%ebx)
56af38:	6a 31                	push   $0x31
56af3a:	57                   	push   %edi
56af3b:	e8 d0 70 fc ff       	call   0x532010
56af40:	56                   	push   %esi
56af41:	50                   	push   %eax
56af42:	57                   	push   %edi
56af43:	89 43 d4             	mov    %eax,-0x2c(%ebx)
56af46:	e8 55 71 fc ff       	call   0x5320a0
56af4b:	83 c4 1c             	add    $0x1c,%esp
56af4e:	e9 a6 fe ff ff       	jmp    0x56adf9
56af53:	6a 00                	push   $0x0
56af55:	6a 00                	push   $0x0
56af57:	6a 14                	push   $0x14
56af59:	57                   	push   %edi
56af5a:	e8 b1 70 fc ff       	call   0x532010
56af5f:	ff 73 f8             	push   -0x8(%ebx)
56af62:	89 43 e0             	mov    %eax,-0x20(%ebx)
56af65:	50                   	push   %eax
56af66:	57                   	push   %edi
56af67:	e8 34 71 fc ff       	call   0x5320a0
56af6c:	83 c4 1c             	add    $0x1c,%esp
56af6f:	e9 49 06 00 00       	jmp    0x56b5bd
56af74:	6a 00                	push   $0x0
56af76:	ff 73 e0             	push   -0x20(%ebx)
56af79:	68 9a 00 00 00       	push   $0x9a
56af7e:	57                   	push   %edi
56af7f:	e8 8c 70 fc ff       	call   0x532010
56af84:	83 c4 10             	add    $0x10,%esp
56af87:	89 43 d4             	mov    %eax,-0x2c(%ebx)
56af8a:	85 c0                	test   %eax,%eax
56af8c:	74 32                	je     0x56afc0
56af8e:	8b 43 f8             	mov    -0x8(%ebx),%eax
56af91:	85 c0                	test   %eax,%eax
56af93:	74 11                	je     0x56afa6
56af95:	50                   	push   %eax
56af96:	ff 73 ec             	push   -0x14(%ebx)
56af99:	57                   	push   %edi
56af9a:	e8 e1 c5 fb ff       	call   0x527580
56af9f:	83 c4 0c             	add    $0xc,%esp
56afa2:	8b c8                	mov    %eax,%ecx
56afa4:	eb 03                	jmp    0x56afa9
56afa6:	8b 4b ec             	mov    -0x14(%ebx),%ecx
56afa9:	8b 43 d4             	mov    -0x2c(%ebx),%eax
56afac:	89 48 14             	mov    %ecx,0x14(%eax)
56afaf:	ff 73 d4             	push   -0x2c(%ebx)
56afb2:	57                   	push   %edi
56afb3:	e8 98 cc fb ff       	call   0x527c50
56afb8:	83 c4 08             	add    $0x8,%esp
56afbb:	e9 fd 05 00 00       	jmp    0x56b5bd
56afc0:	8b 43 ec             	mov    -0x14(%ebx),%eax
56afc3:	85 c0                	test   %eax,%eax
56afc5:	74 0b                	je     0x56afd2
56afc7:	50                   	push   %eax
56afc8:	ff 37                	push   (%edi)
56afca:	e8 31 60 f9 ff       	call   0x501000
56afcf:	83 c4 08             	add    $0x8,%esp
56afd2:	8b 43 f8             	mov    -0x8(%ebx),%eax
56afd5:	85 c0                	test   %eax,%eax
56afd7:	0f 84 e0 05 00 00    	je     0x56b5bd
56afdd:	50                   	push   %eax
56afde:	ff 37                	push   (%edi)
56afe0:	e8 cb b7 fb ff       	call   0x5267b0
56afe5:	83 c4 08             	add    $0x8,%esp
56afe8:	e9 d0 05 00 00       	jmp    0x56b5bd
56afed:	ff 73 ec             	push   -0x14(%ebx)
56aff0:	ff 73 d4             	push   -0x2c(%ebx)
56aff3:	57                   	push   %edi
56aff4:	e8 87 c5 fb ff       	call   0x527580
56aff9:	ff 73 04             	push   0x4(%ebx)
56affc:	89 43 d4             	mov    %eax,-0x2c(%ebx)
56afff:	50                   	push   %eax
56b000:	57                   	push   %edi
56b001:	e8 7a c5 fb ff       	call   0x527580
56b006:	83 c4 18             	add    $0x18,%esp
56b009:	e9 ac 05 00 00       	jmp    0x56b5ba
56b00e:	ff 73 ec             	push   -0x14(%ebx)
56b011:	6a 00                	push   $0x0
56b013:	57                   	push   %edi
56b014:	e8 67 c5 fb ff       	call   0x527580
56b019:	ff 73 04             	push   0x4(%ebx)
56b01c:	89 43 e0             	mov    %eax,-0x20(%ebx)
56b01f:	50                   	push   %eax
56b020:	57                   	push   %edi
56b021:	e8 5a c5 fb ff       	call   0x527580
56b026:	83 c4 18             	add    $0x18,%esp
56b029:	89 43 e0             	mov    %eax,-0x20(%ebx)
56b02c:	e9 8c 05 00 00       	jmp    0x56b5bd
56b031:	ff 73 04             	push   0x4(%ebx)
56b034:	ff 73 ec             	push   -0x14(%ebx)
56b037:	57                   	push   %edi
56b038:	e8 43 c5 fb ff       	call   0x527580
56b03d:	83 c4 0c             	add    $0xc,%esp
56b040:	89 43 ec             	mov    %eax,-0x14(%ebx)
56b043:	e9 75 05 00 00       	jmp    0x56b5bd
56b048:	ff 73 04             	push   0x4(%ebx)
56b04b:	6a 00                	push   $0x0
56b04d:	57                   	push   %edi
56b04e:	e8 2d c5 fb ff       	call   0x527580
56b053:	83 c4 0c             	add    $0xc,%esp
56b056:	89 43 04             	mov    %eax,0x4(%ebx)
56b059:	e9 5f 05 00 00       	jmp    0x56b5bd
56b05e:	6a 00                	push   $0x0
56b060:	ff 73 a4             	push   -0x5c(%ebx)
56b063:	8d 43 80             	lea    -0x80(%ebx),%eax
56b066:	6a 00                	push   $0x0
56b068:	ff 73 04             	push   0x4(%ebx)
56b06b:	8d 73 d4             	lea    -0x2c(%ebx),%esi
56b06e:	50                   	push   %eax
56b06f:	ff 73 8c             	push   -0x74(%ebx)
56b072:	ff 73 ec             	push   -0x14(%ebx)
56b075:	6a 00                	push   $0x0
56b077:	56                   	push   %esi
56b078:	6a 00                	push   $0x0
56b07a:	57                   	push   %edi
56b07b:	e8 d0 1a fd ff       	call   0x53cb50
56b080:	83 c4 10             	add    $0x10,%esp
56b083:	50                   	push   %eax
56b084:	8d 43 bc             	lea    -0x44(%ebx),%eax
56b087:	50                   	push   %eax
56b088:	8d 43 b0             	lea    -0x50(%ebx),%eax
56b08b:	50                   	push   %eax
56b08c:	57                   	push   %edi
56b08d:	e8 ce 54 fb ff       	call   0x520560
56b092:	83 c4 2c             	add    $0x2c,%esp
56b095:	80 bf c8 00 00 00 02 	cmpb   $0x2,0xc8(%edi)
56b09c:	0f 82 1b 05 00 00    	jb     0x56b5bd
56b0a2:	8b 87 e8 00 00 00    	mov    0xe8(%edi),%eax
56b0a8:	85 c0                	test   %eax,%eax
56b0aa:	0f 84 0d 05 00 00    	je     0x56b5bd
56b0b0:	56                   	push   %esi
56b0b1:	ff 30                	push   (%eax)
56b0b3:	57                   	push   %edi
56b0b4:	e8 97 cd fc ff       	call   0x537e50
56b0b9:	83 c4 0c             	add    $0xc,%esp
56b0bc:	e9 fc 04 00 00       	jmp    0x56b5bd
56b0c1:	ff 73 04             	push   0x4(%ebx)
56b0c4:	8d 43 ec             	lea    -0x14(%ebx),%eax
56b0c7:	ff 73 f8             	push   -0x8(%ebx)
56b0ca:	50                   	push   %eax
56b0cb:	ff 73 d4             	push   -0x2c(%ebx)
56b0ce:	57                   	push   %edi
56b0cf:	e8 bc 44 fa ff       	call   0x50f590
56b0d4:	83 c4 14             	add    $0x14,%esp
56b0d7:	e9 de 04 00 00       	jmp    0x56b5ba
56b0dc:	ff 73 04             	push   0x4(%ebx)
56b0df:	8d 73 ec             	lea    -0x14(%ebx),%esi
56b0e2:	ff 73 f8             	push   -0x8(%ebx)
56b0e5:	56                   	push   %esi
56b0e6:	6a 00                	push   $0x0
56b0e8:	57                   	push   %edi
56b0e9:	e8 a2 44 fa ff       	call   0x50f590
56b0ee:	83 c4 14             	add    $0x14,%esp
56b0f1:	89 06                	mov    %eax,(%esi)
56b0f3:	e9 c5 04 00 00       	jmp    0x56b5bd
56b0f8:	ff 73 f8             	push   -0x8(%ebx)
56b0fb:	ff 73 04             	push   0x4(%ebx)
56b0fe:	57                   	push   %edi
56b0ff:	e8 6c 74 fb ff       	call   0x522570
56b104:	83 c4 0c             	add    $0xc,%esp
56b107:	e9 b1 04 00 00       	jmp    0x56b5bd
56b10c:	ff 73 04             	push   0x4(%ebx)
56b10f:	6a 00                	push   $0x0
56b111:	57                   	push   %edi
56b112:	e8 b9 66 fd ff       	call   0x5417d0
56b117:	83 c4 0c             	add    $0xc,%esp
56b11a:	e9 9e 04 00 00       	jmp    0x56b5bd
56b11f:	ff 73 04             	push   0x4(%ebx)
56b122:	8d 43 f8             	lea    -0x8(%ebx),%eax
56b125:	50                   	push   %eax
56b126:	57                   	push   %edi
56b127:	e8 a4 66 fd ff       	call   0x5417d0
56b12c:	83 c4 0c             	add    $0xc,%esp
56b12f:	e9 89 04 00 00       	jmp    0x56b5bd
56b134:	6a 00                	push   $0x0
56b136:	6a 00                	push   $0x0
56b138:	8d 43 04             	lea    0x4(%ebx),%eax
56b13b:	50                   	push   %eax
56b13c:	8d 43 f8             	lea    -0x8(%ebx),%eax
56b13f:	50                   	push   %eax
56b140:	57                   	push   %edi
56b141:	e8 8a 97 fc ff       	call   0x5348d0
56b146:	83 c4 14             	add    $0x14,%esp
56b149:	e9 6f 04 00 00       	jmp    0x56b5bd
56b14e:	6a 00                	push   $0x0
56b150:	8d 43 04             	lea    0x4(%ebx),%eax
56b153:	50                   	push   %eax
56b154:	8d 43 ec             	lea    -0x14(%ebx),%eax
56b157:	50                   	push   %eax
56b158:	8d 43 e0             	lea    -0x20(%ebx),%eax
56b15b:	50                   	push   %eax
56b15c:	57                   	push   %edi
56b15d:	e8 6e 97 fc ff       	call   0x5348d0
56b162:	83 c4 14             	add    $0x14,%esp
56b165:	e9 53 04 00 00       	jmp    0x56b5bd
56b16a:	6a 00                	push   $0x0
56b16c:	8d 43 f8             	lea    -0x8(%ebx),%eax
56b16f:	50                   	push   %eax
56b170:	8d 43 e0             	lea    -0x20(%ebx),%eax
56b173:	50                   	push   %eax
56b174:	8d 43 d4             	lea    -0x2c(%ebx),%eax
56b177:	50                   	push   %eax
56b178:	57                   	push   %edi
56b179:	e8 52 97 fc ff       	call   0x5348d0
56b17e:	83 c4 14             	add    $0x14,%esp
56b181:	e9 37 04 00 00       	jmp    0x56b5bd
56b186:	6a 01                	push   $0x1
56b188:	eb c6                	jmp    0x56b150
56b18a:	6a 01                	push   $0x1
56b18c:	8d 43 f8             	lea    -0x8(%ebx),%eax
56b18f:	50                   	push   %eax
56b190:	8d 43 e0             	lea    -0x20(%ebx),%eax
56b193:	50                   	push   %eax
56b194:	8d 43 d4             	lea    -0x2c(%ebx),%eax
56b197:	50                   	push   %eax
56b198:	57                   	push   %edi
56b199:	e8 32 97 fc ff       	call   0x5348d0
56b19e:	83 c4 14             	add    $0x14,%esp
56b1a1:	e9 17 04 00 00       	jmp    0x56b5bd
56b1a6:	8b 43 08             	mov    0x8(%ebx),%eax
56b1a9:	03 43 04             	add    0x4(%ebx),%eax
56b1ac:	8b 4b e0             	mov    -0x20(%ebx),%ecx
56b1af:	2b c1                	sub    %ecx,%eax
56b1b1:	89 45 f8             	mov    %eax,-0x8(%ebp)
56b1b4:	8d 45 f4             	lea    -0xc(%ebp),%eax
56b1b7:	50                   	push   %eax
56b1b8:	ff 73 f8             	push   -0x8(%ebx)
56b1bb:	89 4d f4             	mov    %ecx,-0xc(%ebp)
56b1be:	57                   	push   %edi
56b1bf:	e8 ac db fb ff       	call   0x528d70
56b1c4:	83 c4 0c             	add    $0xc,%esp
56b1c7:	e9 f1 03 00 00       	jmp    0x56b5bd
56b1cc:	ff 73 a4             	push   -0x5c(%ebx)
56b1cf:	8d 73 bc             	lea    -0x44(%ebx),%esi
56b1d2:	ff 73 8c             	push   -0x74(%ebx)
56b1d5:	8d 43 b0             	lea    -0x50(%ebx),%eax
56b1d8:	ff 73 04             	push   0x4(%ebx)
56b1db:	ff 73 ec             	push   -0x14(%ebx)
56b1de:	ff 73 d8             	push   -0x28(%ebx)
56b1e1:	ff 73 d4             	push   -0x2c(%ebx)
56b1e4:	ff 73 c8             	push   -0x38(%ebx)
56b1e7:	56                   	push   %esi
56b1e8:	50                   	push   %eax
56b1e9:	57                   	push   %edi
56b1ea:	e8 31 ec fa ff       	call   0x519e20
56b1ef:	83 c4 28             	add    $0x28,%esp
56b1f2:	83 7b c0 00          	cmpl   $0x0,-0x40(%ebx)
56b1f6:	75 11                	jne    0x56b209
56b1f8:	8b 43 b0             	mov    -0x50(%ebx),%eax
56b1fb:	8b 4b b4             	mov    -0x4c(%ebx),%ecx
56b1fe:	89 43 8c             	mov    %eax,-0x74(%ebx)
56b201:	89 4b 90             	mov    %ecx,-0x70(%ebx)
56b204:	e9 b4 03 00 00       	jmp    0x56b5bd
56b209:	8b 06                	mov    (%esi),%eax
56b20b:	8b 4e 04             	mov    0x4(%esi),%ecx
56b20e:	89 43 8c             	mov    %eax,-0x74(%ebx)
56b211:	89 4b 90             	mov    %ecx,-0x70(%ebx)
56b214:	e9 a4 03 00 00       	jmp    0x56b5bd
56b219:	c7 43 f8 41 00 00 00 	movl   $0x41,-0x8(%ebx)
56b220:	e9 98 03 00 00       	jmp    0x56b5bd
56b225:	c7 43 10 21 00 00 00 	movl   $0x21,0x10(%ebx)
56b22c:	e9 8c 03 00 00       	jmp    0x56b5bd
56b231:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
56b235:	89 43 04             	mov    %eax,0x4(%ebx)
56b238:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
56b23f:	e9 79 03 00 00       	jmp    0x56b5bd
56b244:	8b 43 04             	mov    0x4(%ebx),%eax
56b247:	c7 43 ec 7f 00 00 00 	movl   $0x7f,-0x14(%ebx)
56b24e:	89 43 f0             	mov    %eax,-0x10(%ebx)
56b251:	e9 67 03 00 00       	jmp    0x56b5bd
56b256:	8b 43 ec             	mov    -0x14(%ebx),%eax
56b259:	8b 48 28             	mov    0x28(%eax),%ecx
56b25c:	8b 43 f8             	mov    -0x8(%ebx),%eax
56b25f:	89 41 24             	mov    %eax,0x24(%ecx)