4089ae:	50                   	push   %eax
4089af:	8d 45 f0             	lea    -0x10(%ebp),%eax
4089b2:	50                   	push   %eax
4089b3:	ff 15 f0 04 4b 00    	call   *0x4b04f0
4089b9:	8b f0                	mov    %eax,%esi
4089bb:	85 f6                	test   %esi,%esi
4089bd:	0f 8c c4 fe ff ff    	jl     0x408887
4089c3:	8d 45 f0             	lea    -0x10(%ebp),%eax
4089c6:	8b 75 c0             	mov    -0x40(%ebp),%esi
4089c9:	8b 40 08             	mov    0x8(%eax),%eax
4089cc:	8b 0b                	mov    (%ebx),%ecx
4089ce:	83 ec 10             	sub    $0x10,%esp
4089d1:	8b fc                	mov    %esp,%edi
4089d3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4089d4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4089d5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4089d6:	50                   	push   %eax
4089d7:	53                   	push   %ebx
4089d8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4089d9:	ff 51 54             	call   *0x54(%ecx)
4089dc:	e9 79 fe ff ff       	jmp    0x40885a
4089e1:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
4089e5:	0f 85 53 fe ff ff    	jne    0x40883e
4089eb:	8b 4d 20             	mov    0x20(%ebp),%ecx
4089ee:	8b 75 bc             	mov    -0x44(%ebp),%esi
4089f1:	8b 03                	mov    (%ebx),%eax
4089f3:	83 c1 08             	add    $0x8,%ecx
4089f6:	51                   	push   %ecx
4089f7:	83 ec 10             	sub    $0x10,%esp
4089fa:	8b fc                	mov    %esp,%edi
4089fc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4089fd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4089fe:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4089ff:	53                   	push   %ebx
408a00:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a01:	ff 50 50             	call   *0x50(%eax)
408a04:	8b f0                	mov    %eax,%esi
408a06:	85 f6                	test   %esi,%esi
408a08:	0f 8c cd 02 00 00    	jl     0x408cdb
408a0e:	8b 45 20             	mov    0x20(%ebp),%eax
408a11:	66 c7 00 08 00       	movw   $0x8,(%eax)
408a16:	e9 c0 02 00 00       	jmp    0x408cdb
408a1b:	ff 75 20             	push   0x20(%ebp)
408a1e:	8b 03                	mov    (%ebx),%eax
408a20:	53                   	push   %ebx
408a21:	ff 50 4c             	call   *0x4c(%eax)
408a24:	e9 31 fe ff ff       	jmp    0x40885a
408a29:	ff 75 20             	push   0x20(%ebp)
408a2c:	8b 03                	mov    (%ebx),%eax
408a2e:	53                   	push   %ebx
408a2f:	ff 50 48             	call   *0x48(%eax)
408a32:	e9 23 fe ff ff       	jmp    0x40885a
408a37:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
408a3b:	0f 85 fd fd ff ff    	jne    0x40883e
408a41:	8b 4d 20             	mov    0x20(%ebp),%ecx
408a44:	8b 75 bc             	mov    -0x44(%ebp),%esi
408a47:	8b 03                	mov    (%ebx),%eax
408a49:	83 c1 08             	add    $0x8,%ecx
408a4c:	51                   	push   %ecx
408a4d:	83 ec 10             	sub    $0x10,%esp
408a50:	8b fc                	mov    %esp,%edi
408a52:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a53:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a54:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a55:	53                   	push   %ebx
408a56:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a57:	ff 50 44             	call   *0x44(%eax)
408a5a:	eb a8                	jmp    0x408a04
408a5c:	83 7f 08 02          	cmpl   $0x2,0x8(%edi)
408a60:	0f 85 d8 fd ff ff    	jne    0x40883e
408a66:	8b 75 bc             	mov    -0x44(%ebp),%esi
408a69:	66 8b 06             	mov    (%esi),%ax
408a6c:	f6 c4 40             	test   $0x40,%ah
408a6f:	74 0e                	je     0x408a7f
408a71:	a8 0c                	test   $0xc,%al
408a73:	75 0a                	jne    0x408a7f
408a75:	be 05 00 02 80       	mov    $0x80020005,%esi
408a7a:	e9 08 fe ff ff       	jmp    0x408887
408a7f:	66 3d 0c 40          	cmp    $0x400c,%ax
408a83:	75 19                	jne    0x408a9e
408a85:	ff 76 08             	push   0x8(%esi)
408a88:	ff 15 f4 04 4b 00    	call   *0x4b04f4
408a8e:	8b 46 08             	mov    0x8(%esi),%eax
408a91:	66 c7 00 08 00       	movw   $0x8,(%eax)
408a96:	8b 46 08             	mov    0x8(%esi),%eax
408a99:	83 c0 08             	add    $0x8,%eax
408a9c:	eb 1a                	jmp    0x408ab8
408a9e:	66 3d 08 40          	cmp    $0x4008,%ax
408aa2:	75 05                	jne    0x408aa9
408aa4:	8b 46 08             	mov    0x8(%esi),%eax
408aa7:	eb 0f                	jmp    0x408ab8
408aa9:	56                   	push   %esi
408aaa:	ff 15 f4 04 4b 00    	call   *0x4b04f4
408ab0:	8d 46 08             	lea    0x8(%esi),%eax
408ab3:	66 c7 06 08 00       	movw   $0x8,(%esi)
408ab8:	8b 55 20             	mov    0x20(%ebp),%edx
408abb:	8b 75 c0             	mov    -0x40(%ebp),%esi
408abe:	8b 0b                	mov    (%ebx),%ecx
408ac0:	83 c2 08             	add    $0x8,%edx
408ac3:	52                   	push   %edx
408ac4:	83 ec 10             	sub    $0x10,%esp
408ac7:	8b fc                	mov    %esp,%edi
408ac9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408aca:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408acb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408acc:	50                   	push   %eax
408acd:	53                   	push   %ebx
408ace:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408acf:	ff 51 40             	call   *0x40(%ecx)
408ad2:	8b f0                	mov    %eax,%esi
408ad4:	85 f6                	test   %esi,%esi
408ad6:	0f 8c ff 01 00 00    	jl     0x408cdb
408adc:	8b 45 20             	mov    0x20(%ebp),%eax
408adf:	66 c7 00 03 00       	movw   $0x3,(%eax)
408ae4:	e9 f2 01 00 00       	jmp    0x408cdb
408ae9:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
408aed:	0f 85 4b fd ff ff    	jne    0x40883e
408af3:	8b 4d 20             	mov    0x20(%ebp),%ecx
408af6:	8b 75 bc             	mov    -0x44(%ebp),%esi
408af9:	8b 03                	mov    (%ebx),%eax
408afb:	83 c1 08             	add    $0x8,%ecx
408afe:	51                   	push   %ecx
408aff:	83 ec 10             	sub    $0x10,%esp
408b02:	8b fc                	mov    %esp,%edi
408b04:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b05:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b06:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b07:	53                   	push   %ebx
408b08:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b09:	ff 50 3c             	call   *0x3c(%eax)
408b0c:	e9 f3 fe ff ff       	jmp    0x408a04
408b11:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
408b15:	0f 85 23 fd ff ff    	jne    0x40883e
408b1b:	ff 75 20             	push   0x20(%ebp)
408b1e:	8b 75 bc             	mov    -0x44(%ebp),%esi
408b21:	8b 03                	mov    (%ebx),%eax
408b23:	83 ec 10             	sub    $0x10,%esp
408b26:	8b fc                	mov    %esp,%edi
408b28:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b29:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b2a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b2b:	53                   	push   %ebx
408b2c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b2d:	ff 50 38             	call   *0x38(%eax)
408b30:	e9 25 fd ff ff       	jmp    0x40885a
408b35:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
408b39:	0f 85 ff fc ff ff    	jne    0x40883e
408b3f:	ff 75 20             	push   0x20(%ebp)
408b42:	8b 75 bc             	mov    -0x44(%ebp),%esi
408b45:	8b 03                	mov    (%ebx),%eax
408b47:	83 ec 10             	sub    $0x10,%esp
408b4a:	8b fc                	mov    %esp,%edi
408b4c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b4d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b4e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b4f:	53                   	push   %ebx
408b50:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b51:	ff 50 34             	call   *0x34(%eax)
408b54:	e9 01 fd ff ff       	jmp    0x40885a
408b59:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
408b5d:	0f 85 db fc ff ff    	jne    0x40883e
408b63:	8b 4d 20             	mov    0x20(%ebp),%ecx
408b66:	8b 75 bc             	mov    -0x44(%ebp),%esi
408b69:	8b 03                	mov    (%ebx),%eax
408b6b:	83 c1 08             	add    $0x8,%ecx
408b6e:	51                   	push   %ecx
408b6f:	83 ec 10             	sub    $0x10,%esp
408b72:	8b fc                	mov    %esp,%edi
408b74:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b75:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b76:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b77:	53                   	push   %ebx
408b78:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b79:	ff 50 30             	call   *0x30(%eax)
408b7c:	e9 83 fe ff ff       	jmp    0x408a04
408b81:	84 ca                	test   %cl,%dl
408b83:	74 28                	je     0x408bad
408b85:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
408b89:	0f 85 af fc ff ff    	jne    0x40883e
408b8f:	8b 4d 20             	mov    0x20(%ebp),%ecx
408b92:	8b 75 bc             	mov    -0x44(%ebp),%esi
408b95:	8b 03                	mov    (%ebx),%eax
408b97:	83 c1 08             	add    $0x8,%ecx
408b9a:	51                   	push   %ecx
408b9b:	83 ec 10             	sub    $0x10,%esp
408b9e:	8b fc                	mov    %esp,%edi
408ba0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408ba1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408ba2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408ba3:	53                   	push   %ebx
408ba4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408ba5:	ff 50 2c             	call   *0x2c(%eax)
408ba8:	e9 57 fe ff ff       	jmp    0x408a04
408bad:	f6 c1 04             	test   $0x4,%cl
408bb0:	74 53                	je     0x408c05
408bb2:	39 57 08             	cmp    %edx,0x8(%edi)
408bb5:	0f 85 83 fc ff ff    	jne    0x40883e
408bbb:	8b 75 bc             	mov    -0x44(%ebp),%esi
408bbe:	8b 45 c0             	mov    -0x40(%ebp),%eax
408bc1:	66 83 38 08          	cmpw   $0x8,(%eax)
408bc5:	8d 7d e0             	lea    -0x20(%ebp),%edi
408bc8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408bc9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408bca:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408bcb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408bcc:	74 1c                	je     0x408bea
408bce:	6a 03                	push   $0x3
408bd0:	6a 00                	push   $0x0
408bd2:	50                   	push   %eax
408bd3:	8d 45 f0             	lea    -0x10(%ebp),%eax
408bd6:	50                   	push   %eax
408bd7:	ff 15 f0 04 4b 00    	call   *0x4b04f0
408bdd:	8b f0                	mov    %eax,%esi
408bdf:	85 f6                	test   %esi,%esi
408be1:	0f 8c ce fc ff ff    	jl     0x4088b5
408be7:	8d 45 f0             	lea    -0x10(%ebp),%eax
408bea:	8b 40 08             	mov    0x8(%eax),%eax
408bed:	8b 0b                	mov    (%ebx),%ecx
408bef:	50                   	push   %eax
408bf0:	83 ec 10             	sub    $0x10,%esp
408bf3:	8b fc                	mov    %esp,%edi
408bf5:	8d 75 e0             	lea    -0x20(%ebp),%esi
408bf8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408bf9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408bfa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408bfb:	53                   	push   %ebx
408bfc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408bfd:	ff 51 6c             	call   *0x6c(%ecx)
408c00:	e9 55 fc ff ff       	jmp    0x40885a
408c05:	84 ca                	test   %cl,%dl
408c07:	74 28                	je     0x408c31
408c09:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
408c0d:	0f 85 2b fc ff ff    	jne    0x40883e
408c13:	8b 4d 20             	mov    0x20(%ebp),%ecx
408c16:	8b 75 bc             	mov    -0x44(%ebp),%esi
408c19:	8b 03                	mov    (%ebx),%eax
408c1b:	83 c1 08             	add    $0x8,%ecx
408c1e:	51                   	push   %ecx
408c1f:	83 ec 10             	sub    $0x10,%esp
408c22:	8b fc                	mov    %esp,%edi
408c24:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408c25:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408c26:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408c27:	53                   	push   %ebx
408c28:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408c29:	ff 50 28             	call   *0x28(%eax)
408c2c:	e9 d3 fd ff ff       	jmp    0x408a04
408c31:	f6 c1 04             	test   $0x4,%cl
408c34:	74 53                	je     0x408c89
408c36:	39 57 08             	cmp    %edx,0x8(%edi)
408c39:	0f 85 ff fb ff ff    	jne    0x40883e
408c3f:	8b 75 bc             	mov    -0x44(%ebp),%esi
408c42:	8b 45 c0             	mov    -0x40(%ebp),%eax
408c45:	66 83 38 08          	cmpw   $0x8,(%eax)
408c49:	8d 7d e0             	lea    -0x20(%ebp),%edi
408c4c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408c4d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408c4e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408c4f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408c50:	74 1c                	je     0x408c6e
408c52:	6a 03                	push   $0x3
408c54:	6a 00                	push   $0x0
408c56:	50                   	push   %eax
408c57:	8d 45 f0             	lea    -0x10(%ebp),%eax
408c5a:	50                   	push   %eax
408c5b:	ff 15 f0 04 4b 00    	call   *0x4b04f0
408c61:	8b f0                	mov    %eax,%esi
408c63:	85 f6                	test   %esi,%esi
408c65:	0f 8c 4a fc ff ff    	jl     0x4088b5
408c6b:	8d 45 f0             	lea    -0x10(%ebp),%eax
408c6e:	8b 40 08             	mov    0x8(%eax),%eax
408c71:	8b 0b                	mov    (%ebx),%ecx
408c73:	50                   	push   %eax
408c74:	83 ec 10             	sub    $0x10,%esp
408c77:	8b fc                	mov    %esp,%edi
408c79:	8d 75 e0             	lea    -0x20(%ebp),%esi
408c7c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408c7d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408c7e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408c7f:	53                   	push   %ebx
408c80:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408c81:	ff 51 68             	call   *0x68(%ecx)
408c84:	e9 d1 fb ff ff       	jmp    0x40885a
408c89:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
408c8d:	0f 85 ab fb ff ff    	jne    0x40883e
408c93:	8b 4d 20             	mov    0x20(%ebp),%ecx
408c96:	8b 75 bc             	mov    -0x44(%ebp),%esi
408c99:	8b 03                	mov    (%ebx),%eax
408c9b:	83 c1 08             	add    $0x8,%ecx
408c9e:	51                   	push   %ecx
408c9f:	83 ec 10             	sub    $0x10,%esp
408ca2:	8b fc                	mov    %esp,%edi
408ca4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408ca5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408ca6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408ca7:	53                   	push   %ebx
408ca8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408ca9:	ff 50 24             	call   *0x24(%eax)
408cac:	eb 1f                	jmp    0x408ccd
408cae:	8b 4d 20             	mov    0x20(%ebp),%ecx
408cb1:	8b 03                	mov    (%ebx),%eax
408cb3:	83 c1 08             	add    $0x8,%ecx
408cb6:	51                   	push   %ecx
408cb7:	53                   	push   %ebx
408cb8:	ff 50 20             	call   *0x20(%eax)
408cbb:	e9 12 fe ff ff       	jmp    0x408ad2
408cc0:	8b 4d 20             	mov    0x20(%ebp),%ecx
408cc3:	8b 03                	mov    (%ebx),%eax
408cc5:	83 c1 08             	add    $0x8,%ecx
408cc8:	51                   	push   %ecx
408cc9:	53                   	push   %ebx
408cca:	ff 50 1c             	call   *0x1c(%eax)
408ccd:	8b f0                	mov    %eax,%esi
408ccf:	85 f6                	test   %esi,%esi
408cd1:	7c 08                	jl     0x408cdb
408cd3:	8b 45 20             	mov    0x20(%ebp),%eax
408cd6:	66 c7 00 09 00       	movw   $0x9,(%eax)
408cdb:	8d 45 f0             	lea    -0x10(%ebp),%eax
408cde:	50                   	push   %eax
408cdf:	ff 15 f4 04 4b 00    	call   *0x4b04f4
408ce5:	8b c6                	mov    %esi,%eax
408ce7:	5f                   	pop    %edi
408ce8:	5e                   	pop    %esi
408ce9:	5b                   	pop    %ebx
408cea:	c9                   	leave
408ceb:	c2 24 00             	ret    $0x24
408cee:	38 88 40 00 61 88    	cmp    %cl,-0x779effc0(%eax)
408cf4:	40                   	inc    %eax
408cf5:	00 d8                	add    %bl,%al
408cf7:	88 40 00             	mov    %al,0x0(%eax)
408cfa:	21 89 40 00 97 89    	and    %ecx,-0x7668ffc0(%ecx)
408d00:	40                   	inc    %eax
408d01:	00 e1                	add    %ah,%cl
408d03:	89 40 00             	mov    %eax,0x0(%eax)
408d06:	1b 8a 40 00 29 8a    	sbb    -0x75d6ffc0(%edx),%ecx
408d0c:	40                   	inc    %eax
408d0d:	00 37                	add    %dh,(%edi)
408d0f:	8a 40 00             	mov    0x0(%eax),%al
408d12:	5c                   	pop    %esp
408d13:	8a 40 00             	mov    0x0(%eax),%al
408d16:	e9 8a 40 00 11       	jmp    0x1140cda5
408d1b:	8b 40 00             	mov    0x0(%eax),%eax
408d1e:	35 8b 40 00 59       	xor    $0x5900408b,%eax
408d23:	8b 40 00             	mov    0x0(%eax),%eax
408d26:	81 8b 40 00 05 8c 40 	orl    $0x8c890040,-0x73faffc0(%ebx)
408d2d:	00 89 8c
408d30:	40                   	inc    %eax
408d31:	00 ae 8c 40 00 c0    	add    %ch,-0x3fffbf74(%esi)
408d37:	8c 40 00             	mov    %es,0x0(%eax)
408d3a:	55                   	push   %ebp