40d9a4:	ff 75 fc             	push   -0x4(%ebp)
40d9a7:	8b c6                	mov    %esi,%eax
40d9a9:	ba 03 00 00 00       	mov    $0x3,%edx
40d9ae:	e8 31 6b ff ff       	call   0x4044e4
40d9b3:	8d 45 f0             	lea    -0x10(%ebp),%eax
40d9b6:	50                   	push   %eax
40d9b7:	8b c7                	mov    %edi,%eax
40d9b9:	e8 66 6a ff ff       	call   0x404424
40d9be:	8b d0                	mov    %eax,%edx
40d9c0:	03 d3                	add    %ebx,%edx
40d9c2:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
40d9c7:	8b 45 f0             	mov    -0x10(%ebp),%eax
40d9ca:	e8 b5 6c ff ff       	call   0x404684
40d9cf:	f6 45 0c 01          	testb  $0x1,0xc(%ebp)
40d9d3:	75 0c                	jne    0x40d9e1
40d9d5:	8b c6                	mov    %esi,%eax
40d9d7:	8b 55 f0             	mov    -0x10(%ebp),%edx
40d9da:	e8 4d 6a ff ff       	call   0x40442c
40d9df:	eb 27                	jmp    0x40da08
40d9e1:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d9e4:	50                   	push   %eax
40d9e5:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d9e8:	e8 37 6a ff ff       	call   0x404424
40d9ed:	8b d0                	mov    %eax,%edx
40d9ef:	03 d3                	add    %ebx,%edx
40d9f1:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
40d9f6:	8b 45 f8             	mov    -0x8(%ebp),%eax
40d9f9:	e8 86 6c ff ff       	call   0x404684
40d9fe:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40da02:	0f 85 66 ff ff ff    	jne    0x40d96e
40da08:	33 c0                	xor    %eax,%eax
40da0a:	5a                   	pop    %edx
40da0b:	59                   	pop    %ecx
40da0c:	59                   	pop    %ecx
40da0d:	64 89 10             	mov    %edx,%fs:(%eax)
40da10:	68 2a da 40 00       	push   $0x40da2a
40da15:	8d 45 ec             	lea    -0x14(%ebp),%eax
40da18:	ba 04 00 00 00       	mov    $0x4,%edx
40da1d:	e8 66 67 ff ff       	call   0x404188
40da22:	c3                   	ret
40da23:	e9 40 61 ff ff       	jmp    0x403b68
40da28:	eb eb                	jmp    0x40da15
40da2a:	5f                   	pop    %edi
40da2b:	5e                   	pop    %esi
40da2c:	5b                   	pop    %ebx
40da2d:	8b e5                	mov    %ebp,%esp
40da2f:	5d                   	pop    %ebp
40da30:	c2 08 00             	ret    $0x8
40da33:	90                   	nop
40da34:	ff 25 e0 d6 49 00    	jmp    *0x49d6e0
40da3a:	8b c0                	mov    %eax,%eax
40da3c:	55                   	push   %ebp
40da3d:	8b ec                	mov    %esp,%ebp
40da3f:	83 c4 ec             	add    $0xffffffec,%esp
40da42:	53                   	push   %ebx
40da43:	33 c0                	xor    %eax,%eax
40da45:	89 45 ec             	mov    %eax,-0x14(%ebp)
40da48:	33 c0                	xor    %eax,%eax
40da4a:	55                   	push   %ebp
40da4b:	68 cc da 40 00       	push   $0x40dacc
40da50:	64 ff 30             	push   %fs:(%eax)
40da53:	64 89 20             	mov    %esp,%fs:(%eax)
40da56:	e8 7d 8d ff ff       	call   0x4067d8
40da5b:	8b d8                	mov    %eax,%ebx
40da5d:	85 db                	test   %ebx,%ebx
40da5f:	74 37                	je     0x40da98
40da61:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40da64:	c6 45 f4 00          	movb   $0x0,-0xc(%ebp)
40da68:	8d 55 ec             	lea    -0x14(%ebp),%edx
40da6b:	8b c3                	mov    %ebx,%eax
40da6d:	e8 9a e1 ff ff       	call   0x40bc0c
40da72:	8b 45 ec             	mov    -0x14(%ebp),%eax
40da75:	89 45 f8             	mov    %eax,-0x8(%ebp)
40da78:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
40da7c:	8d 45 f0             	lea    -0x10(%ebp),%eax
40da7f:	50                   	push   %eax
40da80:	6a 01                	push   $0x1
40da82:	8b 0d 50 b3 49 00    	mov    0x49b350,%ecx
40da88:	b2 01                	mov    $0x1,%dl
40da8a:	a1 58 80 40 00       	mov    0x408058,%eax
40da8f:	e8 9c ea ff ff       	call   0x40c530
40da94:	8b d0                	mov    %eax,%edx
40da96:	eb 14                	jmp    0x40daac
40da98:	8b 0d 98 b4 49 00    	mov    0x49b498,%ecx
40da9e:	b2 01                	mov    $0x1,%dl
40daa0:	a1 58 80 40 00       	mov    0x408058,%eax
40daa5:	e8 4a ea ff ff       	call   0x40c4f4
40daaa:	8b d0                	mov    %eax,%edx
40daac:	89 5a 0c             	mov    %ebx,0xc(%edx)
40daaf:	8b c2                	mov    %edx,%eax
40dab1:	e8 ea 60 ff ff       	call   0x403ba0
40dab6:	33 c0                	xor    %eax,%eax
40dab8:	5a                   	pop    %edx
40dab9:	59                   	pop    %ecx
40daba:	59                   	pop    %ecx
40dabb:	64 89 10             	mov    %edx,%fs:(%eax)
40dabe:	68 d3 da 40 00       	push   $0x40dad3
40dac3:	8d 45 ec             	lea    -0x14(%ebp),%eax
40dac6:	e8 99 66 ff ff       	call   0x404164
40dacb:	c3                   	ret
40dacc:	e9 97 60 ff ff       	jmp    0x403b68
40dad1:	eb f0                	jmp    0x40dac3
40dad3:	5b                   	pop    %ebx
40dad4:	8b e5                	mov    %ebp,%esp
40dad6:	5d                   	pop    %ebp
40dad7:	c3                   	ret
40dad8:	53                   	push   %ebx
40dad9:	8b d8                	mov    %eax,%ebx
40dadb:	85 db                	test   %ebx,%ebx
40dadd:	75 05                	jne    0x40dae4
40dadf:	e8 58 ff ff ff       	call   0x40da3c
40dae4:	8b c3                	mov    %ebx,%eax
40dae6:	5b                   	pop    %ebx
40dae7:	c3                   	ret
40dae8:	53                   	push   %ebx
40dae9:	b0 01                	mov    $0x1,%al
40daeb:	8b 1d 0c d3 48 00    	mov    0x48d30c,%ebx
40daf1:	eb 05                	jmp    0x40daf8
40daf3:	ff 53 04             	call   *0x4(%ebx)
40daf6:	8b 1b                	mov    (%ebx),%ebx
40daf8:	84 c0                	test   %al,%al
40dafa:	74 04                	je     0x40db00
40dafc:	85 db                	test   %ebx,%ebx
40dafe:	75 f3                	jne    0x40daf3
40db00:	5b                   	pop    %ebx
40db01:	c3                   	ret
40db02:	8b c0                	mov    %eax,%eax
40db04:	53                   	push   %ebx
40db05:	bb 0c d3 48 00       	mov    $0x48d30c,%ebx
40db0a:	eb 10                	jmp    0x40db1c
40db0c:	8b 03                	mov    (%ebx),%eax
40db0e:	8b 10                	mov    (%eax),%edx
40db10:	89 13                	mov    %edx,(%ebx)
40db12:	ba 08 00 00 00       	mov    $0x8,%edx
40db17:	e8 7c 4c ff ff       	call   0x402798
40db1c:	83 3b 00             	cmpl   $0x0,(%ebx)
40db1f:	75 eb                	jne    0x40db0c
40db21:	5b                   	pop    %ebx
40db22:	c3                   	ret
40db23:	90                   	nop
40db24:	8b 10                	mov    (%eax),%edx
40db26:	33 50 04             	xor    0x4(%eax),%edx
40db29:	33 50 08             	xor    0x8(%eax),%edx
40db2c:	33 50 0c             	xor    0xc(%eax),%edx
40db2f:	89 d0                	mov    %edx,%eax
40db31:	c3                   	ret
40db32:	8b c0                	mov    %eax,%eax
40db34:	8b 10                	mov    (%eax),%edx
40db36:	c1 ca 05             	ror    $0x5,%edx
40db39:	33 50 04             	xor    0x4(%eax),%edx
40db3c:	c1 ca 05             	ror    $0x5,%edx
40db3f:	33 50 08             	xor    0x8(%eax),%edx
40db42:	c1 ca 05             	ror    $0x5,%edx
40db45:	33 50 0c             	xor    0xc(%eax),%edx
40db48:	89 d0                	mov    %edx,%eax
40db4a:	c3                   	ret
40db4b:	90                   	nop
40db4c:	8b 0d e8 af 49 00    	mov    0x49afe8,%ecx
40db52:	b2 01                	mov    $0x1,%dl
40db54:	a1 a0 76 40 00       	mov    0x4076a0,%eax
40db59:	e8 96 e9 ff ff       	call   0x40c4f4
40db5e:	e8 3d 60 ff ff       	call   0x403ba0
40db63:	c3                   	ret
40db64:	53                   	push   %ebx
40db65:	56                   	push   %esi
40db66:	57                   	push   %edi
40db67:	a1 cc b0 49 00       	mov    0x49b0cc,%eax
40db6c:	83 38 00             	cmpl   $0x0,(%eax)
40db6f:	74 24                	je     0x40db95
40db71:	6a 0a                	push   $0xa
40db73:	68 cc db 40 00       	push   $0x40dbcc
40db78:	a1 cc b0 49 00       	mov    0x49b0cc,%eax
40db7d:	8b 00                	mov    (%eax),%eax
40db7f:	50                   	push   %eax
40db80:	e8 db 8b ff ff       	call   0x406760
40db85:	50                   	push   %eax
40db86:	a1 cc b0 49 00       	mov    0x49b0cc,%eax
40db8b:	8b 00                	mov    (%eax),%eax
40db8d:	50                   	push   %eax
40db8e:	e8 35 8d ff ff       	call   0x4068c8
40db93:	eb 31                	jmp    0x40dbc6
40db95:	33 c0                	xor    %eax,%eax
40db97:	8b 1d 10 b4 49 00    	mov    0x49b410,%ebx
40db9d:	8b 1b                	mov    (%ebx),%ebx
40db9f:	85 db                	test   %ebx,%ebx
40dba1:	74 23                	je     0x40dbc6
40dba3:	8b f3                	mov    %ebx,%esi
40dba5:	6a 0a                	push   $0xa
40dba7:	68 cc db 40 00       	push   $0x40dbcc
40dbac:	8b 7e 04             	mov    0x4(%esi),%edi
40dbaf:	57                   	push   %edi
40dbb0:	e8 ab 8b ff ff       	call   0x406760
40dbb5:	50                   	push   %eax
40dbb6:	57                   	push   %edi
40dbb7:	e8 0c 8d ff ff       	call   0x4068c8
40dbbc:	85 c0                	test   %eax,%eax
40dbbe:	75 06                	jne    0x40dbc6
40dbc0:	8b 1b                	mov    (%ebx),%ebx
40dbc2:	85 db                	test   %ebx,%ebx
40dbc4:	75 dd                	jne    0x40dba3
40dbc6:	5f                   	pop    %edi
40dbc7:	5e                   	pop    %esi
40dbc8:	5b                   	pop    %ebx
40dbc9:	c3                   	ret
40dbca:	00 00                	add    %al,(%eax)
40dbcc:	44                   	inc    %esp
40dbcd:	56                   	push   %esi
40dbce:	43                   	inc    %ebx
40dbcf:	4c                   	dec    %esp
40dbd0:	41                   	inc    %ecx
40dbd1:	4c                   	dec    %esp
40dbd2:	00 00                	add    %al,(%eax)
40dbd4:	53                   	push   %ebx
40dbd5:	56                   	push   %esi
40dbd6:	57                   	push   %edi
40dbd7:	55                   	push   %ebp
40dbd8:	51                   	push   %ecx
40dbd9:	e8 86 ff ff ff       	call   0x40db64
40dbde:	8b d8                	mov    %eax,%ebx
40dbe0:	85 db                	test   %ebx,%ebx
40dbe2:	74 56                	je     0x40dc3a
40dbe4:	8b fb                	mov    %ebx,%edi
40dbe6:	8b c7                	mov    %edi,%eax
40dbe8:	e8 37 ff ff ff       	call   0x40db24
40dbed:	8b f0                	mov    %eax,%esi
40dbef:	8b c7                	mov    %edi,%eax
40dbf1:	e8 3e ff ff ff       	call   0x40db34
40dbf6:	8b ee                	mov    %esi,%ebp
40dbf8:	ba 10 d3 48 00       	mov    $0x48d310,%edx
40dbfd:	bf 20 d3 48 00       	mov    $0x48d320,%edi
40dc02:	3b 32                	cmp    (%edx),%esi
40dc04:	75 04                	jne    0x40dc0a
40dc06:	3b 07                	cmp    (%edi),%eax
40dc08:	74 18                	je     0x40dc22
40dc0a:	3b 72 04             	cmp    0x4(%edx),%esi
40dc0d:	75 05                	jne    0x40dc14
40dc0f:	3b 47 04             	cmp    0x4(%edi),%eax
40dc12:	74 0e                	je     0x40dc22
40dc14:	3b 72 08             	cmp    0x8(%edx),%esi
40dc17:	75 05                	jne    0x40dc1e
40dc19:	3b 47 08             	cmp    0x8(%edi),%eax
40dc1c:	74 04                	je     0x40dc22
40dc1e:	33 c0                	xor    %eax,%eax
40dc20:	eb 02                	jmp    0x40dc24
40dc22:	b0 01                	mov    $0x1,%al
40dc24:	88 04 24             	mov    %al,(%esp)
40dc27:	53                   	push   %ebx
40dc28:	e8 63 8b ff ff       	call   0x406790
40dc2d:	80 3c 24 00          	cmpb   $0x0,(%esp)
40dc31:	75 0d                	jne    0x40dc40
40dc33:	e8 14 ff ff ff       	call   0x40db4c
40dc38:	eb 06                	jmp    0x40dc40
40dc3a:	8b 2d 1c d3 48 00    	mov    0x48d31c,%ebp
40dc40:	8b c5                	mov    %ebp,%eax
40dc42:	5a                   	pop    %edx
40dc43:	5d                   	pop    %ebp
40dc44:	5f                   	pop    %edi
40dc45:	5e                   	pop    %esi
40dc46:	5b                   	pop    %ebx
40dc47:	c3                   	ret
40dc48:	e8 87 ff ff ff       	call   0x40dbd4
40dc4d:	3b 05 14 d3 48 00    	cmp    0x48d314,%eax
40dc53:	74 0d                	je     0x40dc62
40dc55:	3b 05 18 d3 48 00    	cmp    0x48d318,%eax
40dc5b:	74 05                	je     0x40dc62
40dc5d:	e8 ea fe ff ff       	call   0x40db4c
40dc62:	c3                   	ret
40dc63:	90                   	nop
40dc64:	53                   	push   %ebx
40dc65:	68 9c dc 40 00       	push   $0x40dc9c
40dc6a:	e8 89 8b ff ff       	call   0x4067f8
40dc6f:	8b d8                	mov    %eax,%ebx
40dc71:	85 db                	test   %ebx,%ebx
40dc73:	74 10                	je     0x40dc85
40dc75:	68 ac dc 40 00       	push   $0x40dcac
40dc7a:	53                   	push   %ebx
40dc7b:	e8 88 8b ff ff       	call   0x406808
40dc80:	a3 30 d1 48 00       	mov    %eax,0x48d130
40dc85:	83 3d 30 d1 48 00 00 	cmpl   $0x0,0x48d130
40dc8c:	75 0a                	jne    0x40dc98
40dc8e:	b8 a8 8d 40 00       	mov    $0x408da8,%eax
40dc93:	a3 30 d1 48 00       	mov    %eax,0x48d130
40dc98:	5b                   	pop    %ebx
40dc99:	c3                   	ret
40dc9a:	00 00                	add    %al,(%eax)
40dc9c:	6b 65 72 6e          	imul   $0x6e,0x72(%ebp),%esp
40dca0:	65 6c                	gs insb (%dx),%es:(%edi)
40dca2:	33 32                	xor    (%edx),%esi
40dca4:	2e 64 6c             	cs fs insb (%dx),%es:(%edi)
40dca7:	6c                   	insb   (%dx),%es:(%edi)
40dca8:	00 00                	add    %al,(%eax)
40dcaa:	00 00                	add    %al,(%eax)
40dcac:	47                   	inc    %edi
40dcad:	65 74 44             	gs je  0x40dcf4
40dcb0:	69 73 6b 46 72 65 65 	imul   $0x65657246,0x6b(%ebx),%esi
40dcb7:	53                   	push   %ebx
40dcb8:	70 61                	jo     0x40dd1b
40dcba:	63 65 45             	arpl   %esp,0x45(%ebp)
40dcbd:	78 41                	js     0x40dd00
40dcbf:	00 ba 01 00 00 00    	add    %bh,0x1(%edx)
40dcc5:	92                   	xchg   %eax,%edx
40dcc6:	f0 0f c1 02          	lock xadd %eax,(%edx)
40dcca:	40                   	inc    %eax
40dccb:	c3                   	ret
40dccc:	ba ff ff ff ff       	mov    $0xffffffff,%edx
40dcd1:	92                   	xchg   %eax,%edx
40dcd2:	f0 0f c1 02          	lock xadd %eax,(%edx)
40dcd6:	48                   	dec    %eax
40dcd7:	c3                   	ret
40dcd8:	87 10                	xchg   %edx,(%eax)
40dcda:	89 d0                	mov    %edx,%eax
40dcdc:	c3                   	ret
40dcdd:	8d 40 00             	lea    0x0(%eax),%eax
40dce0:	92                   	xchg   %eax,%edx
40dce1:	f0 0f c1 02          	lock xadd %eax,(%edx)
40dce5:	c3                   	ret
40dce6:	8b c0                	mov    %eax,%eax
40dce8:	53                   	push   %ebx
40dce9:	56                   	push   %esi
40dcea:	57                   	push   %edi
40dceb:	55                   	push   %ebp
40dcec:	e8 af 5a ff ff       	call   0x4037a0
40dcf1:	8b da                	mov    %edx,%ebx
40dcf3:	8b f8                	mov    %eax,%edi
40dcf5:	33 f6                	xor    %esi,%esi
40dcf7:	8b 6c b7 04          	mov    0x4(%edi,%esi,4),%ebp
40dcfb:	33 c0                	xor    %eax,%eax
40dcfd:	89 44 b7 04          	mov    %eax,0x4(%edi,%esi,4)
40dd01:	85 ed                	test   %ebp,%ebp
40dd03:	74 0e                	je     0x40dd13
40dd05:	8b c5                	mov    %ebp,%eax
40dd07:	8b 6d 00             	mov    0x0(%ebp),%ebp
40dd0a:	e8 89 4a ff ff       	call   0x402798
40dd0f:	85 ed                	test   %ebp,%ebp
40dd11:	75 f2                	jne    0x40dd05
40dd13:	46                   	inc    %esi
40dd14:	83 fe 10             	cmp    $0x10,%esi
40dd17:	75 de                	jne    0x40dcf7
40dd19:	8b d3                	mov    %ebx,%edx
40dd1b:	80 e2 fc             	and    $0xfc,%dl
40dd1e:	8b c7                	mov    %edi,%eax
40dd20:	e8 b7 56 ff ff       	call   0x4033dc
40dd25:	84 db                	test   %bl,%bl
40dd27:	7e 07                	jle    0x40dd30
40dd29:	8b c7                	mov    %edi,%eax
40dd2b:	e8 58 5a ff ff       	call   0x403788
40dd30:	5d                   	pop    %ebp
40dd31:	5f                   	pop    %edi
40dd32:	5e                   	pop    %esi
40dd33:	5b                   	pop    %ebx