45b991:	ff 70 14             	push   0x14(%eax)
45b994:	6a ff                	push   $0xffffffff
45b996:	ff 76 28             	push   0x28(%esi)
45b999:	6a 00                	push   $0x0
45b99b:	6a ff                	push   $0xffffffff
45b99d:	51                   	push   %ecx
45b99e:	ff 52 2c             	call   *0x2c(%edx)
45b9a1:	6a 05                	push   $0x5
45b9a3:	5e                   	pop    %esi
45b9a4:	8b 07                	mov    (%edi),%eax
45b9a6:	50                   	push   %eax
45b9a7:	8b 08                	mov    (%eax),%ecx
45b9a9:	ff 51 38             	call   *0x38(%ecx)
45b9ac:	8b d8                	mov    %eax,%ebx
45b9ae:	4e                   	dec    %esi
45b9af:	85 db                	test   %ebx,%ebx
45b9b1:	74 06                	je     0x45b9b9
45b9b3:	85 f6                	test   %esi,%esi
45b9b5:	75 ed                	jne    0x45b9a4
45b9b7:	85 db                	test   %ebx,%ebx
45b9b9:	8b 75 fc             	mov    -0x4(%ebp),%esi
45b9bc:	79 10                	jns    0x45b9ce
45b9be:	8b ce                	mov    %esi,%ecx
45b9c0:	e8 08 03 00 00       	call   0x45bccd
45b9c5:	6a 01                	push   $0x1
45b9c7:	6a 00                	push   $0x0
45b9c9:	6a 00                	push   $0x0
45b9cb:	53                   	push   %ebx
45b9cc:	eb 56                	jmp    0x45ba24
45b9ce:	8b 07                	mov    (%edi),%eax
45b9d0:	8d 55 0c             	lea    0xc(%ebp),%edx
45b9d3:	52                   	push   %edx
45b9d4:	68 1c 2d 49 00       	push   $0x492d1c
45b9d9:	50                   	push   %eax
45b9da:	8b 08                	mov    (%eax),%ecx
45b9dc:	ff 11                	call   *(%ecx)
45b9de:	8b f8                	mov    %eax,%edi
45b9e0:	85 ff                	test   %edi,%edi
45b9e2:	79 10                	jns    0x45b9f4
45b9e4:	8b ce                	mov    %esi,%ecx
45b9e6:	e8 e2 02 00 00       	call   0x45bccd
45b9eb:	6a 01                	push   $0x1
45b9ed:	6a 00                	push   $0x0
45b9ef:	6a 00                	push   $0x0
45b9f1:	57                   	push   %edi
45b9f2:	eb 30                	jmp    0x45ba24
45b9f4:	8b 45 0c             	mov    0xc(%ebp),%eax
45b9f7:	8d 5e 08             	lea    0x8(%esi),%ebx
45b9fa:	53                   	push   %ebx
45b9fb:	50                   	push   %eax
45b9fc:	8b 08                	mov    (%eax),%ecx
45b9fe:	ff 51 0c             	call   *0xc(%ecx)
45ba01:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45ba04:	8b f8                	mov    %eax,%edi
45ba06:	51                   	push   %ecx
45ba07:	8b 11                	mov    (%ecx),%edx
45ba09:	ff 52 08             	call   *0x8(%edx)
45ba0c:	85 ff                	test   %edi,%edi
45ba0e:	78 d4                	js     0x45b9e4
45ba10:	8b 4d 14             	mov    0x14(%ebp),%ecx
45ba13:	8b 03                	mov    (%ebx),%eax
45ba15:	89 01                	mov    %eax,(%ecx)
45ba17:	eb 15                	jmp    0x45ba2e
45ba19:	b8 05 40 00 80       	mov    $0x80004005,%eax
45ba1e:	33 c9                	xor    %ecx,%ecx
45ba20:	51                   	push   %ecx
45ba21:	51                   	push   %ecx
45ba22:	51                   	push   %ecx
45ba23:	50                   	push   %eax
45ba24:	b9 10 63 4c 00       	mov    $0x4c6310,%ecx
45ba29:	e8 ad dc 01 00       	call   0x4796db
45ba2e:	5f                   	pop    %edi
45ba2f:	8b c6                	mov    %esi,%eax
45ba31:	5e                   	pop    %esi
45ba32:	5b                   	pop    %ebx
45ba33:	8b e5                	mov    %ebp,%esp
45ba35:	5d                   	pop    %ebp
45ba36:	c2 10 00             	ret    $0x10
45ba39:	55                   	push   %ebp
45ba3a:	8b ec                	mov    %esp,%ebp
45ba3c:	56                   	push   %esi
45ba3d:	6a 0c                	push   $0xc
45ba3f:	8b f1                	mov    %ecx,%esi
45ba41:	e8 b0 55 fc ff       	call   0x420ff6
45ba46:	59                   	pop    %ecx
45ba47:	85 c0                	test   %eax,%eax
45ba49:	74 12                	je     0x45ba5d
45ba4b:	c7 00 28 98 4b 00    	movl   $0x4b9828,(%eax)
45ba51:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
45ba58:	89 70 04             	mov    %esi,0x4(%eax)
45ba5b:	eb 02                	jmp    0x45ba5f
45ba5d:	33 c0                	xor    %eax,%eax
45ba5f:	6a 08                	push   $0x8
45ba61:	89 06                	mov    %eax,(%esi)
45ba63:	e8 8e 55 fc ff       	call   0x420ff6
45ba68:	59                   	pop    %ecx
45ba69:	85 c0                	test   %eax,%eax
45ba6b:	74 0b                	je     0x45ba78
45ba6d:	c7 00 8c 98 4b 00    	movl   $0x4b988c,(%eax)
45ba73:	89 70 04             	mov    %esi,0x4(%eax)
45ba76:	eb 02                	jmp    0x45ba7a
45ba78:	33 c0                	xor    %eax,%eax
45ba7a:	6a 08                	push   $0x8
45ba7c:	89 46 04             	mov    %eax,0x4(%esi)
45ba7f:	e8 72 55 fc ff       	call   0x420ff6
45ba84:	59                   	pop    %ecx
45ba85:	85 c0                	test   %eax,%eax
45ba87:	74 0b                	je     0x45ba94
45ba89:	c7 00 00 98 4b 00    	movl   $0x4b9800,(%eax)
45ba8f:	89 70 04             	mov    %esi,0x4(%eax)
45ba92:	eb 02                	jmp    0x45ba96
45ba94:	33 c0                	xor    %eax,%eax
45ba96:	6a 0c                	push   $0xc
45ba98:	89 46 08             	mov    %eax,0x8(%esi)
45ba9b:	e8 56 55 fc ff       	call   0x420ff6
45baa0:	59                   	pop    %ecx
45baa1:	8b 4d 08             	mov    0x8(%ebp),%ecx
45baa4:	85 c0                	test   %eax,%eax
45baa6:	74 0e                	je     0x45bab6
45baa8:	c7 00 50 98 4b 00    	movl   $0x4b9850,(%eax)
45baae:	89 70 04             	mov    %esi,0x4(%eax)
45bab1:	89 48 08             	mov    %ecx,0x8(%eax)
45bab4:	eb 02                	jmp    0x45bab8
45bab6:	33 c0                	xor    %eax,%eax
45bab8:	83 66 10 00          	andl   $0x0,0x10(%esi)
45babc:	89 46 0c             	mov    %eax,0xc(%esi)
45babf:	8b c6                	mov    %esi,%eax
45bac1:	89 4e 14             	mov    %ecx,0x14(%esi)
45bac4:	c6 46 18 00          	movb   $0x0,0x18(%esi)
45bac8:	5e                   	pop    %esi
45bac9:	5d                   	pop    %ebp
45baca:	c2 04 00             	ret    $0x4
45bacd:	56                   	push   %esi
45bace:	8b f1                	mov    %ecx,%esi
45bad0:	57                   	push   %edi
45bad1:	33 ff                	xor    %edi,%edi
45bad3:	39 7e 0c             	cmp    %edi,0xc(%esi)
45bad6:	74 0c                	je     0x45bae4
45bad8:	ff 76 0c             	push   0xc(%esi)
45badb:	e8 8c 55 fc ff       	call   0x42106c
45bae0:	59                   	pop    %ecx
45bae1:	89 7e 0c             	mov    %edi,0xc(%esi)
45bae4:	39 7e 08             	cmp    %edi,0x8(%esi)
45bae7:	74 0c                	je     0x45baf5
45bae9:	ff 76 08             	push   0x8(%esi)
45baec:	e8 7b 55 fc ff       	call   0x42106c
45baf1:	59                   	pop    %ecx
45baf2:	89 7e 08             	mov    %edi,0x8(%esi)
45baf5:	39 7e 04             	cmp    %edi,0x4(%esi)
45baf8:	74 0c                	je     0x45bb06
45bafa:	ff 76 04             	push   0x4(%esi)
45bafd:	e8 6a 55 fc ff       	call   0x42106c
45bb02:	59                   	pop    %ecx
45bb03:	89 7e 04             	mov    %edi,0x4(%esi)
45bb06:	39 3e                	cmp    %edi,(%esi)
45bb08:	74 0a                	je     0x45bb14
45bb0a:	ff 36                	push   (%esi)
45bb0c:	e8 5b 55 fc ff       	call   0x42106c
45bb11:	59                   	pop    %ecx
45bb12:	89 3e                	mov    %edi,(%esi)
45bb14:	89 7e 14             	mov    %edi,0x14(%esi)
45bb17:	5f                   	pop    %edi
45bb18:	5e                   	pop    %esi
45bb19:	c3                   	ret
45bb1a:	56                   	push   %esi
45bb1b:	8b f1                	mov    %ecx,%esi
45bb1d:	e8 ab 01 00 00       	call   0x45bccd
45bb22:	56                   	push   %esi
45bb23:	e8 44 55 fc ff       	call   0x42106c
45bb28:	59                   	pop    %ecx
45bb29:	8b c6                	mov    %esi,%eax
45bb2b:	5e                   	pop    %esi
45bb2c:	c2 04 00             	ret    $0x4
45bb2f:	56                   	push   %esi
45bb30:	8b f1                	mov    %ecx,%esi
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