4089c0:	55                   	push   %ebp
4089c1:	8b ec                	mov    %esp,%ebp
4089c3:	51                   	push   %ecx
4089c4:	53                   	push   %ebx
4089c5:	8b 5d 08             	mov    0x8(%ebp),%ebx
4089c8:	32 c0                	xor    %al,%al
4089ca:	56                   	push   %esi
4089cb:	57                   	push   %edi
4089cc:	8b f2                	mov    %edx,%esi
4089ce:	8b f9                	mov    %ecx,%edi
4089d0:	89 7d fc             	mov    %edi,-0x4(%ebp)
4089d3:	c6 03 00             	movb   $0x0,(%ebx)
4089d6:	85 f6                	test   %esi,%esi
4089d8:	0f 84 91 00 00 00    	je     0x408a6f
4089de:	ff 75 0c             	push   0xc(%ebp)
4089e1:	8b 56 08             	mov    0x8(%esi),%edx
4089e4:	53                   	push   %ebx
4089e5:	e8 d4 ff ff ff       	call   0x4089be
4089ea:	8b 56 10             	mov    0x10(%esi),%edx
4089ed:	85 d2                	test   %edx,%edx
4089ef:	74 7e                	je     0x408a6f
4089f1:	83 3a 00             	cmpl   $0x0,(%edx)
4089f4:	75 0e                	jne    0x408a04
4089f6:	33 c0                	xor    %eax,%eax
4089f8:	40                   	inc    %eax
4089f9:	f0 0f c1 05 44 13 41 	lock xadd %eax,0x411344
408a00:	00
408a01:	40                   	inc    %eax
408a02:	89 02                	mov    %eax,(%edx)
408a04:	83 7f 2c 00          	cmpl   $0x0,0x2c(%edi)
408a08:	75 0b                	jne    0x408a15
408a0a:	8b f2                	mov    %edx,%esi
408a0c:	8d 7f 2c             	lea    0x2c(%edi),%edi
408a0f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a10:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a11:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a12:	8b 7d fc             	mov    -0x4(%ebp),%edi
408a15:	83 c7 38             	add    $0x38,%edi
408a18:	8b f2                	mov    %edx,%esi
408a1a:	8b cb                	mov    %ebx,%ecx
408a1c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a1d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a1e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a1f:	8b 75 0c             	mov    0xc(%ebp),%esi
408a22:	8d 79 01             	lea    0x1(%ecx),%edi
408a25:	03 f3                	add    %ebx,%esi
408a27:	8a 01                	mov    (%ecx),%al
408a29:	41                   	inc    %ecx
408a2a:	84 c0                	test   %al,%al
408a2c:	75 f9                	jne    0x408a27
408a2e:	2b cf                	sub    %edi,%ecx
408a30:	8b c6                	mov    %esi,%eax
408a32:	03 d9                	add    %ecx,%ebx
408a34:	2b c3                	sub    %ebx,%eax
408a36:	83 f8 02             	cmp    $0x2,%eax
408a39:	7e 32                	jle    0x408a6d
408a3b:	c6 03 5c             	movb   $0x5c,(%ebx)
408a3e:	43                   	inc    %ebx
408a3f:	8b 4a 04             	mov    0x4(%edx),%ecx
408a42:	8d 79 01             	lea    0x1(%ecx),%edi
408a45:	8a 01                	mov    (%ecx),%al
408a47:	41                   	inc    %ecx
408a48:	84 c0                	test   %al,%al
408a4a:	75 f9                	jne    0x408a45
408a4c:	2b cf                	sub    %edi,%ecx
408a4e:	2b f3                	sub    %ebx,%esi
408a50:	8d 79 01             	lea    0x1(%ecx),%edi
408a53:	3b fe                	cmp    %esi,%edi
408a55:	72 02                	jb     0x408a59
408a57:	8b fe                	mov    %esi,%edi
408a59:	57                   	push   %edi
408a5a:	ff 72 04             	push   0x4(%edx)
408a5d:	56                   	push   %esi
408a5e:	53                   	push   %ebx
408a5f:	ff 15 e8 33 43 00    	call   *0x4333e8
408a65:	83 c4 10             	add    $0x10,%esp
408a68:	c6 44 1f ff 00       	movb   $0x0,-0x1(%edi,%ebx,1)
408a6d:	b0 01                	mov    $0x1,%al
408a6f:	5f                   	pop    %edi
408a70:	5e                   	pop    %esi
408a71:	5b                   	pop    %ebx
408a72:	c9                   	leave
408a73:	c2 08 00             	ret    $0x8
408a76:	8b ff                	mov    %edi,%edi
408a78:	55                   	push   %ebp
408a79:	8b ec                	mov    %esp,%ebp
408a7b:	83 ec 0c             	sub    $0xc,%esp
408a7e:	53                   	push   %ebx
408a7f:	56                   	push   %esi
408a80:	57                   	push   %edi
408a81:	8b fa                	mov    %edx,%edi
408a83:	33 db                	xor    %ebx,%ebx
408a85:	8b c1                	mov    %ecx,%eax
408a87:	88 5d f4             	mov    %bl,-0xc(%ebp)
408a8a:	89 45 fc             	mov    %eax,-0x4(%ebp)
408a8d:	88 1f                	mov    %bl,(%edi)
408a8f:	39 1d 88 26 43 00    	cmp    %ebx,0x432688
408a95:	74 0d                	je     0x408aa4
408a97:	53                   	push   %ebx
408a98:	e8 7d 67 00 00       	call   0x40f21a
408a9d:	8b f0                	mov    %eax,%esi
408a9f:	8b 45 fc             	mov    -0x4(%ebp),%eax
408aa2:	eb 02                	jmp    0x408aa6
408aa4:	8b f3                	mov    %ebx,%esi
408aa6:	85 f6                	test   %esi,%esi
408aa8:	74 4b                	je     0x408af5
408aaa:	39 1e                	cmp    %ebx,(%esi)
408aac:	74 47                	je     0x408af5
408aae:	ff 75 08             	push   0x8(%ebp)
408ab1:	88 1f                	mov    %bl,(%edi)
408ab3:	8b c8                	mov    %eax,%ecx
408ab5:	8b 16                	mov    (%esi),%edx
408ab7:	57                   	push   %edi
408ab8:	e8 01 ff ff ff       	call   0x4089be
408abd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408ac0:	84 c0                	test   %al,%al
408ac2:	74 03                	je     0x408ac7
408ac4:	89 79 28             	mov    %edi,0x28(%ecx)
408ac7:	8b 06                	mov    (%esi),%eax
408ac9:	89 45 f8             	mov    %eax,-0x8(%ebp)
408acc:	8b 78 04             	mov    0x4(%eax),%edi
408acf:	51                   	push   %ecx
408ad0:	8b 07                	mov    (%edi),%eax
408ad2:	8b 30                	mov    (%eax),%esi
408ad4:	8b ce                	mov    %esi,%ecx
408ad6:	ff 15 18 34 43 00    	call   *0x433418
408adc:	8b cf                	mov    %edi,%ecx
408ade:	ff d6                	call   *%esi
408ae0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408ae3:	0a d8                	or     %al,%bl
408ae5:	8b 45 f8             	mov    -0x8(%ebp),%eax
408ae8:	88 5d f4             	mov    %bl,-0xc(%ebp)
408aeb:	8b 40 08             	mov    0x8(%eax),%eax
408aee:	89 45 f8             	mov    %eax,-0x8(%ebp)
408af1:	85 c0                	test   %eax,%eax
408af3:	75 d7                	jne    0x408acc
408af5:	8b 35 14 26 43 00    	mov    0x432614,%esi
408afb:	85 f6                	test   %esi,%esi
408afd:	74 10                	je     0x408b0f
408aff:	ff 75 fc             	push   -0x4(%ebp)
408b02:	8b ce                	mov    %esi,%ecx
408b04:	ff 75 f4             	push   -0xc(%ebp)
408b07:	ff 15 18 34 43 00    	call   *0x433418
408b0d:	ff d6                	call   *%esi
408b0f:	5f                   	pop    %edi
408b10:	5e                   	pop    %esi
408b11:	5b                   	pop    %ebx
408b12:	c9                   	leave
408b13:	c2 04 00             	ret    $0x4
408b16:	cc                   	int3
408b17:	cc                   	int3
408b18:	cc                   	int3
408b19:	cc                   	int3
408b1a:	cc                   	int3
408b1b:	cc                   	int3
408b1c:	cc                   	int3
408b1d:	cc                   	int3
408b1e:	cc                   	int3
408b1f:	cc                   	int3
408b20:	8b ff                	mov    %edi,%edi
408b22:	55                   	push   %ebp
408b23:	8b ec                	mov    %esp,%ebp
408b25:	ff 75 10             	push   0x10(%ebp)
408b28:	8b 55 0c             	mov    0xc(%ebp),%edx
408b2b:	8b 4d 08             	mov    0x8(%ebp),%ecx
408b2e:	e8 43 ff ff ff       	call   0x408a76
408b33:	ff 15 50 31 43 00    	call   *0x433150
408b39:	39 05 90 26 43 00    	cmp    %eax,0x432690
408b3f:	74 3a                	je     0x408b7b
408b41:	33 c9                	xor    %ecx,%ecx
408b43:	41                   	inc    %ecx
408b44:	f0 0f c1 0d 8c 26 43 	lock xadd %ecx,0x43268c
408b4b:	00
408b4c:	41                   	inc    %ecx
408b4d:	83 f9 04             	cmp    $0x4,%ecx
408b50:	7d 22                	jge    0x408b74
408b52:	a3 90 26 43 00       	mov    %eax,0x432690
408b57:	e8 3d fd ff ff       	call   0x408899
408b5c:	85 c0                	test   %eax,%eax
408b5e:	74 0a                	je     0x408b6a
408b60:	ff 75 08             	push   0x8(%ebp)
408b63:	8b c8                	mov    %eax,%ecx
408b65:	e8 6b fc ff ff       	call   0x4087d5
408b6a:	c7 05 90 26 43 00 00 	movl   $0x0,0x432690
408b71:	00 00 00
408b74:	f0 ff 0d 8c 26 43 00 	lock decl 0x43268c
408b7b:	5d                   	pop    %ebp
408b7c:	c2 0c 00             	ret    $0xc
408b7f:	8b ff                	mov    %edi,%edi
408b81:	56                   	push   %esi
408b82:	8b f1                	mov    %ecx,%esi
408b84:	80 7e 0c 00          	cmpb   $0x0,0xc(%esi)
408b88:	74 16                	je     0x408ba0
408b8a:	ff 76 08             	push   0x8(%esi)
408b8d:	6a 00                	push   $0x0
408b8f:	ff 15 44 31 43 00    	call   *0x433144
408b95:	50                   	push   %eax
408b96:	ff 15 48 31 43 00    	call   *0x433148
408b9c:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
408ba0:	83 66 08 00          	andl   $0x0,0x8(%esi)
408ba4:	5e                   	pop    %esi
408ba5:	c3                   	ret
408ba6:	cc                   	int3
408ba7:	cc                   	int3
408ba8:	cc                   	int3
408ba9:	cc                   	int3
408baa:	cc                   	int3
408bab:	cc                   	int3
408bac:	cc                   	int3
408bad:	cc                   	int3
408bae:	cc                   	int3
408baf:	cc                   	int3
408bb0:	c2 00 00             	ret    $0x0
408bb3:	cc                   	int3
408bb4:	cc                   	int3
408bb5:	cc                   	int3
408bb6:	cc                   	int3
408bb7:	cc                   	int3
408bb8:	cc                   	int3
408bb9:	cc                   	int3
408bba:	cc                   	int3
408bbb:	cc                   	int3
408bbc:	cc                   	int3
408bbd:	cc                   	int3
408bbe:	cc                   	int3
408bbf:	cc                   	int3
408bc0:	8b ff                	mov    %edi,%edi
408bc2:	55                   	push   %ebp
408bc3:	8b ec                	mov    %esp,%ebp
408bc5:	83 e4 f8             	and    $0xfffffff8,%esp
408bc8:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
408bcc:	75 1e                	jne    0x408bec
408bce:	83 79 0c 01          	cmpl   $0x1,0xc(%ecx)
408bd2:	75 0a                	jne    0x408bde
408bd4:	ff 75 0c             	push   0xc(%ebp)
408bd7:	e8 43 00 00 00       	call   0x408c1f
408bdc:	eb 0e                	jmp    0x408bec
408bde:	83 79 0c 02          	cmpl   $0x2,0xc(%ecx)
408be2:	75 08                	jne    0x408bec
408be4:	ff 75 0c             	push   0xc(%ebp)
408be7:	e8 15 01 00 00       	call   0x408d01
408bec:	8b e5                	mov    %ebp,%esp
408bee:	5d                   	pop    %ebp
408bef:	c2 08 00             	ret    $0x8
408bf2:	8b ff                	mov    %edi,%edi
408bf4:	51                   	push   %ecx
408bf5:	80 79 08 00          	cmpb   $0x0,0x8(%ecx)
408bf9:	c7 01 58 10 40 00    	movl   $0x401058,(%ecx)
408bff:	74 1c                	je     0x408c1d
408c01:	8b 49 04             	mov    0x4(%ecx),%ecx
408c04:	8b 41 1c             	mov    0x1c(%ecx),%eax
408c07:	8b 51 18             	mov    0x18(%ecx),%edx
408c0a:	83 21 00             	andl   $0x0,(%ecx)
408c0d:	83 61 18 00          	andl   $0x0,0x18(%ecx)
408c11:	83 61 1c 00          	andl   $0x0,0x1c(%ecx)
408c15:	50                   	push   %eax
408c16:	52                   	push   %edx
408c17:	ff 15 0c 30 43 00    	call   *0x43300c
408c1d:	59                   	pop    %ecx
408c1e:	c3                   	ret
408c1f:	8b ff                	mov    %edi,%edi
408c21:	55                   	push   %ebp
408c22:	8b ec                	mov    %esp,%ebp
408c24:	83 ec 48             	sub    $0x48,%esp
408c27:	56                   	push   %esi
408c28:	8b 71 04             	mov    0x4(%ecx),%esi
408c2b:	83 3e 02             	cmpl   $0x2,(%esi)
408c2e:	0f 86 c8 00 00 00    	jbe    0x408cfc
408c34:	68 00 20 00 00       	push   $0x2000
408c39:	6a 00                	push   $0x0
408c3b:	8b ce                	mov    %esi,%ecx
408c3d:	e8 65 99 ff ff       	call   0x4025a7
408c42:	84 c0                	test   %al,%al
408c44:	0f 84 b2 00 00 00    	je     0x408cfc
408c4a:	8b 4d 08             	mov    0x8(%ebp),%ecx
408c4d:	ba 46 20 40 00       	mov    $0x402046,%edx
408c52:	83 65 bc 00          	andl   $0x0,-0x44(%ebp)
408c56:	c7 45 b8 00 00 00 01 	movl   $0x1000000,-0x48(%ebp)
408c5d:	8b 41 40             	mov    0x40(%ecx),%eax
408c60:	89 45 fc             	mov    %eax,-0x4(%ebp)
408c63:	8b 41 3c             	mov    0x3c(%ecx),%eax
408c66:	89 45 f8             	mov    %eax,-0x8(%ebp)
408c69:	8b 41 38             	mov    0x38(%ecx),%eax
408c6c:	89 45 f4             	mov    %eax,-0xc(%ebp)
408c6f:	8b 41 34             	mov    0x34(%ecx),%eax
408c72:	89 45 f0             	mov    %eax,-0x10(%ebp)
408c75:	8b 41 30             	mov    0x30(%ecx),%eax
408c78:	89 45 ec             	mov    %eax,-0x14(%ebp)
408c7b:	8b 41 2c             	mov    0x2c(%ecx),%eax
408c7e:	89 45 e8             	mov    %eax,-0x18(%ebp)
408c81:	8b 41 28             	mov    0x28(%ecx),%eax
408c84:	89 45 e4             	mov    %eax,-0x1c(%ebp)
408c87:	8b 41 10             	mov    0x10(%ecx),%eax
408c8a:	89 45 e0             	mov    %eax,-0x20(%ebp)
408c8d:	8b 41 0c             	mov    0xc(%ecx),%eax
408c90:	89 45 dc             	mov    %eax,-0x24(%ebp)
408c93:	8b 01                	mov    (%ecx),%eax
408c95:	89 45 d8             	mov    %eax,-0x28(%ebp)
408c98:	8b 41 44             	mov    0x44(%ecx),%eax
408c9b:	89 45 d4             	mov    %eax,-0x2c(%ebp)
408c9e:	8b 41 20             	mov    0x20(%ecx),%eax
408ca1:	89 45 d0             	mov    %eax,-0x30(%ebp)
408ca4:	8b 41 1c             	mov    0x1c(%ecx),%eax
408ca7:	89 45 cc             	mov    %eax,-0x34(%ebp)
408caa:	8b 41 04             	mov    0x4(%ecx),%eax
408cad:	89 45 c8             	mov    %eax,-0x38(%ebp)
408cb0:	8d 45 b8             	lea    -0x48(%ebp),%eax
408cb3:	89 45 c4             	mov    %eax,-0x3c(%ebp)
408cb6:	8d 45 fc             	lea    -0x4(%ebp),%eax
408cb9:	50                   	push   %eax
408cba:	8d 45 f8             	lea    -0x8(%ebp),%eax
408cbd:	50                   	push   %eax
408cbe:	8d 45 f4             	lea    -0xc(%ebp),%eax
408cc1:	50                   	push   %eax
408cc2:	8d 45 f0             	lea    -0x10(%ebp),%eax
408cc5:	50                   	push   %eax
408cc6:	8d 45 ec             	lea    -0x14(%ebp),%eax
408cc9:	50                   	push   %eax
408cca:	8d 45 e8             	lea    -0x18(%ebp),%eax
408ccd:	50                   	push   %eax
408cce:	8d 45 e4             	lea    -0x1c(%ebp),%eax
408cd1:	50                   	push   %eax
408cd2:	8d 45 e0             	lea    -0x20(%ebp),%eax
408cd5:	50                   	push   %eax
408cd6:	8d 45 dc             	lea    -0x24(%ebp),%eax
408cd9:	50                   	push   %eax
408cda:	8d 45 d8             	lea    -0x28(%ebp),%eax
408cdd:	50                   	push   %eax
408cde:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408ce1:	50                   	push   %eax
408ce2:	8d 45 d0             	lea    -0x30(%ebp),%eax
408ce5:	50                   	push   %eax
408ce6:	8d 45 cc             	lea    -0x34(%ebp),%eax
408ce9:	50                   	push   %eax
408cea:	8d 45 c8             	lea    -0x38(%ebp),%eax
408ced:	50                   	push   %eax
408cee:	8d 45 c4             	lea    -0x3c(%ebp),%eax
408cf1:	50                   	push   %eax
408cf2:	51                   	push   %ecx
408cf3:	6a 00                	push   $0x0
408cf5:	8b ce                	mov    %esi,%ecx
408cf7:	e8 e0 98 ff ff       	call   0x4025dc
408cfc:	5e                   	pop    %esi
408cfd:	c9                   	leave
408cfe:	c2 04 00             	ret    $0x4
408d01:	8b ff                	mov    %edi,%edi
408d03:	55                   	push   %ebp
408d04:	8b ec                	mov    %esp,%ebp
408d06:	83 ec 50             	sub    $0x50,%esp
408d09:	56                   	push   %esi