56ac63:	6a 00                	push   $0x0
56ac65:	50                   	push   %eax
56ac66:	6a 13                	push   $0x13
56ac68:	57                   	push   %edi
56ac69:	e8 a2 73 fc ff       	call   0x532010
56ac6e:	83 c4 10             	add    $0x10,%esp
56ac71:	89 43 ec             	mov    %eax,-0x14(%ebx)
56ac74:	8b 43 ec             	mov    -0x14(%ebx),%eax
56ac77:	85 c0                	test   %eax,%eax
56ac79:	0f 84 3e 09 00 00    	je     0x56b5bd
56ac7f:	81 48 04 80 00 00 00 	orl    $0x80,0x4(%eax)
56ac86:	e9 32 09 00 00       	jmp    0x56b5bd
56ac8b:	ff 73 ec             	push   -0x14(%ebx)
56ac8e:	8b 73 e4             	mov    -0x1c(%ebx),%esi
56ac91:	8b c6                	mov    %esi,%eax
56ac93:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
56ac98:	6a 00                	push   $0x0
56ac9a:	57                   	push   %edi
56ac9b:	89 43 e4             	mov    %eax,-0x1c(%ebx)
56ac9e:	e8 dd c8 fb ff       	call   0x527580
56aca3:	ff 73 d4             	push   -0x2c(%ebx)
56aca6:	50                   	push   %eax
56aca7:	57                   	push   %edi
56aca8:	e8 d3 c8 fb ff       	call   0x527580
56acad:	ff 73 04             	push   0x4(%ebx)
56acb0:	50                   	push   %eax
56acb1:	57                   	push   %edi
56acb2:	e8 c9 c8 fb ff       	call   0x527580
56acb7:	6a 00                	push   $0x0
56acb9:	8d 4b e0             	lea    -0x20(%ebx),%ecx
56acbc:	51                   	push   %ecx
56acbd:	50                   	push   %eax
56acbe:	57                   	push   %edi
56acbf:	e8 9c bc fb ff       	call   0x526960
56acc4:	83 c4 34             	add    $0x34,%esp
56acc7:	89 43 d4             	mov    %eax,-0x2c(%ebx)
56acca:	85 f6                	test   %esi,%esi
56accc:	79 11                	jns    0x56acdf
56acce:	6a 00                	push   $0x0
56acd0:	50                   	push   %eax
56acd1:	6a 13                	push   $0x13
56acd3:	57                   	push   %edi
56acd4:	e8 37 73 fc ff       	call   0x532010
56acd9:	83 c4 10             	add    $0x10,%esp
56acdc:	89 43 d4             	mov    %eax,-0x2c(%ebx)
56acdf:	8b 43 d4             	mov    -0x2c(%ebx),%eax
56ace2:	85 c0                	test   %eax,%eax
56ace4:	0f 84 d3 08 00 00    	je     0x56b5bd
56acea:	81 48 04 80 00 00 00 	orl    $0x80,0x4(%eax)
56acf1:	e9 c7 08 00 00       	jmp    0x56b5bd
56acf6:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
56acfa:	6a 00                	push   $0x0
56acfc:	ff 73 f8             	push   -0x8(%ebx)
56acff:	50                   	push   %eax
56ad00:	57                   	push   %edi
56ad01:	e8 0a 73 fc ff       	call   0x532010
56ad06:	83 c4 10             	add    $0x10,%esp
56ad09:	89 43 f8             	mov    %eax,-0x8(%ebx)
56ad0c:	e9 ac 08 00 00       	jmp    0x56b5bd
56ad11:	6a 00                	push   $0x0
56ad13:	ff 73 ec             	push   -0x14(%ebx)
56ad16:	6a 33                	push   $0x33
56ad18:	57                   	push   %edi
56ad19:	e8 f2 72 fc ff       	call   0x532010
56ad1e:	83 c4 10             	add    $0x10,%esp
56ad21:	89 43 ec             	mov    %eax,-0x14(%ebx)
56ad24:	e9 94 08 00 00       	jmp    0x56b5bd
56ad29:	ff 73 04             	push   0x4(%ebx)
56ad2c:	ff 73 ec             	push   -0x14(%ebx)
56ad2f:	6a 2d                	push   $0x2d
56ad31:	57                   	push   %edi
56ad32:	e8 d9 72 fc ff       	call   0x532010
56ad37:	6a 32                	push   $0x32
56ad39:	50                   	push   %eax
56ad3a:	ff 73 04             	push   0x4(%ebx)
56ad3d:	89 43 ec             	mov    %eax,-0x14(%ebx)
56ad40:	57                   	push   %edi
56ad41:	e8 6a b1 f8 ff       	call   0x4f5eb0
56ad46:	83 c4 20             	add    $0x20,%esp
56ad49:	e9 6f 08 00 00       	jmp    0x56b5bd
56ad4e:	ff 73 04             	push   0x4(%ebx)
56ad51:	ff 73 e0             	push   -0x20(%ebx)
56ad54:	68 a8 00 00 00       	push   $0xa8
56ad59:	57                   	push   %edi
56ad5a:	e8 b1 72 fc ff       	call   0x532010
56ad5f:	6a 33                	push   $0x33
56ad61:	50                   	push   %eax
56ad62:	ff 73 04             	push   0x4(%ebx)
56ad65:	89 43 e0             	mov    %eax,-0x20(%ebx)
56ad68:	57                   	push   %edi
56ad69:	e8 42 b1 f8 ff       	call   0x4f5eb0
56ad6e:	83 c4 20             	add    $0x20,%esp
56ad71:	e9 47 08 00 00       	jmp    0x56b5bd
56ad76:	0f b7 43 f6          	movzwl -0xa(%ebx),%eax
56ad7a:	6a 00                	push   $0x0
56ad7c:	ff 73 04             	push   0x4(%ebx)
56ad7f:	50                   	push   %eax
56ad80:	57                   	push   %edi
56ad81:	e8 8a 72 fc ff       	call   0x532010
56ad86:	83 c4 10             	add    $0x10,%esp
56ad89:	89 43 f8             	mov    %eax,-0x8(%ebx)
56ad8c:	e9 2c 08 00 00       	jmp    0x56b5bd
56ad91:	33 c0                	xor    %eax,%eax
56ad93:	66 83 7b f6 69       	cmpw   $0x69,-0xa(%ebx)
56ad98:	6a 00                	push   $0x0
56ad9a:	ff 73 04             	push   0x4(%ebx)
56ad9d:	0f 94 c0             	sete   %al
56ada0:	05 aa 00 00 00       	add    $0xaa,%eax
56ada5:	50                   	push   %eax
56ada6:	57                   	push   %edi
56ada7:	e8 64 72 fc ff       	call   0x532010
56adac:	83 c4 10             	add    $0x10,%esp
56adaf:	89 43 f8             	mov    %eax,-0x8(%ebx)
56adb2:	e9 06 08 00 00       	jmp    0x56b5bd
56adb7:	ff 73 ec             	push   -0x14(%ebx)
56adba:	6a 00                	push   $0x0
56adbc:	57                   	push   %edi
56adbd:	e8 be c7 fb ff       	call   0x527580
56adc2:	ff 73 04             	push   0x4(%ebx)
56adc5:	50                   	push   %eax
56adc6:	57                   	push   %edi
56adc7:	e8 b4 c7 fb ff       	call   0x527580
56adcc:	6a 00                	push   $0x0
56adce:	ff 73 d4             	push   -0x2c(%ebx)
56add1:	8b f0                	mov    %eax,%esi
56add3:	6a 30                	push   $0x30
56add5:	57                   	push   %edi
56add6:	e8 35 72 fc ff       	call   0x532010
56addb:	83 c4 28             	add    $0x28,%esp
56adde:	89 43 d4             	mov    %eax,-0x2c(%ebx)
56ade1:	85 c0                	test   %eax,%eax
56ade3:	74 05                	je     0x56adea
56ade5:	89 70 14             	mov    %esi,0x14(%eax)
56ade8:	eb 0f                	jmp    0x56adf9
56adea:	85 f6                	test   %esi,%esi
56adec:	74 0b                	je     0x56adf9
56adee:	56                   	push   %esi
56adef:	ff 37                	push   (%edi)
56adf1:	e8 0a 62 f9 ff       	call   0x501000
56adf6:	83 c4 08             	add    $0x8,%esp
56adf9:	83 7b e0 00          	cmpl   $0x0,-0x20(%ebx)
56adfd:	0f 84 ba 07 00 00    	je     0x56b5bd
56ae03:	6a 00                	push   $0x0
56ae05:	ff 73 d4             	push   -0x2c(%ebx)
56ae08:	6a 13                	push   $0x13
56ae0a:	57                   	push   %edi
56ae0b:	e8 00 72 fc ff       	call   0x532010
56ae10:	83 c4 10             	add    $0x10,%esp
56ae13:	e9 a2 07 00 00       	jmp    0x56b5ba
56ae18:	83 7b f8 00          	cmpl   $0x0,-0x8(%ebx)
56ae1c:	75 2f                	jne    0x56ae4d
56ae1e:	ff 73 d4             	push   -0x2c(%ebx)
56ae21:	57                   	push   %edi
56ae22:	e8 99 cf fb ff       	call   0x527dc0
56ae27:	83 7b e0 00          	cmpl   $0x0,-0x20(%ebx)
56ae2b:	b9 9c 9b 6a 00       	mov    $0x6a9b9c,%ecx
56ae30:	b8 64 9c 6a 00       	mov    $0x6a9c64,%eax
56ae35:	0f 44 c1             	cmove  %ecx,%eax
56ae38:	50                   	push   %eax
56ae39:	68 98 00 00 00       	push   $0x98
56ae3e:	ff 37                	push   (%edi)
56ae40:	e8 7b 86 fb ff       	call   0x5234c0
56ae45:	83 c4 14             	add    $0x14,%esp
56ae48:	e9 6d 07 00 00       	jmp    0x56b5ba
56ae4d:	6a 00                	push   $0x0
56ae4f:	ff 73 d4             	push   -0x2c(%ebx)
56ae52:	6a 31                	push   $0x31
56ae54:	57                   	push   %edi
56ae55:	e8 b6 71 fc ff       	call   0x532010
56ae5a:	83 c4 10             	add    $0x10,%esp
56ae5d:	89 43 d4             	mov    %eax,-0x2c(%ebx)
56ae60:	85 c0                	test   %eax,%eax
56ae62:	74 11                	je     0x56ae75
56ae64:	8b 4b f8             	mov    -0x8(%ebx),%ecx
56ae67:	89 48 14             	mov    %ecx,0x14(%eax)
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