40191c:	eb 0a                	jmp    0x401928
40191e:	56                   	push   %esi
40191f:	ff 15 4c 40 40 00    	call   *0x40404c
401925:	8b 75 f8             	mov    -0x8(%ebp),%esi
401928:	85 f6                	test   %esi,%esi
40192a:	74 13                	je     0x40193f
40192c:	53                   	push   %ebx
40192d:	56                   	push   %esi
40192e:	ff 15 18 40 40 00    	call   *0x404018
401934:	85 c0                	test   %eax,%eax
401936:	74 07                	je     0x40193f
401938:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40193b:	89 01                	mov    %eax,(%ecx)
40193d:	eb 08                	jmp    0x401947
40193f:	53                   	push   %ebx
401940:	57                   	push   %edi
401941:	ff 15 1c 40 40 00    	call   *0x40401c
401947:	5f                   	pop    %edi
401948:	5e                   	pop    %esi
401949:	5b                   	pop    %ebx
40194a:	c9                   	leave
40194b:	c2 08 00             	ret    $0x8
40194e:	cc                   	int3
40194f:	cc                   	int3
401950:	e8 aa 02 00 00       	call   0x401bff
401955:	6a 02                	push   $0x2
401957:	a3 28 30 40 00       	mov    %eax,0x403028
40195c:	e8 37 04 00 00       	call   0x401d98
401961:	50                   	push   %eax
401962:	ff 15 90 40 40 00    	call   *0x404090
401968:	83 0d 60 33 40 00 ff 	orl    $0xffffffff,0x403360
40196f:	83 0d 64 33 40 00 ff 	orl    $0xffffffff,0x403364
401976:	59                   	pop    %ecx
401977:	59                   	pop    %ecx
401978:	ff 15 80 40 40 00    	call   *0x404080
40197e:	8b 0d 3c 30 40 00    	mov    0x40303c,%ecx
401984:	89 08                	mov    %ecx,(%eax)
401986:	ff 15 6c 40 40 00    	call   *0x40406c
40198c:	8b 0d 30 30 40 00    	mov    0x403030,%ecx
401992:	89 08                	mov    %ecx,(%eax)
401994:	e8 47 04 00 00       	call   0x401de0
401999:	83 3d 00 30 40 00 00 	cmpl   $0x0,0x403000
4019a0:	75 0c                	jne    0x4019ae
4019a2:	68 e0 1d 40 00       	push   $0x401de0
4019a7:	ff 15 7c 40 40 00    	call   *0x40407c
4019ad:	59                   	pop    %ecx
4019ae:	e8 1a 06 00 00       	call   0x401fcd
4019b3:	33 c0                	xor    %eax,%eax
4019b5:	c3                   	ret
4019b6:	cc                   	int3
4019b7:	cc                   	int3
4019b8:	cc                   	int3
4019b9:	cc                   	int3
4019ba:	cc                   	int3
4019bb:	cc                   	int3
4019bc:	cc                   	int3
4019bd:	cc                   	int3
4019be:	cc                   	int3
4019bf:	cc                   	int3
4019c0:	a1 38 30 40 00       	mov    0x403038,%eax
4019c5:	68 2c 30 40 00       	push   $0x40302c
4019ca:	ff 35 34 30 40 00    	push   0x403034
4019d0:	a3 2c 30 40 00       	mov    %eax,0x40302c
4019d5:	68 20 30 40 00       	push   $0x403020
4019da:	68 1c 30 40 00       	push   $0x40301c
4019df:	68 18 30 40 00       	push   $0x403018
4019e4:	ff 15 74 40 40 00    	call   *0x404074
4019ea:	83 c4 14             	add    $0x14,%esp
4019ed:	a3 24 30 40 00       	mov    %eax,0x403024
4019f2:	c3                   	ret
4019f3:	6a 58                	push   $0x58
4019f5:	68 30 22 40 00       	push   $0x402230
4019fa:	e8 e9 05 00 00       	call   0x401fe8
4019ff:	33 db                	xor    %ebx,%ebx
401a01:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
401a04:	8d 45 98             	lea    -0x68(%ebp),%eax
401a07:	50                   	push   %eax
401a08:	ff 15 44 40 40 00    	call   *0x404044
401a0e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401a11:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
401a17:	8b 70 04             	mov    0x4(%eax),%esi
401a1a:	8b fb                	mov    %ebx,%edi
401a1c:	ba 68 33 40 00       	mov    $0x403368,%edx
401a21:	8b ce                	mov    %esi,%ecx
401a23:	33 c0                	xor    %eax,%eax
401a25:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
401a29:	85 c0                	test   %eax,%eax
401a2b:	74 18                	je     0x401a45
401a2d:	3b c6                	cmp    %esi,%eax
401a2f:	75 07                	jne    0x401a38
401a31:	33 f6                	xor    %esi,%esi
401a33:	46                   	inc    %esi
401a34:	8b fe                	mov    %esi,%edi
401a36:	eb 10                	jmp    0x401a48
401a38:	68 e8 03 00 00       	push   $0x3e8
401a3d:	ff 15 48 40 40 00    	call   *0x404048
401a43:	eb d7                	jmp    0x401a1c
401a45:	33 f6                	xor    %esi,%esi
401a47:	46                   	inc    %esi
401a48:	39 35 6c 33 40 00    	cmp    %esi,0x40336c
401a4e:	75 0a                	jne    0x401a5a
401a50:	6a 1f                	push   $0x1f
401a52:	e8 77 03 00 00       	call   0x401dce
401a57:	59                   	pop    %ecx
401a58:	eb 3a                	jmp    0x401a94
401a5a:	39 1d 6c 33 40 00    	cmp    %ebx,0x40336c
401a60:	75 2c                	jne    0x401a8e
401a62:	89 35 6c 33 40 00    	mov    %esi,0x40336c
401a68:	68 cc 10 40 00       	push   $0x4010cc
401a6d:	68 c0 10 40 00       	push   $0x4010c0
401a72:	e8 57 01 00 00       	call   0x401bce
401a77:	59                   	pop    %ecx
401a78:	59                   	pop    %ecx
401a79:	85 c0                	test   %eax,%eax
401a7b:	74 17                	je     0x401a94
401a7d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401a84:	b8 ff 00 00 00       	mov    $0xff,%eax
401a89:	e9 30 01 00 00       	jmp    0x401bbe
401a8e:	89 35 14 30 40 00    	mov    %esi,0x403014
401a94:	39 35 6c 33 40 00    	cmp    %esi,0x40336c
401a9a:	75 1b                	jne    0x401ab7
401a9c:	68 bc 10 40 00       	push   $0x4010bc
401aa1:	68 b4 10 40 00       	push   $0x4010b4
401aa6:	e8 35 05 00 00       	call   0x401fe0
401aab:	59                   	pop    %ecx
401aac:	59                   	pop    %ecx
401aad:	c7 05 6c 33 40 00 02 	movl   $0x2,0x40336c
401ab4:	00 00 00
401ab7:	85 ff                	test   %edi,%edi
401ab9:	75 09                	jne    0x401ac4
401abb:	33 c0                	xor    %eax,%eax
401abd:	b9 68 33 40 00       	mov    $0x403368,%ecx
401ac2:	87 01                	xchg   %eax,(%ecx)
401ac4:	83 3d 70 33 40 00 00 	cmpl   $0x0,0x403370
401acb:	74 23                	je     0x401af0
401acd:	68 70 33 40 00       	push   $0x403370
401ad2:	e8 69 03 00 00       	call   0x401e40
401ad7:	59                   	pop    %ecx
401ad8:	85 c0                	test   %eax,%eax
401ada:	74 14                	je     0x401af0
401adc:	53                   	push   %ebx
401add:	6a 02                	push   $0x2
401adf:	53                   	push   %ebx
401ae0:	8b 35 70 33 40 00    	mov    0x403370,%esi
401ae6:	8b ce                	mov    %esi,%ecx
401ae8:	ff 15 ac 40 40 00    	call   *0x4040ac
401aee:	ff d6                	call   *%esi
401af0:	a1 58 40 40 00       	mov    0x404058,%eax
401af5:	8b 08                	mov    (%eax),%ecx
401af7:	85 c9                	test   %ecx,%ecx
401af9:	74 82                	je     0x401a7d
401afb:	89 4d e0             	mov    %ecx,-0x20(%ebp)
401afe:	6a 20                	push   $0x20
401b00:	5e                   	pop    %esi
401b01:	8b 55 e4             	mov    -0x1c(%ebp),%edx
401b04:	0f b7 01             	movzwl (%ecx),%eax
401b07:	66 3b c6             	cmp    %si,%ax
401b0a:	77 4f                	ja     0x401b5b
401b0c:	66 85 c0             	test   %ax,%ax
401b0f:	74 19                	je     0x401b2a
401b11:	85 d2                	test   %edx,%edx
401b13:	75 46                	jne    0x401b5b
401b15:	66 85 c0             	test   %ax,%ax
401b18:	74 10                	je     0x401b2a
401b1a:	66 3b c6             	cmp    %si,%ax
401b1d:	77 0b                	ja     0x401b2a
401b1f:	83 c1 02             	add    $0x2,%ecx
401b22:	89 4d e0             	mov    %ecx,-0x20(%ebp)
401b25:	0f b7 01             	movzwl (%ecx),%eax
401b28:	eb eb                	jmp    0x401b15
401b2a:	f6 45 c4 01          	testb  $0x1,-0x3c(%ebp)
401b2e:	74 06                	je     0x401b36
401b30:	0f b7 45 c8          	movzwl -0x38(%ebp),%eax
401b34:	eb 03                	jmp    0x401b39
401b36:	6a 0a                	push   $0xa
401b38:	58                   	pop    %eax
401b39:	50                   	push   %eax
401b3a:	51                   	push   %ecx
401b3b:	53                   	push   %ebx
401b3c:	68 00 00 40 00       	push   $0x400000
401b41:	e8 a3 fa ff ff       	call   0x4015e9
401b46:	a3 10 30 40 00       	mov    %eax,0x403010
401b4b:	83 3d 28 30 40 00 00 	cmpl   $0x0,0x403028
401b52:	75 4f                	jne    0x401ba3
401b54:	50                   	push   %eax
401b55:	ff 15 8c 40 40 00    	call   *0x40408c
401b5b:	83 f8 22             	cmp    $0x22,%eax
401b5e:	75 0c                	jne    0x401b6c
401b60:	33 c0                	xor    %eax,%eax
401b62:	85 d2                	test   %edx,%edx
401b64:	0f 94 c0             	sete   %al
401b67:	8b d0                	mov    %eax,%edx
401b69:	89 55 e4             	mov    %edx,-0x1c(%ebp)
401b6c:	83 c1 02             	add    $0x2,%ecx
401b6f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
401b72:	eb 90                	jmp    0x401b04
401b74:	8b 4d ec             	mov    -0x14(%ebp),%ecx
401b77:	8b 01                	mov    (%ecx),%eax
401b79:	8b 00                	mov    (%eax),%eax
401b7b:	89 45 dc             	mov    %eax,-0x24(%ebp)
401b7e:	51                   	push   %ecx
401b7f:	50                   	push   %eax
401b80:	e8 99 01 00 00       	call   0x401d1e
401b85:	59                   	pop    %ecx
401b86:	59                   	pop    %ecx
401b87:	c3                   	ret
401b88:	8b 65 e8             	mov    -0x18(%ebp),%esp
401b8b:	8b 45 dc             	mov    -0x24(%ebp),%eax
401b8e:	a3 10 30 40 00       	mov    %eax,0x403010
401b93:	83 3d 28 30 40 00 00 	cmpl   $0x0,0x403028
401b9a:	75 07                	jne    0x401ba3
401b9c:	50                   	push   %eax
401b9d:	ff 15 88 40 40 00    	call   *0x404088
401ba3:	83 3d 14 30 40 00 00 	cmpl   $0x0,0x403014
401baa:	75 0b                	jne    0x401bb7
401bac:	ff 15 84 40 40 00    	call   *0x404084
401bb2:	a1 10 30 40 00       	mov    0x403010,%eax
401bb7:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401bbe:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401bc1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401bc8:	59                   	pop    %ecx
401bc9:	5f                   	pop    %edi
401bca:	5e                   	pop    %esi
401bcb:	5b                   	pop    %ebx
401bcc:	c9                   	leave
401bcd:	c3                   	ret
401bce:	8b ff                	mov    %edi,%edi
401bd0:	55                   	push   %ebp
401bd1:	8b ec                	mov    %esp,%ebp
401bd3:	56                   	push   %esi
401bd4:	8b 75 08             	mov    0x8(%ebp),%esi
401bd7:	33 c0                	xor    %eax,%eax
401bd9:	3b 75 0c             	cmp    0xc(%ebp),%esi
401bdc:	73 1e                	jae    0x401bfc
401bde:	57                   	push   %edi
401bdf:	85 c0                	test   %eax,%eax
401be1:	75 18                	jne    0x401bfb
401be3:	8b 3e                	mov    (%esi),%edi
401be5:	85 ff                	test   %edi,%edi
401be7:	74 0a                	je     0x401bf3
401be9:	8b cf                	mov    %edi,%ecx
401beb:	ff 15 ac 40 40 00    	call   *0x4040ac
401bf1:	ff d7                	call   *%edi
401bf3:	83 c6 04             	add    $0x4,%esi
401bf6:	3b 75 0c             	cmp    0xc(%ebp),%esi
401bf9:	72 e4                	jb     0x401bdf
401bfb:	5f                   	pop    %edi
401bfc:	5e                   	pop    %esi
401bfd:	5d                   	pop    %ebp
401bfe:	c3                   	ret
401bff:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
401c04:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
401c0b:	75 55                	jne    0x401c62
401c0d:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
401c13:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
401c1a:	45 00 00
401c1d:	75 43                	jne    0x401c62
401c1f:	0f b7 81 18 00 40 00 	movzwl 0x400018(%ecx),%eax
401c26:	ba 0b 01 00 00       	mov    $0x10b,%edx
401c2b:	66 3b c2             	cmp    %dx,%ax
401c2e:	74 1f                	je     0x401c4f
401c30:	ba 0b 02 00 00       	mov    $0x20b,%edx
401c35:	66 3b c2             	cmp    %dx,%ax
401c38:	75 28                	jne    0x401c62
401c3a:	83 b9 84 00 40 00 0e 	cmpl   $0xe,0x400084(%ecx)
401c41:	76 1f                	jbe    0x401c62
401c43:	33 c0                	xor    %eax,%eax
401c45:	39 81 f8 00 40 00    	cmp    %eax,0x4000f8(%ecx)
401c4b:	0f 95 c0             	setne  %al
401c4e:	c3                   	ret
401c4f:	83 b9 74 00 40 00 0e 	cmpl   $0xe,0x400074(%ecx)
401c56:	76 0a                	jbe    0x401c62
401c58:	33 c0                	xor    %eax,%eax
401c5a:	39 81 e8 00 40 00    	cmp    %eax,0x4000e8(%ecx)
401c60:	eb e9                	jmp    0x401c4b
401c62:	33 c0                	xor    %eax,%eax
401c64:	c3                   	ret
401c65:	cc                   	int3
401c66:	cc                   	int3
401c67:	cc                   	int3
401c68:	cc                   	int3
401c69:	cc                   	int3
401c6a:	cc                   	int3
401c6b:	cc                   	int3
401c6c:	cc                   	int3
401c6d:	cc                   	int3
401c6e:	cc                   	int3
401c6f:	cc                   	int3
401c70:	e8 c0 02 00 00       	call   0x401f35
401c75:	e9 79 fd ff ff       	jmp    0x4019f3
401c7a:	cc                   	int3
401c7b:	cc                   	int3
401c7c:	cc                   	int3
401c7d:	cc                   	int3
401c7e:	cc                   	int3
401c7f:	cc                   	int3
401c80:	8b ff                	mov    %edi,%edi
401c82:	55                   	push   %ebp
401c83:	8b ec                	mov    %esp,%ebp
401c85:	ff 75 14             	push   0x14(%ebp)
401c88:	ff 75 10             	push   0x10(%ebp)
401c8b:	ff 75 0c             	push   0xc(%ebp)
401c8e:	ff 75 08             	push   0x8(%ebp)
401c91:	68 b0 1c 40 00       	push   $0x401cb0
401c96:	68 04 30 40 00       	push   $0x403004
401c9b:	e8 b3 03 00 00       	call   0x402053
401ca0:	83 c4 18             	add    $0x18,%esp
401ca3:	5d                   	pop    %ebp
401ca4:	c3                   	ret
401ca5:	cc                   	int3
401ca6:	cc                   	int3
401ca7:	cc                   	int3
401ca8:	cc                   	int3
401ca9:	cc                   	int3
401caa:	cc                   	int3
401cab:	cc                   	int3
401cac:	cc                   	int3
401cad:	cc                   	int3
401cae:	cc                   	int3
401caf:	cc                   	int3
401cb0:	3b 0d 04 30 40 00    	cmp    0x403004,%ecx
401cb6:	75 03                	jne    0x401cbb
401cb8:	c2 00 00             	ret    $0x0
401cbb:	e9 c3 03 00 00       	jmp    0x402083
401cc0:	8b ff                	mov    %edi,%edi
401cc2:	55                   	push   %ebp
401cc3:	8b ec                	mov    %esp,%ebp
401cc5:	8b 45 08             	mov    0x8(%ebp),%eax
401cc8:	8b 00                	mov    (%eax),%eax
401cca:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
401cd0:	75 2b                	jne    0x401cfd
401cd2:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
401cd6:	75 25                	jne    0x401cfd
401cd8:	8b 40 14             	mov    0x14(%eax),%eax
401cdb:	3d 20 05 93 19       	cmp    $0x19930520,%eax
401ce0:	74 15                	je     0x401cf7
401ce2:	3d 21 05 93 19       	cmp    $0x19930521,%eax
401ce7:	74 0e                	je     0x401cf7
401ce9:	3d 22 05 93 19       	cmp    $0x19930522,%eax
401cee:	74 07                	je     0x401cf7
401cf0:	3d 00 40 99 01       	cmp    $0x1994000,%eax
401cf5:	75 06                	jne    0x401cfd
401cf7:	ff 15 5c 40 40 00    	call   *0x40405c
401cfd:	33 c0                	xor    %eax,%eax
401cff:	5d                   	pop    %ebp
401d00:	c2 04 00             	ret    $0x4
401d03:	cc                   	int3
401d04:	cc                   	int3
401d05:	cc                   	int3
401d06:	cc                   	int3