45bb32:	8b 4e 08             	mov    0x8(%esi),%ecx
45bb35:	c7 06 40 98 4b 00    	movl   $0x4b9840,(%esi)
45bb3b:	85 c9                	test   %ecx,%ecx
45bb3d:	74 0a                	je     0x45bb49
45bb3f:	8b 01                	mov    (%ecx),%eax
45bb41:	51                   	push   %ecx
45bb42:	ff 50 08             	call   *0x8(%eax)
45bb45:	83 66 08 00          	andl   $0x0,0x8(%esi)
45bb49:	56                   	push   %esi
45bb4a:	e8 1d 55 fc ff       	call   0x42106c
45bb4f:	59                   	pop    %ecx
45bb50:	8b c6                	mov    %esi,%eax
45bb52:	5e                   	pop    %esi
45bb53:	c2 04 00             	ret    $0x4
45bb56:	55                   	push   %ebp
45bb57:	8b ec                	mov    %esp,%ebp
45bb59:	53                   	push   %ebx
45bb5a:	56                   	push   %esi
45bb5b:	57                   	push   %edi
45bb5c:	8b 7d 08             	mov    0x8(%ebp),%edi
45bb5f:	33 db                	xor    %ebx,%ebx
45bb61:	8b 47 04             	mov    0x4(%edi),%eax
45bb64:	8b 00                	mov    (%eax),%eax
45bb66:	85 c0                	test   %eax,%eax
45bb68:	74 03                	je     0x45bb6d
45bb6a:	88 58 18             	mov    %bl,0x18(%eax)
45bb6d:	8b 45 0c             	mov    0xc(%ebp),%eax
45bb70:	85 c0                	test   %eax,%eax
45bb72:	74 07                	je     0x45bb7b
45bb74:	8d 77 08             	lea    0x8(%edi),%esi
45bb77:	89 06                	mov    %eax,(%esi)
45bb79:	eb 31                	jmp    0x45bbac
45bb7b:	8b 47 04             	mov    0x4(%edi),%eax
45bb7e:	8d 55 08             	lea    0x8(%ebp),%edx
45bb81:	52                   	push   %edx
45bb82:	68 4c 2d 49 00       	push   $0x492d4c
45bb87:	8b 40 0c             	mov    0xc(%eax),%eax
45bb8a:	50                   	push   %eax
45bb8b:	8b 08                	mov    (%eax),%ecx
45bb8d:	ff 11                	call   *(%ecx)
45bb8f:	85 c0                	test   %eax,%eax
45bb91:	78 67                	js     0x45bbfa
45bb93:	8b 45 08             	mov    0x8(%ebp),%eax
45bb96:	8d 77 08             	lea    0x8(%edi),%esi
45bb99:	56                   	push   %esi
45bb9a:	53                   	push   %ebx
45bb9b:	53                   	push   %ebx
45bb9c:	8b 08                	mov    (%eax),%ecx
45bb9e:	53                   	push   %ebx
45bb9f:	50                   	push   %eax
45bba0:	ff 51 0c             	call   *0xc(%ecx)
45bba3:	8b 45 08             	mov    0x8(%ebp),%eax
45bba6:	50                   	push   %eax
45bba7:	8b 08                	mov    (%eax),%ecx
45bba9:	ff 51 08             	call   *0x8(%ecx)
45bbac:	8b 06                	mov    (%esi),%eax
45bbae:	50                   	push   %eax
45bbaf:	8b 08                	mov    (%eax),%ecx
45bbb1:	ff 51 04             	call   *0x4(%ecx)
45bbb4:	8b 0e                	mov    (%esi),%ecx
45bbb6:	8b 47 04             	mov    0x4(%edi),%eax
45bbb9:	8b 11                	mov    (%ecx),%edx
45bbbb:	ff 70 30             	push   0x30(%eax)
45bbbe:	51                   	push   %ecx
45bbbf:	ff 52 0c             	call   *0xc(%edx)
45bbc2:	85 c0                	test   %eax,%eax
45bbc4:	78 34                	js     0x45bbfa
45bbc6:	8b 06                	mov    (%esi),%eax
45bbc8:	6a 01                	push   $0x1
45bbca:	50                   	push   %eax
45bbcb:	8b 08                	mov    (%eax),%ecx
45bbcd:	ff 51 28             	call   *0x28(%ecx)
45bbd0:	8b 0e                	mov    (%esi),%ecx
45bbd2:	8b 47 04             	mov    0x4(%edi),%eax
45bbd5:	83 c0 10             	add    $0x10,%eax
45bbd8:	50                   	push   %eax
45bbd9:	8b 11                	mov    (%ecx),%edx
45bbdb:	51                   	push   %ecx
45bbdc:	ff 52 18             	call   *0x18(%edx)
45bbdf:	8b 06                	mov    (%esi),%eax
45bbe1:	6a 01                	push   $0x1
45bbe3:	50                   	push   %eax
45bbe4:	8b 08                	mov    (%eax),%ecx
45bbe6:	ff 51 24             	call   *0x24(%ecx)
45bbe9:	8b 47 04             	mov    0x4(%edi),%eax
45bbec:	8b 00                	mov    (%eax),%eax
45bbee:	85 c0                	test   %eax,%eax
45bbf0:	74 04                	je     0x45bbf6
45bbf2:	c6 40 18 01          	movb   $0x1,0x18(%eax)
45bbf6:	33 c0                	xor    %eax,%eax
45bbf8:	eb 05                	jmp    0x45bbff
45bbfa:	b8 05 40 00 80       	mov    $0x80004005,%eax
45bbff:	5f                   	pop    %edi
45bc00:	5e                   	pop    %esi
45bc01:	5b                   	pop    %ebx
45bc02:	5d                   	pop    %ebp
45bc03:	c2 08 00             	ret    $0x8
45bc06:	55                   	push   %ebp
45bc07:	8b ec                	mov    %esp,%ebp
45bc09:	51                   	push   %ecx
45bc0a:	56                   	push   %esi
45bc0b:	57                   	push   %edi
45bc0c:	8b f9                	mov    %ecx,%edi
45bc0e:	33 f6                	xor    %esi,%esi
45bc10:	39 77 14             	cmp    %esi,0x14(%edi)
45bc13:	74 35                	je     0x45bc4a
45bc15:	6a 40                	push   $0x40
45bc17:	e8 da 53 fc ff       	call   0x420ff6
45bc1c:	59                   	pop    %ecx
45bc1d:	85 c0                	test   %eax,%eax
45bc1f:	74 13                	je     0x45bc34
45bc21:	ff 75 10             	push   0x10(%ebp)
45bc24:	8b c8                	mov    %eax,%ecx
45bc26:	ff 75 0c             	push   0xc(%ebp)
45bc29:	ff 75 08             	push   0x8(%ebp)
45bc2c:	57                   	push   %edi
45bc2d:	e8 84 fb ff ff       	call   0x45b7b6
45bc32:	8b f0                	mov    %eax,%esi
45bc34:	85 f6                	test   %esi,%esi
45bc36:	74 12                	je     0x45bc4a
45bc38:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
45bc3c:	74 04                	je     0x45bc42
45bc3e:	8b c6                	mov    %esi,%eax
45bc40:	eb 0a                	jmp    0x45bc4c
45bc42:	51                   	push   %ecx
45bc43:	8b ce                	mov    %esi,%ecx
45bc45:	e8 d0 fe ff ff       	call   0x45bb1a
45bc4a:	33 c0                	xor    %eax,%eax
45bc4c:	5f                   	pop    %edi
45bc4d:	5e                   	pop    %esi
45bc4e:	59                   	pop    %ecx
45bc4f:	5d                   	pop    %ebp
45bc50:	c2 0c 00             	ret    $0xc
45bc53:	55                   	push   %ebp
45bc54:	8b ec                	mov    %esp,%ebp
45bc56:	83 ec 0c             	sub    $0xc,%esp
45bc59:	89 4d fc             	mov    %ecx,-0x4(%ebp)
45bc5c:	8b c2                	mov    %edx,%eax
45bc5e:	89 45 f8             	mov    %eax,-0x8(%ebp)
45bc61:	85 c9                	test   %ecx,%ecx
45bc63:	75 0a                	jne    0x45bc6f
45bc65:	68 03 40 00 80       	push   $0x80004003
45bc6a:	e8 c2 b9 ff ff       	call   0x457631
45bc6f:	85 c0                	test   %eax,%eax
45bc71:	74 f2                	je     0x45bc65
45bc73:	53                   	push   %ebx
45bc74:	56                   	push   %esi
45bc75:	57                   	push   %edi
45bc76:	6a 00                	push   $0x0
45bc78:	ff 15 28 f6 48 00    	call   *0x48f628
45bc7e:	8b 35 d4 f0 48 00    	mov    0x48f0d4,%esi
45bc84:	8b d8                	mov    %eax,%ebx
45bc86:	6a 58                	push   $0x58
45bc88:	53                   	push   %ebx
45bc89:	ff d6                	call   *%esi
45bc8b:	6a 5a                	push   $0x5a
45bc8d:	53                   	push   %ebx
45bc8e:	8b f8                	mov    %eax,%edi
45bc90:	ff d6                	call   *%esi
45bc92:	53                   	push   %ebx
45bc93:	6a 00                	push   $0x0
45bc95:	89 45 f4             	mov    %eax,-0xc(%ebp)
45bc98:	ff 15 24 f6 48 00    	call   *0x48f624
45bc9e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
45bca1:	8b 35 88 f1 48 00    	mov    0x48f188,%esi
45bca7:	57                   	push   %edi
45bca8:	ff 33                	push   (%ebx)
45bcaa:	68 ec 09 00 00       	push   $0x9ec
45bcaf:	ff d6                	call   *%esi
45bcb1:	ff 75 f4             	push   -0xc(%ebp)
45bcb4:	8b 7d f8             	mov    -0x8(%ebp),%edi
45bcb7:	ff 73 04             	push   0x4(%ebx)
45bcba:	68 ec 09 00 00       	push   $0x9ec
45bcbf:	89 07                	mov    %eax,(%edi)
45bcc1:	ff d6                	call   *%esi
45bcc3:	89 47 04             	mov    %eax,0x4(%edi)
45bcc6:	5f                   	pop    %edi
45bcc7:	5e                   	pop    %esi
45bcc8:	5b                   	pop    %ebx
45bcc9:	8b e5                	mov    %ebp,%esp
45bccb:	5d                   	pop    %ebp
45bccc:	c3                   	ret
45bccd:	55                   	push   %ebp
45bcce:	8b ec                	mov    %esp,%ebp
45bcd0:	51                   	push   %ecx
45bcd1:	51                   	push   %ecx
45bcd2:	53                   	push   %ebx
45bcd3:	56                   	push   %esi
45bcd4:	8b f1                	mov    %ecx,%esi
45bcd6:	33 db                	xor    %ebx,%ebx
45bcd8:	89 5d f8             	mov    %ebx,-0x8(%ebp)
45bcdb:	89 5d fc             	mov    %ebx,-0x4(%ebp)
45bcde:	8b 56 0c             	mov    0xc(%esi),%edx
45bce1:	85 d2                	test   %edx,%edx
45bce3:	0f 84 d2 00 00 00    	je     0x45bdbb
45bce9:	8b 0a                	mov    (%edx),%ecx
45bceb:	8d 46 10             	lea    0x10(%esi),%eax
45bcee:	50                   	push   %eax
45bcef:	8b 06                	mov    (%esi),%eax
45bcf1:	ff 70 14             	push   0x14(%eax)
45bcf4:	6a ff                	push   $0xffffffff
45bcf6:	ff 76 28             	push   0x28(%esi)
45bcf9:	53                   	push   %ebx
45bcfa:	6a fd                	push   $0xfffffffd
45bcfc:	52                   	push   %edx
45bcfd:	ff 51 2c             	call   *0x2c(%ecx)
45bd00:	38 5e 3d             	cmp    %bl,0x3d(%esi)
45bd03:	75 05                	jne    0x45bd0a
45bd05:	38 5e 3c             	cmp    %bl,0x3c(%esi)
45bd08:	74 31                	je     0x45bd3b
45bd0a:	8b 46 0c             	mov    0xc(%esi),%eax
45bd0d:	8d 55 f8             	lea    -0x8(%ebp),%edx
45bd10:	52                   	push   %edx
45bd11:	68 1c 2d 49 00       	push   $0x492d1c
45bd16:	50                   	push   %eax
45bd17:	8b 08                	mov    (%eax),%ecx
45bd19:	ff 11                	call   *(%ecx)
45bd1b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45bd1e:	85 c9                	test   %ecx,%ecx
45bd20:	74 19                	je     0x45bd3b
45bd22:	38 5e 3d             	cmp    %bl,0x3d(%esi)
45bd25:	74 09                	je     0x45bd30
45bd27:	8b 01                	mov    (%ecx),%eax
45bd29:	51                   	push   %ecx
45bd2a:	ff 50 18             	call   *0x18(%eax)
45bd2d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45bd30:	38 5e 3c             	cmp    %bl,0x3c(%esi)
45bd33:	74 06                	je     0x45bd3b
45bd35:	8b 01                	mov    (%ecx),%eax
45bd37:	51                   	push   %ecx
45bd38:	ff 50 14             	call   *0x14(%eax)
45bd3b:	53                   	push   %ebx
45bd3c:	ff 76 0c             	push   0xc(%esi)
45bd3f:	ff 15 44 f8 48 00    	call   *0x48f844
45bd45:	8b 46 0c             	mov    0xc(%esi),%eax
45bd48:	8d 55 fc             	lea    -0x4(%ebp),%edx
45bd4b:	52                   	push   %edx
45bd4c:	68 3c 2d 49 00       	push   $0x492d3c
45bd51:	50                   	push   %eax
45bd52:	8b 08                	mov    (%eax),%ecx
45bd54:	ff 11                	call   *(%ecx)
45bd56:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45bd59:	85 c9                	test   %ecx,%ecx
45bd5b:	74 17                	je     0x45bd74
45bd5d:	8b 01                	mov    (%ecx),%eax
45bd5f:	53                   	push   %ebx
45bd60:	6a 02                	push   $0x2
45bd62:	6a 01                	push   $0x1
45bd64:	51                   	push   %ecx
45bd65:	ff 50 1c             	call   *0x1c(%eax)
45bd68:	8b 45 fc             	mov    -0x4(%ebp),%eax
45bd6b:	50                   	push   %eax
45bd6c:	8b 08                	mov    (%eax),%ecx
45bd6e:	ff 51 08             	call   *0x8(%ecx)
45bd71:	89 5d fc             	mov    %ebx,-0x4(%ebp)
45bd74:	8b 46 0c             	mov    0xc(%esi),%eax
45bd77:	ff 76 38             	push   0x38(%esi)
45bd7a:	50                   	push   %eax
45bd7b:	8b 08                	mov    (%eax),%ecx
45bd7d:	ff 51 50             	call   *0x50(%ecx)
45bd80:	8b 46 0c             	mov    0xc(%esi),%eax
45bd83:	53                   	push   %ebx
45bd84:	50                   	push   %eax
45bd85:	8b 08                	mov    (%eax),%ecx
45bd87:	ff 51 0c             	call   *0xc(%ecx)
45bd8a:	8b 46 0c             	mov    0xc(%esi),%eax
45bd8d:	53                   	push   %ebx
45bd8e:	68 10 f9 48 00       	push   $0x48f910
45bd93:	50                   	push   %eax
45bd94:	8b 08                	mov    (%eax),%ecx
45bd96:	ff 51 14             	call   *0x14(%ecx)
45bd99:	ff 76 08             	push   0x8(%esi)
45bd9c:	ff 15 48 f6 48 00    	call   *0x48f648
45bda2:	85 c0                	test   %eax,%eax
45bda4:	74 09                	je     0x45bdaf
45bda6:	ff 76 08             	push   0x8(%esi)
45bda9:	ff 15 3c f6 48 00    	call   *0x48f63c
45bdaf:	8b 46 0c             	mov    0xc(%esi),%eax
45bdb2:	50                   	push   %eax
45bdb3:	8b 08                	mov    (%eax),%ecx
45bdb5:	ff 51 08             	call   *0x8(%ecx)
45bdb8:	89 5e 0c             	mov    %ebx,0xc(%esi)
45bdbb:	89 5e 08             	mov    %ebx,0x8(%esi)
45bdbe:	88 5e 3c             	mov    %bl,0x3c(%esi)
45bdc1:	39 5e 34             	cmp    %ebx,0x34(%esi)
45bdc4:	74 0c                	je     0x45bdd2
45bdc6:	ff 76 34             	push   0x34(%esi)
45bdc9:	e8 9e 52 fc ff       	call   0x42106c
45bdce:	59                   	pop    %ecx
45bdcf:	89 5e 34             	mov    %ebx,0x34(%esi)
45bdd2:	8b 4e 2c             	mov    0x2c(%esi),%ecx
45bdd5:	85 c9                	test   %ecx,%ecx
45bdd7:	74 09                	je     0x45bde2
45bdd9:	51                   	push   %ecx
45bdda:	e8 50 fd ff ff       	call   0x45bb2f
45bddf:	89 5e 2c             	mov    %ebx,0x2c(%esi)
45bde2:	39 5e 30             	cmp    %ebx,0x30(%esi)
45bde5:	74 0c                	je     0x45bdf3
45bde7:	ff 76 30             	push   0x30(%esi)
45bdea:	e8 7d 52 fc ff       	call   0x42106c
45bdef:	59                   	pop    %ecx
45bdf0:	89 5e 30             	mov    %ebx,0x30(%esi)
45bdf3:	39 5e 28             	cmp    %ebx,0x28(%esi)
45bdf6:	74 0c                	je     0x45be04
45bdf8:	ff 76 28             	push   0x28(%esi)
45bdfb:	e8 6c 52 fc ff       	call   0x42106c
45be00:	59                   	pop    %ecx
45be01:	89 5e 28             	mov    %ebx,0x28(%esi)
45be04:	5e                   	pop    %esi
45be05:	5b                   	pop    %ebx
45be06:	8b e5                	mov    %ebp,%esp
45be08:	5d                   	pop    %ebp
45be09:	c3                   	ret
45be0a:	55                   	push   %ebp
45be0b:	8b ec                	mov    %esp,%ebp
45be0d:	8b 4d 10             	mov    0x10(%ebp),%ecx
45be10:	33 d2                	xor    %edx,%edx
45be12:	83 f9 03             	cmp    $0x3,%ecx
45be15:	7c 3e                	jl     0x45be55
45be17:	8b 45 0c             	mov    0xc(%ebp),%eax
45be1a:	53                   	push   %ebx
45be1b:	8b 5d 08             	mov    0x8(%ebp),%ebx
45be1e:	56                   	push   %esi
45be1f:	8b 70 04             	mov    0x4(%eax),%esi
45be22:	57                   	push   %edi
45be23:	83 c6 0c             	add    $0xc,%esi
45be26:	8d 79 fe             	lea    -0x2(%ecx),%edi
45be29:	8b 06                	mov    (%esi),%eax
45be2b:	8b 08                	mov    (%eax),%ecx
45be2d:	85 c9                	test   %ecx,%ecx
45be2f:	74 1b                	je     0x45be4c
45be31:	8b 41 04             	mov    0x4(%ecx),%eax
45be34:	3b 43 04             	cmp    0x4(%ebx),%eax
45be37:	75 13                	jne    0x45be4c
45be39:	80 b9 90 00 00 00 1d 	cmpb   $0x1d,0x90(%ecx)
45be40:	75 0a                	jne    0x45be4c
45be42:	83 b9 80 00 00 00 00 	cmpl   $0x0,0x80(%ecx)
45be49:	74 01                	je     0x45be4c
45be4b:	42                   	inc    %edx
45be4c:	83 c6 04             	add    $0x4,%esi
45be4f:	4f                   	dec    %edi
45be50:	75 d7                	jne    0x45be29
45be52:	5f                   	pop    %edi
45be53:	5e                   	pop    %esi
45be54:	5b                   	pop    %ebx
45be55:	8b c2                	mov    %edx,%eax
45be57:	5d                   	pop    %ebp
45be58:	c2 0c 00             	ret    $0xc
45be5b:	55                   	push   %ebp
45be5c:	8b ec                	mov    %esp,%ebp