45b871:	ff 50 48             	call   *0x48(%eax)
45b874:	85 c0                	test   %eax,%eax
45b876:	74 22                	je     0x45b89a
45b878:	8b 45 f8             	mov    -0x8(%ebp),%eax
45b87b:	50                   	push   %eax
45b87c:	8b 08                	mov    (%eax),%ecx
45b87e:	ff 51 08             	call   *0x8(%ecx)
45b881:	8b 03                	mov    (%ebx),%eax
45b883:	6a 00                	push   $0x0
45b885:	8b 48 04             	mov    0x4(%eax),%ecx
45b888:	6a 01                	push   $0x1
45b88a:	03 cb                	add    %ebx,%ecx
45b88c:	e8 bb 16 ff ff       	call   0x44cf4c
45b891:	5e                   	pop    %esi
45b892:	5f                   	pop    %edi
45b893:	33 c0                	xor    %eax,%eax
45b895:	5b                   	pop    %ebx
45b896:	c9                   	leave
45b897:	c2 08 00             	ret    $0x8
45b89a:	8b 45 08             	mov    0x8(%ebp),%eax
45b89d:	8b 08                	mov    (%eax),%ecx
45b89f:	83 fe 04             	cmp    $0x4,%esi
45b8a2:	75 52                	jne    0x45b8f6
45b8a4:	8d 55 fc             	lea    -0x4(%ebp),%edx
45b8a7:	52                   	push   %edx
45b8a8:	50                   	push   %eax
45b8a9:	ff 51 1c             	call   *0x1c(%ecx)
45b8ac:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45b8af:	8d 45 f0             	lea    -0x10(%ebp),%eax
45b8b2:	50                   	push   %eax
45b8b3:	ff 71 10             	push   0x10(%ecx)
45b8b6:	0f b7 41 1a          	movzwl 0x1a(%ecx),%eax
45b8ba:	50                   	push   %eax
45b8bb:	0f b7 41 18          	movzwl 0x18(%ecx),%eax
45b8bf:	50                   	push   %eax
45b8c0:	51                   	push   %ecx
45b8c1:	ff 15 44 d4 48 00    	call   *0x48d444
45b8c7:	8b 4d 08             	mov    0x8(%ebp),%ecx
45b8ca:	ff 75 fc             	push   -0x4(%ebp)
45b8cd:	8b 11                	mov    (%ecx),%edx
45b8cf:	51                   	push   %ecx
45b8d0:	8b f0                	mov    %eax,%esi
45b8d2:	ff 52 30             	call   *0x30(%edx)
45b8d5:	85 f6                	test   %esi,%esi
45b8d7:	0f 85 dd 01 00 00    	jne    0x45baba
45b8dd:	ff 75 f0             	push   -0x10(%ebp)
45b8e0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45b8e3:	e8 d1 14 fb ff       	call   0x40cdb9
45b8e8:	ff 75 f0             	push   -0x10(%ebp)
45b8eb:	ff 15 0c d4 48 00    	call   *0x48d40c
45b8f1:	e9 c4 01 00 00       	jmp    0x45baba
45b8f6:	8d 55 ec             	lea    -0x14(%ebp),%edx
45b8f9:	52                   	push   %edx
45b8fa:	ff 75 e0             	push   -0x20(%ebp)
45b8fd:	50                   	push   %eax
45b8fe:	ff 51 14             	call   *0x14(%ecx)
45b901:	83 7d ec 05          	cmpl   $0x5,-0x14(%ebp)
45b905:	0f 84 e8 00 00 00    	je     0x45b9f3
45b90b:	8b 45 08             	mov    0x8(%ebp),%eax
45b90e:	50                   	push   %eax
45b90f:	8b 08                	mov    (%eax),%ecx
45b911:	ff 51 0c             	call   *0xc(%ecx)
45b914:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
45b918:	33 ff                	xor    %edi,%edi
45b91a:	89 45 bc             	mov    %eax,-0x44(%ebp)
45b91d:	85 c0                	test   %eax,%eax
45b91f:	0f 84 ce 00 00 00    	je     0x45b9f3
45b925:	8b 75 f4             	mov    -0xc(%ebp),%esi
45b928:	85 f6                	test   %esi,%esi
45b92a:	0f 85 c0 00 00 00    	jne    0x45b9f0
45b930:	8b 45 08             	mov    0x8(%ebp),%eax
45b933:	21 75 ec             	and    %esi,-0x14(%ebp)
45b936:	8b 08                	mov    (%eax),%ecx
45b938:	8d 55 ec             	lea    -0x14(%ebp),%edx
45b93b:	52                   	push   %edx
45b93c:	57                   	push   %edi
45b93d:	50                   	push   %eax
45b93e:	ff 51 14             	call   *0x14(%ecx)
45b941:	83 7d ec 05          	cmpl   $0x5,-0x14(%ebp)
45b945:	0f 85 9b 00 00 00    	jne    0x45b9e6
45b94b:	8b 45 08             	mov    0x8(%ebp),%eax
45b94e:	8d 55 e8             	lea    -0x18(%ebp),%edx
45b951:	8b 08                	mov    (%eax),%ecx
45b953:	52                   	push   %edx
45b954:	57                   	push   %edi
45b955:	50                   	push   %eax
45b956:	ff 51 10             	call   *0x10(%ecx)
45b959:	8b 45 e8             	mov    -0x18(%ebp),%eax
45b95c:	8d 55 c4             	lea    -0x3c(%ebp),%edx
45b95f:	8b 08                	mov    (%eax),%ecx
45b961:	52                   	push   %edx
45b962:	50                   	push   %eax
45b963:	ff 51 0c             	call   *0xc(%ecx)
45b966:	8b 55 c4             	mov    -0x3c(%ebp),%edx
45b969:	52                   	push   %edx
45b96a:	0f b7 42 30          	movzwl 0x30(%edx),%eax
45b96e:	89 45 f4             	mov    %eax,-0xc(%ebp)
45b971:	8b 45 e8             	mov    -0x18(%ebp),%eax
45b974:	50                   	push   %eax
45b975:	8b 08                	mov    (%eax),%ecx
45b977:	ff 51 4c             	call   *0x4c(%ecx)
45b97a:	83 4d dc ff          	orl    $0xffffffff,-0x24(%ebp)
45b97e:	33 d2                	xor    %edx,%edx
45b980:	89 55 f0             	mov    %edx,-0x10(%ebp)
45b983:	39 55 f4             	cmp    %edx,-0xc(%ebp)
45b986:	76 55                	jbe    0x45b9dd
45b988:	8b 45 e8             	mov    -0x18(%ebp),%eax
45b98b:	8d 55 c8             	lea    -0x38(%ebp),%edx
45b98e:	8b 08                	mov    (%eax),%ecx
45b990:	52                   	push   %edx
45b991:	8b 55 f0             	mov    -0x10(%ebp),%edx
45b994:	52                   	push   %edx
45b995:	50                   	push   %eax
45b996:	ff 51 20             	call   *0x20(%ecx)
45b999:	85 c0                	test   %eax,%eax
45b99b:	75 34                	jne    0x45b9d1
45b99d:	8b 45 f8             	mov    -0x8(%ebp),%eax
45b9a0:	8d 55 fc             	lea    -0x4(%ebp),%edx
45b9a3:	8b 08                	mov    (%eax),%ecx
45b9a5:	52                   	push   %edx
45b9a6:	ff 75 c8             	push   -0x38(%ebp)
45b9a9:	50                   	push   %eax
45b9aa:	ff 51 38             	call   *0x38(%ecx)
45b9ad:	8b 45 fc             	mov    -0x4(%ebp),%eax
45b9b0:	8d 55 dc             	lea    -0x24(%ebp),%edx
45b9b3:	8b 08                	mov    (%eax),%ecx
45b9b5:	52                   	push   %edx
45b9b6:	6a 00                	push   $0x0
45b9b8:	50                   	push   %eax
45b9b9:	ff 51 48             	call   *0x48(%ecx)
45b9bc:	8b 45 dc             	mov    -0x24(%ebp),%eax
45b9bf:	3b 45 e0             	cmp    -0x20(%ebp),%eax
45b9c2:	8b 45 fc             	mov    -0x4(%ebp),%eax
45b9c5:	50                   	push   %eax
45b9c6:	8b 08                	mov    (%eax),%ecx
45b9c8:	0f 84 90 00 00 00    	je     0x45ba5e
45b9ce:	ff 51 08             	call   *0x8(%ecx)
45b9d1:	8b 55 f0             	mov    -0x10(%ebp),%edx
45b9d4:	42                   	inc    %edx
45b9d5:	89 55 f0             	mov    %edx,-0x10(%ebp)
45b9d8:	3b 55 f4             	cmp    -0xc(%ebp),%edx
45b9db:	72 ab                	jb     0x45b988
45b9dd:	8b 45 e8             	mov    -0x18(%ebp),%eax
45b9e0:	50                   	push   %eax
45b9e1:	8b 08                	mov    (%eax),%ecx
45b9e3:	ff 51 08             	call   *0x8(%ecx)
45b9e6:	47                   	inc    %edi
45b9e7:	3b 7d bc             	cmp    -0x44(%ebp),%edi
45b9ea:	0f 82 38 ff ff ff    	jb     0x45b928
45b9f0:	8b 75 e4             	mov    -0x1c(%ebp),%esi
45b9f3:	83 fe 03             	cmp    $0x3,%esi
45b9f6:	74 09                	je     0x45ba01
45b9f8:	83 fe 06             	cmp    $0x6,%esi
45b9fb:	0f 85 b9 00 00 00    	jne    0x45baba
45ba01:	83 7d ec 05          	cmpl   $0x5,-0x14(%ebp)
45ba05:	0f 85 af 00 00 00    	jne    0x45baba
45ba0b:	8b 45 f8             	mov    -0x8(%ebp),%eax
45ba0e:	8d 55 f4             	lea    -0xc(%ebp),%edx
45ba11:	8b 08                	mov    (%eax),%ecx
45ba13:	52                   	push   %edx
45ba14:	50                   	push   %eax
45ba15:	ff 51 0c             	call   *0xc(%ecx)
45ba18:	8b 75 f4             	mov    -0xc(%ebp),%esi
45ba1b:	8b 45 f8             	mov    -0x8(%ebp),%eax
45ba1e:	ff 75 f4             	push   -0xc(%ebp)
45ba21:	8d 7d cc             	lea    -0x34(%ebp),%edi
45ba24:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45ba25:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45ba26:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45ba27:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45ba28:	8b 08                	mov    (%eax),%ecx
45ba2a:	50                   	push   %eax
45ba2b:	ff 51 4c             	call   *0x4c(%ecx)
45ba2e:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
45ba34:	6a 28                	push   $0x28
45ba36:	50                   	push   %eax
45ba37:	8d 45 cc             	lea    -0x34(%ebp),%eax
45ba3a:	50                   	push   %eax
45ba3b:	ff 15 34 d8 48 00    	call   *0x48d834
45ba41:	85 c0                	test   %eax,%eax
45ba43:	74 65                	je     0x45baaa
45ba45:	8b 45 e4             	mov    -0x1c(%ebp),%eax
45ba48:	83 f8 06             	cmp    $0x6,%eax
45ba4b:	75 2b                	jne    0x45ba78
45ba4d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45ba50:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
45ba56:	50                   	push   %eax
45ba57:	e8 5d 13 fb ff       	call   0x40cdb9
45ba5c:	eb 5c                	jmp    0x45baba
45ba5e:	33 f6                	xor    %esi,%esi
45ba60:	46                   	inc    %esi
45ba61:	ff 51 08             	call   *0x8(%ecx)
45ba64:	8b 45 f8             	mov    -0x8(%ebp),%eax
45ba67:	50                   	push   %eax
45ba68:	8b 08                	mov    (%eax),%ecx
45ba6a:	ff 51 08             	call   *0x8(%ecx)
45ba6d:	8b 45 e8             	mov    -0x18(%ebp),%eax
45ba70:	89 45 f8             	mov    %eax,-0x8(%ebp)
45ba73:	e9 6e ff ff ff       	jmp    0x45b9e6
45ba78:	83 f8 03             	cmp    $0x3,%eax
45ba7b:	75 3d                	jne    0x45baba
45ba7d:	8d 45 fc             	lea    -0x4(%ebp),%eax
45ba80:	50                   	push   %eax
45ba81:	8d 45 cc             	lea    -0x34(%ebp),%eax
45ba84:	50                   	push   %eax
45ba85:	ff 15 18 d8 48 00    	call   *0x48d818
45ba8b:	85 c0                	test   %eax,%eax
45ba8d:	75 1b                	jne    0x45baaa
45ba8f:	39 45 fc             	cmp    %eax,-0x4(%ebp)
45ba92:	74 16                	je     0x45baaa
45ba94:	ff 75 fc             	push   -0x4(%ebp)
45ba97:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45ba9a:	e8 1a 13 fb ff       	call   0x40cdb9
45ba9f:	ff 75 fc             	push   -0x4(%ebp)
45baa2:	ff 15 10 d8 48 00    	call   *0x48d810
45baa8:	eb 10                	jmp    0x45baba
45baaa:	8b 03                	mov    (%ebx),%eax
45baac:	6a 00                	push   $0x0
45baae:	8b 48 04             	mov    0x4(%eax),%ecx
45bab1:	6a 01                	push   $0x1
45bab3:	03 cb                	add    %ebx,%ecx
45bab5:	e8 92 14 ff ff       	call   0x44cf4c
45baba:	8b 45 08             	mov    0x8(%ebp),%eax
45babd:	50                   	push   %eax
45babe:	8b 08                	mov    (%eax),%ecx
45bac0:	ff 51 08             	call   *0x8(%ecx)
45bac3:	8b 45 f8             	mov    -0x8(%ebp),%eax
45bac6:	e9 ff fc ff ff       	jmp    0x45b7ca
45bacb:	56                   	push   %esi
45bacc:	8b f1                	mov    %ecx,%esi
45bace:	e8 0a 00 00 00       	call   0x45badd
45bad3:	33 c0                	xor    %eax,%eax
45bad5:	39 46 08             	cmp    %eax,0x8(%esi)
45bad8:	5e                   	pop    %esi
45bad9:	0f 95 c0             	setne  %al
45badc:	c3                   	ret
45badd:	56                   	push   %esi
45bade:	8b f1                	mov    %ecx,%esi
45bae0:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
45bae4:	75 20                	jne    0x45bb06
45bae6:	68 24 2e 4b 00       	push   $0x4b2e24
45baeb:	ff 15 8c d1 48 00    	call   *0x48d18c
45baf1:	89 06                	mov    %eax,(%esi)
45baf3:	85 c0                	test   %eax,%eax
45baf5:	74 0f                	je     0x45bb06
45baf7:	68 b0 40 4b 00       	push   $0x4b40b0
45bafc:	50                   	push   %eax
45bafd:	ff 15 90 d1 48 00    	call   *0x48d190
45bb03:	89 46 08             	mov    %eax,0x8(%esi)
45bb06:	5e                   	pop    %esi
45bb07:	c3                   	ret
45bb08:	55                   	push   %ebp
45bb09:	8b ec                	mov    %esp,%ebp
45bb0b:	81 ec 98 00 00 00    	sub    $0x98,%esp
45bb11:	53                   	push   %ebx
45bb12:	56                   	push   %esi
45bb13:	57                   	push   %edi
45bb14:	8b f1                	mov    %ecx,%esi
45bb16:	33 c9                	xor    %ecx,%ecx
45bb18:	33 c0                	xor    %eax,%eax
45bb1a:	6a 20                	push   $0x20
45bb1c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45bb1f:	51                   	push   %ecx
45bb20:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
45bb26:	50                   	push   %eax
45bb27:	89 75 f8             	mov    %esi,-0x8(%ebp)
45bb2a:	89 4d f0             	mov    %ecx,-0x10(%ebp)
45bb2d:	c7 45 dc 68 3f 4b 00 	movl   $0x4b3f68,-0x24(%ebp)
45bb34:	c7 45 d8 7c 3f 4b 00 	movl   $0x4b3f7c,-0x28(%ebp)
45bb3b:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
45bb3e:	89 4d b8             	mov    %ecx,-0x48(%ebp)
45bb41:	89 4d bc             	mov    %ecx,-0x44(%ebp)
45bb44:	89 4d c0             	mov    %ecx,-0x40(%ebp)
45bb47:	c7 45 e0 04 04 02 00 	movl   $0x20404,-0x20(%ebp)
45bb4e:	c7 45 e8 c0 00 00 00 	movl   $0xc0,-0x18(%ebp)
45bb55:	c7 45 ec 00 00 00 46 	movl   $0x46000000,-0x14(%ebp)
45bb5c:	e8 ef 51 fc ff       	call   0x420d50
45bb61:	8b 55 08             	mov    0x8(%ebp),%edx
45bb64:	83 c4 0c             	add    $0xc,%esp
45bb67:	85 d2                	test   %edx,%edx
45bb69:	0f 84 34 02 00 00    	je     0x45bda3
45bb6f:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
45bb73:	0f 84 2a 02 00 00    	je     0x45bda3
45bb79:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45bb7c:	85 db                	test   %ebx,%ebx
45bb7e:	0f 84 1f 02 00 00    	je     0x45bda3
45bb84:	8b cb                	mov    %ebx,%ecx
45bb86:	e8 9d f9 fe ff       	call   0x44b528
45bb8b:	33 ff                	xor    %edi,%edi
45bb8d:	47                   	inc    %edi
45bb8e:	6a 0d                	push   $0xd
45bb90:	59                   	pop    %ecx
45bb91:	84 c0                	test   %al,%al
45bb93:	0f 85 47 01 00 00    	jne    0x45bce0
45bb99:	83 7a 0c 08          	cmpl   $0x8,0xc(%edx)
45bb9d:	75 04                	jne    0x45bba3
45bb9f:	8b 02                	mov    (%edx),%eax
45bba1:	eb 02                	jmp    0x45bba5
45bba3:	33 c0                	xor    %eax,%eax
45bba5:	85 c0                	test   %eax,%eax
45bba7:	74 12                	je     0x45bbbb
45bba9:	83 7a 0c 08          	cmpl   $0x8,0xc(%edx)
45bbad:	75 0c                	jne    0x45bbbb
45bbaf:	8b 02                	mov    (%edx),%eax
45bbb1:	8b 48 08             	mov    0x8(%eax),%ecx
45bbb4:	89 4d 08             	mov    %ecx,0x8(%ebp)
45bbb7:	85 c9                	test   %ecx,%ecx
45bbb9:	75 10                	jne    0x45bbcb
45bbbb:	6a 01                	push   $0x1
45bbbd:	68 98 3f 4b 00       	push   $0x4b3f98
45bbc2:	6a 00                	push   $0x0
45bbc4:	6a 02                	push   $0x2
45bbc6:	e9 e4 01 00 00       	jmp    0x45bdaf
45bbcb:	8b 01                	mov    (%ecx),%eax
45bbcd:	8d 55 f4             	lea    -0xc(%ebp),%edx
45bbd0:	52                   	push   %edx
45bbd1:	68 00 04 00 00       	push   $0x400
45bbd6:	57                   	push   %edi
45bbd7:	8d 55 dc             	lea    -0x24(%ebp),%edx
45bbda:	52                   	push   %edx
45bbdb:	be 3c d9 48 00       	mov    $0x48d93c,%esi
45bbe0:	56                   	push   %esi
45bbe1:	51                   	push   %ecx
45bbe2:	ff 50 14             	call   *0x14(%eax)
45bbe5:	85 c0                	test   %eax,%eax
45bbe7:	78 06                	js     0x45bbef
45bbe9:	83 7d f4 ff          	cmpl   $0xffffffff,-0xc(%ebp)
45bbed:	75 29                	jne    0x45bc18
45bbef:	8b 4d 08             	mov    0x8(%ebp),%ecx
45bbf2:	8d 55 f4             	lea    -0xc(%ebp),%edx
45bbf5:	8b 01                	mov    (%ecx),%eax
45bbf7:	52                   	push   %edx
45bbf8:	68 00 04 00 00       	push   $0x400
45bbfd:	57                   	push   %edi
45bbfe:	8d 55 d8             	lea    -0x28(%ebp),%edx
45bc01:	52                   	push   %edx
45bc02:	56                   	push   %esi
45bc03:	51                   	push   %ecx
45bc04:	ff 50 14             	call   *0x14(%eax)
45bc07:	85 c0                	test   %eax,%eax
45bc09:	78 06                	js     0x45bc11
45bc0b:	83 7d f4 ff          	cmpl   $0xffffffff,-0xc(%ebp)
45bc0f:	75 07                	jne    0x45bc18
45bc11:	c7 45 f4 fc ff ff ff 	movl   $0xfffffffc,-0xc(%ebp)
45bc18:	6a 10                	push   $0x10
45bc1a:	e8 56 32 fc ff       	call   0x41ee75
45bc1f:	83 65 bc 00          	andl   $0x0,-0x44(%ebp)
45bc23:	8b f0                	mov    %eax,%esi
45bc25:	59                   	pop    %ecx
45bc26:	8d 45 8c             	lea    -0x74(%ebp),%eax