45ea46:	8d 45 e8             	lea    -0x18(%ebp),%eax
45ea49:	50                   	push   %eax
45ea4a:	8b 07                	mov    (%edi),%eax
45ea4c:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
45ea4f:	e8 1e b1 fe ff       	call   0x449b72
45ea54:	ff 75 10             	push   0x10(%ebp)
45ea57:	8d 45 d8             	lea    -0x28(%ebp),%eax
45ea5a:	57                   	push   %edi
45ea5b:	50                   	push   %eax
45ea5c:	6a 01                	push   $0x1
45ea5e:	8b cb                	mov    %ebx,%ecx
45ea60:	e8 7b 5b fb ff       	call   0x4145e0
45ea65:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45ea68:	89 45 0c             	mov    %eax,0xc(%ebp)
45ea6b:	e8 85 ee fb ff       	call   0x41d8f5
45ea70:	eb 55                	jmp    0x45eac7
45ea72:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45ea75:	e8 f2 a8 fa ff       	call   0x40936c
45ea7a:	ff 75 cc             	push   -0x34(%ebp)
45ea7d:	8b cb                	mov    %ebx,%ecx
45ea7f:	e8 26 32 fa ff       	call   0x401caa
45ea84:	85 c0                	test   %eax,%eax
45ea86:	74 3f                	je     0x45eac7
45ea88:	8b 07                	mov    (%edi),%eax
45ea8a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45ea8d:	6a 34                	push   $0x34
45ea8f:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
45ea92:	e8 65 d1 fa ff       	call   0x40bbfc
45ea97:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45ea9a:	e8 cd a8 fa ff       	call   0x40936c
45ea9f:	8b 07                	mov    (%edi),%eax
45eaa1:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45eaa4:	ff 75 cc             	push   -0x34(%ebp)
45eaa7:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
45eaaa:	e8 c5 d1 fa ff       	call   0x40bc74
45eaaf:	8d 45 0f             	lea    0xf(%ebp),%eax
45eab2:	50                   	push   %eax
45eab3:	ff 75 10             	push   0x10(%ebp)
45eab6:	8d 45 d8             	lea    -0x28(%ebp),%eax
45eab9:	57                   	push   %edi
45eaba:	50                   	push   %eax
45eabb:	6a 01                	push   $0x1
45eabd:	8b cb                	mov    %ebx,%ecx
45eabf:	e8 3c 47 fb ff       	call   0x413200
45eac4:	89 45 0c             	mov    %eax,0xc(%ebp)
45eac7:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45eaca:	e8 68 e0 fa ff       	call   0x40cb37
45eacf:	8b 45 0c             	mov    0xc(%ebp),%eax
45ead2:	85 c0                	test   %eax,%eax
45ead4:	79 68                	jns    0x45eb3e
45ead6:	8b 55 dc             	mov    -0x24(%ebp),%edx
45ead9:	8b 07                	mov    (%edi),%eax
45eadb:	6a 7f                	push   $0x7f
45eadd:	8b 04 82             	mov    (%edx,%eax,4),%eax
45eae0:	5a                   	pop    %edx
45eae1:	8b ce                	mov    %esi,%ecx
45eae3:	66 39 50 08          	cmp    %dx,0x8(%eax)
45eae7:	74 31                	je     0x45eb1a
45eae9:	ff 07                	incl   (%edi)
45eaeb:	8b 17                	mov    (%edi),%edx
45eaed:	8b 45 dc             	mov    -0x24(%ebp),%eax
45eaf0:	8b 04 90             	mov    (%eax,%edx,4),%eax
45eaf3:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45eaf7:	66 3b 45 08          	cmp    0x8(%ebp),%ax
45eafb:	75 03                	jne    0x45eb00
45eafd:	41                   	inc    %ecx
45eafe:	eb 07                	jmp    0x45eb07
45eb00:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
45eb04:	75 01                	jne    0x45eb07
45eb06:	49                   	dec    %ecx
45eb07:	85 c9                	test   %ecx,%ecx
45eb09:	78 0a                	js     0x45eb15
45eb0b:	6a 7f                	push   $0x7f
45eb0d:	5a                   	pop    %edx
45eb0e:	66 3b c2             	cmp    %dx,%ax
45eb11:	75 d6                	jne    0x45eae9
45eb13:	eb 05                	jmp    0x45eb1a
45eb15:	8d 42 01             	lea    0x1(%edx),%eax
45eb18:	89 07                	mov    %eax,(%edi)
45eb1a:	8b 03                	mov    (%ebx),%eax
45eb1c:	56                   	push   %esi
45eb1d:	8b 48 04             	mov    0x4(%eax),%ecx
45eb20:	68 ad de 00 00       	push   $0xdead
45eb25:	03 cb                	add    %ebx,%ecx
45eb27:	e8 20 e4 fe ff       	call   0x44cf4c
45eb2c:	8b 03                	mov    (%ebx),%eax
45eb2e:	56                   	push   %esi
45eb2f:	8b 48 04             	mov    0x4(%eax),%ecx
45eb32:	68 ef be 00 00       	push   $0xbeef
45eb37:	03 cb                	add    %ebx,%ecx
45eb39:	e8 e3 47 fa ff       	call   0x403321
45eb3e:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45eb41:	e8 da 40 fb ff       	call   0x412c20
45eb46:	8d 4d d8             	lea    -0x28(%ebp),%ecx
45eb49:	e8 c3 63 fa ff       	call   0x404f11
45eb4e:	8b c6                	mov    %esi,%eax
45eb50:	5f                   	pop    %edi
45eb51:	5e                   	pop    %esi
45eb52:	5b                   	pop    %ebx
45eb53:	c9                   	leave
45eb54:	c2 0c 00             	ret    $0xc
45eb57:	55                   	push   %ebp
45eb58:	8b ec                	mov    %esp,%ebp
45eb5a:	56                   	push   %esi
45eb5b:	8b f1                	mov    %ecx,%esi
45eb5d:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
45eb61:	74 11                	je     0x45eb74
45eb63:	ff 75 08             	push   0x8(%ebp)
45eb66:	8b 4e 04             	mov    0x4(%esi),%ecx
45eb69:	e8 40 f1 fa ff       	call   0x40dcae
45eb6e:	c6 46 09 00          	movb   $0x0,0x9(%esi)
45eb72:	eb 2b                	jmp    0x45eb9f
45eb74:	57                   	push   %edi
45eb75:	6a 18                	push   $0x18
45eb77:	e8 6e 09 fc ff       	call   0x41f4ea
45eb7c:	8b f8                	mov    %eax,%edi
45eb7e:	59                   	pop    %ecx
45eb7f:	85 ff                	test   %edi,%edi
45eb81:	74 10                	je     0x45eb93
45eb83:	ff 75 08             	push   0x8(%ebp)
45eb86:	83 67 08 00          	andl   $0x0,0x8(%edi)
45eb8a:	8b cf                	mov    %edi,%ecx
45eb8c:	e8 8f 2b fb ff       	call   0x411720
45eb91:	eb 02                	jmp    0x45eb95
45eb93:	33 ff                	xor    %edi,%edi
45eb95:	8b 46 04             	mov    0x4(%esi),%eax
45eb98:	89 47 10             	mov    %eax,0x10(%edi)
45eb9b:	89 7e 04             	mov    %edi,0x4(%esi)
45eb9e:	5f                   	pop    %edi
45eb9f:	ff 06                	incl   (%esi)
45eba1:	5e                   	pop    %esi
45eba2:	5d                   	pop    %ebp
45eba3:	c2 04 00             	ret    $0x4
45eba6:	80 79 09 00          	cmpb   $0x0,0x9(%ecx)
45ebaa:	8b 41 04             	mov    0x4(%ecx),%eax
45ebad:	74 03                	je     0x45ebb2
45ebaf:	8b 40 10             	mov    0x10(%eax),%eax
45ebb2:	c3                   	ret
45ebb3:	56                   	push   %esi
45ebb4:	8b f1                	mov    %ecx,%esi
45ebb6:	e8 fb 00 00 00       	call   0x45ecb6
45ebbb:	84 c0                	test   %al,%al
45ebbd:	74 05                	je     0x45ebc4
45ebbf:	8b 46 08             	mov    0x8(%esi),%eax
45ebc2:	5e                   	pop    %esi
45ebc3:	c3                   	ret
45ebc4:	b8 43 ca 44 00       	mov    $0x44ca43,%eax
45ebc9:	5e                   	pop    %esi
45ebca:	c3                   	ret
45ebcb:	55                   	push   %ebp
45ebcc:	8b ec                	mov    %esp,%ebp
45ebce:	81 ec 24 01 00 00    	sub    $0x124,%esp
45ebd4:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
45ebd8:	75 07                	jne    0x45ebe1
45ebda:	68 00 dc 49 00       	push   $0x49dc00
45ebdf:	eb 36                	jmp    0x45ec17
45ebe1:	8d 45 dc             	lea    -0x24(%ebp),%eax
45ebe4:	50                   	push   %eax
45ebe5:	e8 59 00 00 00       	call   0x45ec43
45ebea:	8d 45 dc             	lea    -0x24(%ebp),%eax
45ebed:	50                   	push   %eax
45ebee:	ff 75 0c             	push   0xc(%ebp)
45ebf1:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
45ebf7:	68 80 00 00 00       	push   $0x80
45ebfc:	50                   	push   %eax
45ebfd:	e8 de 71 fc ff       	call   0x425de0
45ec02:	83 c4 10             	add    $0x10,%esp
45ec05:	85 c0                	test   %eax,%eax
45ec07:	75 07                	jne    0x45ec10
45ec09:	66 89 85 dc fe ff ff 	mov    %ax,-0x124(%ebp)
45ec10:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
45ec16:	50                   	push   %eax
45ec17:	8b 4d 08             	mov    0x8(%ebp),%ecx
45ec1a:	e8 fa e1 fa ff       	call   0x40ce19
45ec1f:	8b 45 08             	mov    0x8(%ebp),%eax
45ec22:	c9                   	leave
45ec23:	c2 08 00             	ret    $0x8
45ec26:	55                   	push   %ebp
45ec27:	8b ec                	mov    %esp,%ebp
45ec29:	83 ec 24             	sub    $0x24,%esp
45ec2c:	8d 45 dc             	lea    -0x24(%ebp),%eax
45ec2f:	50                   	push   %eax
45ec30:	e8 0e 00 00 00       	call   0x45ec43
45ec35:	85 c0                	test   %eax,%eax
45ec37:	74 06                	je     0x45ec3f
45ec39:	8b 40 18             	mov    0x18(%eax),%eax
45ec3c:	40                   	inc    %eax
45ec3d:	c9                   	leave
45ec3e:	c3                   	ret
45ec3f:	33 c0                	xor    %eax,%eax
45ec41:	c9                   	leave
45ec42:	c3                   	ret
45ec43:	55                   	push   %ebp
45ec44:	8b ec                	mov    %esp,%ebp
45ec46:	83 ec 24             	sub    $0x24,%esp
45ec49:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
45ec4d:	75 0a                	jne    0x45ec59
45ec4f:	b9 05 40 00 80       	mov    $0x80004005,%ecx
45ec54:	e8 4a ae fd ff       	call   0x439aa3
45ec59:	51                   	push   %ecx
45ec5a:	8d 45 dc             	lea    -0x24(%ebp),%eax
45ec5d:	50                   	push   %eax
45ec5e:	e8 ab 63 fc ff       	call   0x42500e
45ec63:	59                   	pop    %ecx
45ec64:	59                   	pop    %ecx
45ec65:	85 c0                	test   %eax,%eax
45ec67:	74 04                	je     0x45ec6d
45ec69:	33 c0                	xor    %eax,%eax
45ec6b:	eb 12                	jmp    0x45ec7f
45ec6d:	8b 45 08             	mov    0x8(%ebp),%eax
45ec70:	56                   	push   %esi
45ec71:	57                   	push   %edi
45ec72:	8b 7d 08             	mov    0x8(%ebp),%edi
45ec75:	6a 09                	push   $0x9
45ec77:	59                   	pop    %ecx
45ec78:	8d 75 dc             	lea    -0x24(%ebp),%esi
45ec7b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
45ec7d:	5f                   	pop    %edi
45ec7e:	5e                   	pop    %esi
45ec7f:	c9                   	leave
45ec80:	c2 04 00             	ret    $0x4
45ec83:	56                   	push   %esi
45ec84:	6a 00                	push   $0x0
45ec86:	8b f1                	mov    %ecx,%esi
45ec88:	e8 bd 47 fc ff       	call   0x42344a
45ec8d:	89 06                	mov    %eax,(%esi)
45ec8f:	59                   	pop    %ecx
45ec90:	89 56 04             	mov    %edx,0x4(%esi)
45ec93:	8b c6                	mov    %esi,%eax
45ec95:	5e                   	pop    %esi
45ec96:	c3                   	ret
45ec97:	55                   	push   %ebp
45ec98:	8b ec                	mov    %esp,%ebp
45ec9a:	51                   	push   %ecx
45ec9b:	51                   	push   %ecx
45ec9c:	56                   	push   %esi
45ec9d:	8b f1                	mov    %ecx,%esi
45ec9f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
45eca2:	e8 dc ff ff ff       	call   0x45ec83
45eca7:	8b 10                	mov    (%eax),%edx
45eca9:	8b 40 04             	mov    0x4(%eax),%eax
45ecac:	89 46 04             	mov    %eax,0x4(%esi)
45ecaf:	89 16                	mov    %edx,(%esi)
45ecb1:	8b c6                	mov    %esi,%eax
45ecb3:	5e                   	pop    %esi
45ecb4:	c9                   	leave
45ecb5:	c3                   	ret
45ecb6:	56                   	push   %esi
45ecb7:	8b f1                	mov    %ecx,%esi
45ecb9:	e8 0a 00 00 00       	call   0x45ecc8
45ecbe:	33 c0                	xor    %eax,%eax
45ecc0:	39 46 08             	cmp    %eax,0x8(%esi)
45ecc3:	5e                   	pop    %esi
45ecc4:	0f 95 c0             	setne  %al
45ecc7:	c3                   	ret
45ecc8:	56                   	push   %esi
45ecc9:	8b f1                	mov    %ecx,%esi
45eccb:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
45eccf:	75 20                	jne    0x45ecf1
45ecd1:	68 24 2e 4b 00       	push   $0x4b2e24
45ecd6:	ff 15 8c d1 48 00    	call   *0x48d18c
45ecdc:	89 06                	mov    %eax,(%esi)
45ecde:	85 c0                	test   %eax,%eax
45ece0:	74 0f                	je     0x45ecf1
45ece2:	68 9c 44 4b 00       	push   $0x4b449c
45ece7:	50                   	push   %eax
45ece8:	ff 15 90 d1 48 00    	call   *0x48d190
45ecee:	89 46 08             	mov    %eax,0x8(%esi)
45ecf1:	5e                   	pop    %esi
45ecf2:	c3                   	ret
45ecf3:	55                   	push   %ebp
45ecf4:	8b ec                	mov    %esp,%ebp
45ecf6:	53                   	push   %ebx
45ecf7:	8b 5d 10             	mov    0x10(%ebp),%ebx
45ecfa:	56                   	push   %esi
45ecfb:	57                   	push   %edi
45ecfc:	8b 7d 0c             	mov    0xc(%ebp),%edi
45ecff:	33 c9                	xor    %ecx,%ecx
45ed01:	8b 45 08             	mov    0x8(%ebp),%eax
45ed04:	8b 37                	mov    (%edi),%esi
45ed06:	8b 40 04             	mov    0x4(%eax),%eax
45ed09:	6a 35                	push   $0x35
45ed0b:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45ed0e:	0f b7 50 08          	movzwl 0x8(%eax),%edx
45ed12:	58                   	pop    %eax
45ed13:	66 3b d0             	cmp    %ax,%dx
45ed16:	75 11                	jne    0x45ed29
45ed18:	8d 46 01             	lea    0x1(%esi),%eax
45ed1b:	89 07                	mov    %eax,(%edi)
45ed1d:	85 c9                	test   %ecx,%ecx
45ed1f:	75 e0                	jne    0x45ed01
45ed21:	85 db                	test   %ebx,%ebx
45ed23:	74 dc                	je     0x45ed01
45ed25:	88 0b                	mov    %cl,(%ebx)
45ed27:	eb d8                	jmp    0x45ed01
45ed29:	66 83 fa 47          	cmp    $0x47,%dx
45ed2d:	75 03                	jne    0x45ed32
45ed2f:	41                   	inc    %ecx
45ed30:	eb 2b                	jmp    0x45ed5d
45ed32:	6a 48                	push   $0x48
45ed34:	58                   	pop    %eax
45ed35:	66 3b d0             	cmp    %ax,%dx
45ed38:	75 1d                	jne    0x45ed57
45ed3a:	85 c9                	test   %ecx,%ecx
45ed3c:	75 16                	jne    0x45ed54
45ed3e:	8b 5d 08             	mov    0x8(%ebp),%ebx
45ed41:	6a 35                	push   $0x35
45ed43:	8b 43 04             	mov    0x4(%ebx),%eax
45ed46:	5b                   	pop    %ebx
45ed47:	8b 44 b0 04          	mov    0x4(%eax,%esi,4),%eax
45ed4b:	66 39 58 08          	cmp    %bx,0x8(%eax)
45ed4f:	8b 5d 10             	mov    0x10(%ebp),%ebx
45ed52:	75 32                	jne    0x45ed86
45ed54:	49                   	dec    %ecx
45ed55:	eb 06                	jmp    0x45ed5d
45ed57:	66 83 fa 7f          	cmp    $0x7f,%dx
45ed5b:	74 29                	je     0x45ed86
45ed5d:	46                   	inc    %esi
45ed5e:	89 37                	mov    %esi,(%edi)
45ed60:	85 c9                	test   %ecx,%ecx
45ed62:	7f 9d                	jg     0x45ed01
45ed64:	8b 5d 08             	mov    0x8(%ebp),%ebx
45ed67:	6a 35                	push   $0x35
45ed69:	8b 43 04             	mov    0x4(%ebx),%eax
45ed6c:	5b                   	pop    %ebx
45ed6d:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45ed70:	66 39 58 08          	cmp    %bx,0x8(%eax)
45ed74:	8b 5d 10             	mov    0x10(%ebp),%ebx
45ed77:	74 88                	je     0x45ed01
45ed79:	6a 48                	push   $0x48
45ed7b:	58                   	pop    %eax
45ed7c:	66 3b d0             	cmp    %ax,%dx
45ed7f:	74 05                	je     0x45ed86
45ed81:	8d 46 ff             	lea    -0x1(%esi),%eax
45ed84:	89 07                	mov    %eax,(%edi)
45ed86:	5f                   	pop    %edi
45ed87:	5e                   	pop    %esi
45ed88:	5b                   	pop    %ebx
45ed89:	5d                   	pop    %ebp
45ed8a:	c2 0c 00             	ret    $0xc
45ed8d:	55                   	push   %ebp
45ed8e:	8b ec                	mov    %esp,%ebp
45ed90:	83 ec 1c             	sub    $0x1c,%esp
45ed93:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45ed96:	53                   	push   %ebx
45ed97:	8b 5d 18             	mov    0x18(%ebp),%ebx
45ed9a:	56                   	push   %esi
45ed9b:	8b 44 8b fc          	mov    -0x4(%ebx,%ecx,4),%eax
45ed9f:	57                   	push   %edi
45eda0:	33 ff                	xor    %edi,%edi