401957:	50                   	push   %eax
401958:	68 30 07 00 00       	push   $0x730
40195d:	57                   	push   %edi
40195e:	ff 15 8c 40 40 00    	call   *0x40408c
401964:	85 c0                	test   %eax,%eax
401966:	75 18                	jne    0x401980
401968:	6a 10                	push   $0x10
40196a:	68 18 11 40 00       	push   $0x401118
40196f:	68 90 11 40 00       	push   $0x401190
401974:	50                   	push   %eax
401975:	ff 15 78 40 40 00    	call   *0x404078
40197b:	e9 f5 00 00 00       	jmp    0x401a75
401980:	68 e0 12 40 00       	push   $0x4012e0
401985:	53                   	push   %ebx
401986:	89 74 24 18          	mov    %esi,0x18(%esp)
40198a:	c7 44 24 1c c0 17 40 	movl   $0x4017c0,0x1c(%esp)
401991:	00
401992:	89 74 24 20          	mov    %esi,0x20(%esp)
401996:	89 74 24 24          	mov    %esi,0x24(%esp)
40199a:	89 5c 24 28          	mov    %ebx,0x28(%esp)
40199e:	ff 15 74 40 40 00    	call   *0x404074
4019a4:	89 44 24 24          	mov    %eax,0x24(%esp)
4019a8:	8d 44 24 10          	lea    0x10(%esp),%eax
4019ac:	50                   	push   %eax
4019ad:	89 74 24 2c          	mov    %esi,0x2c(%esp)
4019b1:	c7 44 24 30 02 00 00 	movl   $0x2,0x30(%esp)
4019b8:	00
4019b9:	89 74 24 34          	mov    %esi,0x34(%esp)
4019bd:	c7 44 24 38 f4 12 40 	movl   $0x4012f4,0x38(%esp)
4019c4:	00
4019c5:	ff 15 84 40 40 00    	call   *0x404084
4019cb:	66 85 c0             	test   %ax,%ax
4019ce:	0f 84 a1 00 00 00    	je     0x401a75
4019d4:	6a 00                	push   $0x0
4019d6:	53                   	push   %ebx
4019d7:	6a 00                	push   $0x0
4019d9:	6a 00                	push   $0x0
4019db:	68 00 00 00 80       	push   $0x80000000
4019e0:	68 00 00 00 80       	push   $0x80000000
4019e5:	68 00 00 00 80       	push   $0x80000000
4019ea:	68 00 00 00 80       	push   $0x80000000
4019ef:	68 00 00 00 80       	push   $0x80000000
4019f4:	8d 84 24 8c 06 00 00 	lea    0x68c(%esp),%eax
4019fb:	50                   	push   %eax
4019fc:	68 f4 12 40 00       	push   $0x4012f4
401a01:	6a 00                	push   $0x0
401a03:	ff 15 90 40 40 00    	call   *0x404090
401a09:	8b f0                	mov    %eax,%esi
401a0b:	85 f6                	test   %esi,%esi
401a0d:	74 66                	je     0x401a75
401a0f:	ff 75 14             	push   0x14(%ebp)
401a12:	56                   	push   %esi
401a13:	ff 15 88 40 40 00    	call   *0x404088
401a19:	56                   	push   %esi
401a1a:	ff 15 68 40 40 00    	call   *0x404068
401a20:	8d 44 24 38          	lea    0x38(%esp),%eax
401a24:	50                   	push   %eax
401a25:	ff 15 6c 40 40 00    	call   *0x40406c
401a2b:	50                   	push   %eax
401a2c:	ff 15 50 40 40 00    	call   *0x404050
401a32:	8b 44 24 44          	mov    0x44(%esp),%eax
401a36:	2b 44 24 3c          	sub    0x3c(%esp),%eax
401a3a:	6a 00                	push   $0x0
401a3c:	6a 00                	push   $0x0
401a3e:	d1 f8                	sar    $1,%eax
401a40:	6a 00                	push   $0x0
401a42:	50                   	push   %eax
401a43:	8b 44 24 50          	mov    0x50(%esp),%eax
401a47:	2b 44 24 48          	sub    0x48(%esp),%eax
401a4b:	d1 f8                	sar    $1,%eax
401a4d:	50                   	push   %eax
401a4e:	56                   	push   %esi
401a4f:	ff 15 80 40 40 00    	call   *0x404080
401a55:	6a 00                	push   $0x0
401a57:	6a 00                	push   $0x0
401a59:	ff 15 0c 40 40 00    	call   *0x40400c
401a5f:	e8 ba 00 00 00       	call   0x401b1e
401a64:	8b d8                	mov    %eax,%ebx
401a66:	85 db                	test   %ebx,%ebx
401a68:	74 0b                	je     0x401a75
401a6a:	56                   	push   %esi
401a6b:	8b cb                	mov    %ebx,%ecx
401a6d:	ff 15 ec 40 40 00    	call   *0x4040ec
401a73:	ff d3                	call   *%ebx
401a75:	57                   	push   %edi
401a76:	ff 15 08 40 40 00    	call   *0x404008
401a7c:	85 f6                	test   %esi,%esi
401a7e:	74 1d                	je     0x401a9d
401a80:	56                   	push   %esi
401a81:	ff 15 94 40 40 00    	call   *0x404094
401a87:	eb 14                	jmp    0x401a9d
401a89:	6a 10                	push   $0x10
401a8b:	68 18 11 40 00       	push   $0x401118
401a90:	68 40 11 40 00       	push   $0x401140
401a95:	6a 00                	push   $0x0
401a97:	ff 15 78 40 40 00    	call   *0x404078
401a9d:	8b 8c 24 74 0e 00 00 	mov    0xe74(%esp),%ecx
401aa4:	33 c0                	xor    %eax,%eax
401aa6:	5f                   	pop    %edi
401aa7:	5e                   	pop    %esi
401aa8:	5b                   	pop    %ebx
401aa9:	33 cc                	xor    %esp,%ecx
401aab:	e8 90 04 00 00       	call   0x401f40
401ab0:	8b e5                	mov    %ebp,%esp
401ab2:	5d                   	pop    %ebp
401ab3:	c2 10 00             	ret    $0x10
401ab6:	8b ff                	mov    %edi,%edi
401ab8:	55                   	push   %ebp
401ab9:	8b ec                	mov    %esp,%ebp
401abb:	8b 45 0c             	mov    0xc(%ebp),%eax
401abe:	56                   	push   %esi
401abf:	33 f6                	xor    %esi,%esi
401ac1:	85 c0                	test   %eax,%eax
401ac3:	74 07                	je     0x401acc
401ac5:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
401aca:	76 05                	jbe    0x401ad1
401acc:	be 57 00 07 80       	mov    $0x80070057,%esi
401ad1:	85 f6                	test   %esi,%esi
401ad3:	78 38                	js     0x401b0d
401ad5:	53                   	push   %ebx
401ad6:	8b 5d 08             	mov    0x8(%ebp),%ebx
401ad9:	8d 4d 14             	lea    0x14(%ebp),%ecx
401adc:	57                   	push   %edi
401add:	51                   	push   %ecx
401ade:	ff 75 10             	push   0x10(%ebp)
401ae1:	8d 78 ff             	lea    -0x1(%eax),%edi
401ae4:	33 f6                	xor    %esi,%esi
401ae6:	57                   	push   %edi
401ae7:	50                   	push   %eax
401ae8:	53                   	push   %ebx
401ae9:	ff 15 e4 40 40 00    	call   *0x4040e4
401aef:	83 c4 14             	add    $0x14,%esp
401af2:	85 c0                	test   %eax,%eax
401af4:	78 08                	js     0x401afe
401af6:	3b c7                	cmp    %edi,%eax
401af8:	77 04                	ja     0x401afe
401afa:	75 0d                	jne    0x401b09
401afc:	eb 05                	jmp    0x401b03
401afe:	be 7a 00 07 80       	mov    $0x8007007a,%esi
401b03:	33 c0                	xor    %eax,%eax
401b05:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
401b09:	5f                   	pop    %edi
401b0a:	5b                   	pop    %ebx
401b0b:	eb 0c                	jmp    0x401b19
401b0d:	85 c0                	test   %eax,%eax
401b0f:	74 08                	je     0x401b19
401b11:	8b 4d 08             	mov    0x8(%ebp),%ecx
401b14:	33 c0                	xor    %eax,%eax
401b16:	66 89 01             	mov    %ax,(%ecx)
401b19:	8b c6                	mov    %esi,%eax
401b1b:	5e                   	pop    %esi
401b1c:	5d                   	pop    %ebp
401b1d:	c3                   	ret
401b1e:	8b ff                	mov    %edi,%edi
401b20:	55                   	push   %ebp
401b21:	8b ec                	mov    %esp,%ebp
401b23:	81 ec 3c 0a 00 00    	sub    $0xa3c,%esp
401b29:	a1 04 30 40 00       	mov    0x403004,%eax
401b2e:	33 c5                	xor    %ebp,%eax
401b30:	89 45 fc             	mov    %eax,-0x4(%ebp)
401b33:	a1 5c 33 40 00       	mov    0x40335c,%eax
401b38:	85 c0                	test   %eax,%eax
401b3a:	75 2e                	jne    0x401b6a
401b3c:	68 2c 13 40 00       	push   $0x40132c
401b41:	ff 15 48 40 40 00    	call   *0x404048
401b47:	a3 5c 33 40 00       	mov    %eax,0x40335c
401b4c:	85 c0                	test   %eax,%eax
401b4e:	75 1a                	jne    0x401b6a
401b50:	6a 40                	push   $0x40
401b52:	68 3c 13 40 00       	push   $0x40133c
401b57:	68 98 14 40 00       	push   $0x401498
401b5c:	50                   	push   %eax
401b5d:	ff 15 78 40 40 00    	call   *0x404078
401b63:	33 c0                	xor    %eax,%eax
401b65:	e9 95 00 00 00       	jmp    0x401bff
401b6a:	53                   	push   %ebx
401b6b:	56                   	push   %esi
401b6c:	bb 14 13 40 00       	mov    $0x401314,%ebx
401b71:	53                   	push   %ebx
401b72:	50                   	push   %eax
401b73:	ff 15 44 40 40 00    	call   *0x404044
401b79:	8b f0                	mov    %eax,%esi
401b7b:	85 f6                	test   %esi,%esi
401b7d:	75 7c                	jne    0x401bfb
401b7f:	57                   	push   %edi
401b80:	66 89 85 c4 f5 ff ff 	mov    %ax,-0xa3c(%ebp)
401b87:	bf 05 01 00 00       	mov    $0x105,%edi
401b8c:	66 89 85 f0 fd ff ff 	mov    %ax,-0x210(%ebp)
401b93:	66 89 85 e4 fb ff ff 	mov    %ax,-0x41c(%ebp)
401b9a:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
401ba0:	57                   	push   %edi
401ba1:	50                   	push   %eax
401ba2:	ff 35 5c 33 40 00    	push   0x40335c
401ba8:	ff 15 00 40 40 00    	call   *0x404000
401bae:	57                   	push   %edi
401baf:	8d 85 e4 fb ff ff    	lea    -0x41c(%ebp),%eax
401bb5:	50                   	push   %eax
401bb6:	56                   	push   %esi
401bb7:	ff 15 00 40 40 00    	call   *0x404000
401bbd:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
401bc3:	50                   	push   %eax
401bc4:	53                   	push   %ebx
401bc5:	8d 85 e4 fb ff ff    	lea    -0x41c(%ebp),%eax
401bcb:	50                   	push   %eax
401bcc:	68 68 13 40 00       	push   $0x401368
401bd1:	8d 85 c4 f5 ff ff    	lea    -0xa3c(%ebp),%eax
401bd7:	68 0f 03 00 00       	push   $0x30f
401bdc:	50                   	push   %eax
401bdd:	e8 d4 fe ff ff       	call   0x401ab6
401be2:	83 c4 18             	add    $0x18,%esp
401be5:	8d 85 c4 f5 ff ff    	lea    -0xa3c(%ebp),%eax
401beb:	6a 40                	push   $0x40
401bed:	68 3c 13 40 00       	push   $0x40133c
401bf2:	50                   	push   %eax
401bf3:	56                   	push   %esi
401bf4:	ff 15 78 40 40 00    	call   *0x404078
401bfa:	5f                   	pop    %edi
401bfb:	8b c6                	mov    %esi,%eax
401bfd:	5e                   	pop    %esi
401bfe:	5b                   	pop    %ebx
401bff:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401c02:	33 cd                	xor    %ebp,%ecx
401c04:	e8 37 03 00 00       	call   0x401f40
401c09:	c9                   	leave
401c0a:	c3                   	ret
401c0b:	cc                   	int3
401c0c:	cc                   	int3
401c0d:	cc                   	int3
401c0e:	cc                   	int3
401c0f:	cc                   	int3
401c10:	e8 c5 02 00 00       	call   0x401eda
401c15:	6a 02                	push   $0x2
401c17:	a3 28 30 40 00       	mov    %eax,0x403028
401c1c:	e8 47 05 00 00       	call   0x402168
401c21:	50                   	push   %eax
401c22:	ff 15 c0 40 40 00    	call   *0x4040c0
401c28:	83 0d 60 33 40 00 ff 	orl    $0xffffffff,0x403360
401c2f:	83 0d 64 33 40 00 ff 	orl    $0xffffffff,0x403364
401c36:	59                   	pop    %ecx
401c37:	59                   	pop    %ecx
401c38:	ff 15 b0 40 40 00    	call   *0x4040b0
401c3e:	8b 0d 58 33 40 00    	mov    0x403358,%ecx
401c44:	89 08                	mov    %ecx,(%eax)
401c46:	ff 15 c8 40 40 00    	call   *0x4040c8
401c4c:	8b 0d 4c 33 40 00    	mov    0x40334c,%ecx
401c52:	89 08                	mov    %ecx,(%eax)
401c54:	e8 57 05 00 00       	call   0x4021b0
401c59:	83 3d 00 30 40 00 00 	cmpl   $0x0,0x403000
401c60:	75 0c                	jne    0x401c6e
401c62:	68 b0 21 40 00       	push   $0x4021b0
401c67:	ff 15 9c 40 40 00    	call   *0x40409c
401c6d:	59                   	pop    %ecx
401c6e:	e8 2a 07 00 00       	call   0x40239d
401c73:	33 c0                	xor    %eax,%eax
401c75:	c3                   	ret
401c76:	cc                   	int3
401c77:	cc                   	int3
401c78:	cc                   	int3
401c79:	cc                   	int3
401c7a:	cc                   	int3
401c7b:	cc                   	int3
401c7c:	cc                   	int3
401c7d:	cc                   	int3
401c7e:	cc                   	int3
401c7f:	cc                   	int3
401c80:	a1 54 33 40 00       	mov    0x403354,%eax
401c85:	68 2c 30 40 00       	push   $0x40302c
401c8a:	ff 35 50 33 40 00    	push   0x403350
401c90:	a3 2c 30 40 00       	mov    %eax,0x40302c
401c95:	68 20 30 40 00       	push   $0x403020
401c9a:	68 1c 30 40 00       	push   $0x40301c
401c9f:	68 18 30 40 00       	push   $0x403018
401ca4:	ff 15 e0 40 40 00    	call   *0x4040e0
401caa:	83 c4 14             	add    $0x14,%esp
401cad:	a3 24 30 40 00       	mov    %eax,0x403024
401cb2:	c3                   	ret
401cb3:	cc                   	int3
401cb4:	cc                   	int3
401cb5:	cc                   	int3
401cb6:	cc                   	int3
401cb7:	cc                   	int3
401cb8:	cc                   	int3
401cb9:	cc                   	int3
401cba:	cc                   	int3
401cbb:	cc                   	int3
401cbc:	cc                   	int3
401cbd:	cc                   	int3
401cbe:	cc                   	int3
401cbf:	cc                   	int3
401cc0:	e8 40 06 00 00       	call   0x402305
401cc5:	e9 00 00 00 00       	jmp    0x401cca
401cca:	6a 58                	push   $0x58
401ccc:	68 60 24 40 00       	push   $0x402460
401cd1:	e8 e2 06 00 00       	call   0x4023b8
401cd6:	33 db                	xor    %ebx,%ebx
401cd8:	89 5d e0             	mov    %ebx,-0x20(%ebp)
401cdb:	8d 45 98             	lea    -0x68(%ebp),%eax
401cde:	50                   	push   %eax
401cdf:	ff 15 3c 40 40 00    	call   *0x40403c
401ce5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401ce8:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
401cee:	8b 70 04             	mov    0x4(%eax),%esi
401cf1:	8b fb                	mov    %ebx,%edi
401cf3:	ba 68 33 40 00       	mov    $0x403368,%edx
401cf8:	8b ce                	mov    %esi,%ecx
401cfa:	33 c0                	xor    %eax,%eax
401cfc:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
401d00:	85 c0                	test   %eax,%eax
401d02:	74 18                	je     0x401d1c
401d04:	3b c6                	cmp    %esi,%eax
401d06:	75 07                	jne    0x401d0f
401d08:	33 f6                	xor    %esi,%esi
401d0a:	46                   	inc    %esi
401d0b:	8b fe                	mov    %esi,%edi
401d0d:	eb 10                	jmp    0x401d1f
401d0f:	68 e8 03 00 00       	push   $0x3e8
401d14:	ff 15 40 40 40 00    	call   *0x404040
401d1a:	eb d7                	jmp    0x401cf3
401d1c:	33 f6                	xor    %esi,%esi
401d1e:	46                   	inc    %esi
401d1f:	39 35 6c 33 40 00    	cmp    %esi,0x40336c
401d25:	75 0a                	jne    0x401d31
401d27:	6a 1f                	push   $0x1f
401d29:	e8 70 04 00 00       	call   0x40219e
401d2e:	59                   	pop    %ecx
401d2f:	eb 3a                	jmp    0x401d6b
401d31:	39 1d 6c 33 40 00    	cmp    %ebx,0x40336c
401d37:	75 2c                	jne    0x401d65
401d39:	89 35 6c 33 40 00    	mov    %esi,0x40336c
401d3f:	68 cc 10 40 00       	push   $0x4010cc
401d44:	68 c0 10 40 00       	push   $0x4010c0
401d49:	e8 5b 01 00 00       	call   0x401ea9
401d4e:	59                   	pop    %ecx
401d4f:	59                   	pop    %ecx
401d50:	85 c0                	test   %eax,%eax
401d52:	74 17                	je     0x401d6b
401d54:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401d5b:	b8 ff 00 00 00       	mov    $0xff,%eax
401d60:	e9 34 01 00 00       	jmp    0x401e99
401d65:	89 35 14 30 40 00    	mov    %esi,0x403014
401d6b:	39 35 6c 33 40 00    	cmp    %esi,0x40336c
401d71:	75 1b                	jne    0x401d8e
401d73:	68 bc 10 40 00       	push   $0x4010bc
401d78:	68 b4 10 40 00       	push   $0x4010b4
401d7d:	e8 2e 06 00 00       	call   0x4023b0
401d82:	59                   	pop    %ecx
401d83:	59                   	pop    %ecx
401d84:	c7 05 6c 33 40 00 02 	movl   $0x2,0x40336c
401d8b:	00 00 00
401d8e:	85 ff                	test   %edi,%edi