4039ca:	85 db                	test   %ebx,%ebx
4039cc:	78 08                	js     0x4039d6
4039ce:	3b 1d 00 46 41 00    	cmp    0x414600,%ebx
4039d4:	72 1a                	jb     0x4039f0
4039d6:	e8 5f 07 00 00       	call   0x40413a
4039db:	83 20 00             	andl   $0x0,(%eax)
4039de:	e8 44 07 00 00       	call   0x404127
4039e3:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4039e9:	e8 99 f2 ff ff       	call   0x402c87
4039ee:	eb d2                	jmp    0x4039c2
4039f0:	8b c3                	mov    %ebx,%eax
4039f2:	c1 f8 05             	sar    $0x5,%eax
4039f5:	8d 3c 85 20 46 41 00 	lea    0x414620(,%eax,4),%edi
4039fc:	8b f3                	mov    %ebx,%esi
4039fe:	83 e6 1f             	and    $0x1f,%esi
403a01:	c1 e6 06             	shl    $0x6,%esi
403a04:	8b 07                	mov    (%edi),%eax
403a06:	0f be 44 30 04       	movsbl 0x4(%eax,%esi,1),%eax
403a0b:	83 e0 01             	and    $0x1,%eax
403a0e:	74 c6                	je     0x4039d6
403a10:	53                   	push   %ebx
403a11:	e8 c8 f6 ff ff       	call   0x4030de
403a16:	59                   	pop    %ecx
403a17:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403a1b:	8b 07                	mov    (%edi),%eax
403a1d:	f6 44 30 04 01       	testb  $0x1,0x4(%eax,%esi,1)
403a22:	74 0c                	je     0x403a30
403a24:	53                   	push   %ebx
403a25:	e8 d5 fe ff ff       	call   0x4038ff
403a2a:	59                   	pop    %ecx
403a2b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
403a2e:	eb 0f                	jmp    0x403a3f
403a30:	e8 f2 06 00 00       	call   0x404127
403a35:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
403a3b:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
403a3f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403a46:	e8 0c 00 00 00       	call   0x403a57
403a4b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
403a4e:	e8 62 07 00 00       	call   0x4041b5
403a53:	c3                   	ret
403a54:	8b 5d 08             	mov    0x8(%ebp),%ebx
403a57:	53                   	push   %ebx
403a58:	e8 20 f7 ff ff       	call   0x40317d
403a5d:	59                   	pop    %ecx
403a5e:	c3                   	ret
403a5f:	8b ff                	mov    %edi,%edi
403a61:	55                   	push   %ebp
403a62:	8b ec                	mov    %esp,%ebp
403a64:	83 3d f0 2e 41 00 02 	cmpl   $0x2,0x412ef0
403a6b:	74 05                	je     0x403a72
403a6d:	e8 98 2b 00 00       	call   0x40660a
403a72:	ff 75 08             	push   0x8(%ebp)
403a75:	e8 e1 29 00 00       	call   0x40645b
403a7a:	68 ff 00 00 00       	push   $0xff
403a7f:	e8 f1 26 00 00       	call   0x406175
403a84:	59                   	pop    %ecx
403a85:	59                   	pop    %ecx
403a86:	5d                   	pop    %ebp
403a87:	c3                   	ret
403a88:	6a 14                	push   $0x14
403a8a:	68 b8 11 41 00       	push   $0x4111b8
403a8f:	e8 dc 06 00 00       	call   0x404170
403a94:	33 f6                	xor    %esi,%esi
403a96:	39 35 40 47 41 00    	cmp    %esi,0x414740
403a9c:	75 0b                	jne    0x403aa9
403a9e:	56                   	push   %esi
403a9f:	56                   	push   %esi
403aa0:	6a 01                	push   $0x1
403aa2:	56                   	push   %esi
403aa3:	ff 15 a4 f0 40 00    	call   *0x40f0a4
403aa9:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
403aae:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
403ab5:	74 05                	je     0x403abc
403ab7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
403aba:	eb 36                	jmp    0x403af2
403abc:	a1 3c 00 40 00       	mov    0x40003c,%eax
403ac1:	81 b8 00 00 40 00 50 	cmpl   $0x4550,0x400000(%eax)
403ac8:	45 00 00
403acb:	75 ea                	jne    0x403ab7
403acd:	b9 0b 01 00 00       	mov    $0x10b,%ecx
403ad2:	66 39 88 18 00 40 00 	cmp    %cx,0x400018(%eax)
403ad9:	75 dc                	jne    0x403ab7
403adb:	83 b8 74 00 40 00 0e 	cmpl   $0xe,0x400074(%eax)
403ae2:	76 d3                	jbe    0x403ab7
403ae4:	33 c9                	xor    %ecx,%ecx
403ae6:	39 b0 e8 00 40 00    	cmp    %esi,0x4000e8(%eax)
403aec:	0f 95 c1             	setne  %cl
403aef:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
403af2:	e8 82 16 00 00       	call   0x405179
403af7:	85 c0                	test   %eax,%eax
403af9:	75 08                	jne    0x403b03
403afb:	6a 1c                	push   $0x1c
403afd:	e8 5d ff ff ff       	call   0x403a5f
403b02:	59                   	pop    %ecx
403b03:	e8 27 24 00 00       	call   0x405f2f
403b08:	85 c0                	test   %eax,%eax
403b0a:	75 08                	jne    0x403b14
403b0c:	6a 10                	push   $0x10
403b0e:	e8 4c ff ff ff       	call   0x403a5f
403b13:	59                   	pop    %ecx
403b14:	e8 66 62 00 00       	call   0x409d7f
403b19:	89 75 fc             	mov    %esi,-0x4(%ebp)
403b1c:	e8 59 2b 00 00       	call   0x40667a
403b21:	85 c0                	test   %eax,%eax
403b23:	79 08                	jns    0x403b2d
403b25:	6a 1b                	push   $0x1b
403b27:	e8 eb 28 00 00       	call   0x406417
403b2c:	59                   	pop    %ecx
403b2d:	ff 15 a0 f0 40 00    	call   *0x40f0a0
403b33:	a3 3c 47 41 00       	mov    %eax,0x41473c
403b38:	e8 ab 61 00 00       	call   0x409ce8
403b3d:	a3 e8 2e 41 00       	mov    %eax,0x412ee8
403b42:	e8 e6 60 00 00       	call   0x409c2d
403b47:	85 c0                	test   %eax,%eax
403b49:	79 08                	jns    0x403b53
403b4b:	6a 08                	push   $0x8
403b4d:	e8 c5 28 00 00       	call   0x406417
403b52:	59                   	pop    %ecx
403b53:	e8 5f 5e 00 00       	call   0x4099b7
403b58:	85 c0                	test   %eax,%eax
403b5a:	79 08                	jns    0x403b64
403b5c:	6a 09                	push   $0x9
403b5e:	e8 b4 28 00 00       	call   0x406417
403b63:	59                   	pop    %ecx
403b64:	6a 01                	push   $0x1
403b66:	e8 8b 26 00 00       	call   0x4061f6
403b6b:	59                   	pop    %ecx
403b6c:	3b c6                	cmp    %esi,%eax
403b6e:	74 07                	je     0x403b77
403b70:	50                   	push   %eax
403b71:	e8 a1 28 00 00       	call   0x406417
403b76:	59                   	pop    %ecx
403b77:	a1 68 32 41 00       	mov    0x413268,%eax
403b7c:	a3 6c 32 41 00       	mov    %eax,0x41326c
403b81:	50                   	push   %eax
403b82:	ff 35 60 32 41 00    	push   0x413260
403b88:	ff 35 5c 32 41 00    	push   0x41325c
403b8e:	e8 0c e2 ff ff       	call   0x401d9f
403b93:	83 c4 0c             	add    $0xc,%esp
403b96:	89 45 e0             	mov    %eax,-0x20(%ebp)
403b99:	39 75 e4             	cmp    %esi,-0x1c(%ebp)
403b9c:	75 06                	jne    0x403ba4
403b9e:	50                   	push   %eax
403b9f:	e8 29 28 00 00       	call   0x4063cd
403ba4:	e8 50 28 00 00       	call   0x4063f9
403ba9:	eb 2e                	jmp    0x403bd9
403bab:	8b 45 ec             	mov    -0x14(%ebp),%eax
403bae:	8b 08                	mov    (%eax),%ecx
403bb0:	8b 09                	mov    (%ecx),%ecx
403bb2:	89 4d dc             	mov    %ecx,-0x24(%ebp)
403bb5:	50                   	push   %eax
403bb6:	51                   	push   %ecx
403bb7:	e8 b1 5c 00 00       	call   0x40986d
403bbc:	59                   	pop    %ecx
403bbd:	59                   	pop    %ecx
403bbe:	c3                   	ret
403bbf:	8b 65 e8             	mov    -0x18(%ebp),%esp
403bc2:	8b 45 dc             	mov    -0x24(%ebp),%eax
403bc5:	89 45 e0             	mov    %eax,-0x20(%ebp)
403bc8:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
403bcc:	75 06                	jne    0x403bd4
403bce:	50                   	push   %eax
403bcf:	e8 0f 28 00 00       	call   0x4063e3
403bd4:	e8 2f 28 00 00       	call   0x406408
403bd9:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403be0:	8b 45 e0             	mov    -0x20(%ebp),%eax
403be3:	e8 cd 05 00 00       	call   0x4041b5
403be8:	c3                   	ret
403be9:	e8 dd 61 00 00       	call   0x409dcb
403bee:	e9 95 fe ff ff       	jmp    0x403a88
403bf3:	8b ff                	mov    %edi,%edi
403bf5:	55                   	push   %ebp
403bf6:	8b ec                	mov    %esp,%ebp
403bf8:	81 ec 28 03 00 00    	sub    $0x328,%esp
403bfe:	a3 00 30 41 00       	mov    %eax,0x413000
403c03:	89 0d fc 2f 41 00    	mov    %ecx,0x412ffc
403c09:	89 15 f8 2f 41 00    	mov    %edx,0x412ff8
403c0f:	89 1d f4 2f 41 00    	mov    %ebx,0x412ff4
403c15:	89 35 f0 2f 41 00    	mov    %esi,0x412ff0
403c1b:	89 3d ec 2f 41 00    	mov    %edi,0x412fec
403c21:	66 8c 15 18 30 41 00 	data16 mov %ss,0x413018
403c28:	66 8c 0d 0c 30 41 00 	data16 mov %cs,0x41300c
403c2f:	66 8c 1d e8 2f 41 00 	data16 mov %ds,0x412fe8
403c36:	66 8c 05 e4 2f 41 00 	data16 mov %es,0x412fe4
403c3d:	66 8c 25 e0 2f 41 00 	data16 mov %fs,0x412fe0
403c44:	66 8c 2d dc 2f 41 00 	data16 mov %gs,0x412fdc
403c4b:	9c                   	pushf
403c4c:	8f 05 10 30 41 00    	pop    0x413010
403c52:	8b 45 00             	mov    0x0(%ebp),%eax
403c55:	a3 04 30 41 00       	mov    %eax,0x413004
403c5a:	8b 45 04             	mov    0x4(%ebp),%eax
403c5d:	a3 08 30 41 00       	mov    %eax,0x413008
403c62:	8d 45 08             	lea    0x8(%ebp),%eax
403c65:	a3 14 30 41 00       	mov    %eax,0x413014
403c6a:	8b 85 e0 fc ff ff    	mov    -0x320(%ebp),%eax
403c70:	c7 05 50 2f 41 00 01 	movl   $0x10001,0x412f50
403c77:	00 01 00
403c7a:	a1 08 30 41 00       	mov    0x413008,%eax
403c7f:	a3 04 2f 41 00       	mov    %eax,0x412f04
403c84:	c7 05 f8 2e 41 00 09 	movl   $0xc0000409,0x412ef8
403c8b:	04 00 c0
403c8e:	c7 05 fc 2e 41 00 01 	movl   $0x1,0x412efc
403c95:	00 00 00
403c98:	a1 84 22 41 00       	mov    0x412284,%eax
403c9d:	89 85 d8 fc ff ff    	mov    %eax,-0x328(%ebp)
403ca3:	a1 88 22 41 00       	mov    0x412288,%eax
403ca8:	89 85 dc fc ff ff    	mov    %eax,-0x324(%ebp)
403cae:	ff 15 88 f0 40 00    	call   *0x40f088
403cb4:	a3 48 2f 41 00       	mov    %eax,0x412f48
403cb9:	6a 01                	push   $0x1
403cbb:	e8 04 4a 00 00       	call   0x4086c4
403cc0:	59                   	pop    %ecx
403cc1:	6a 00                	push   $0x0
403cc3:	ff 15 84 f0 40 00    	call   *0x40f084
403cc9:	68 bc f1 40 00       	push   $0x40f1bc
403cce:	ff 15 80 f0 40 00    	call   *0x40f080
403cd4:	83 3d 48 2f 41 00 00 	cmpl   $0x0,0x412f48
403cdb:	75 08                	jne    0x403ce5
403cdd:	6a 01                	push   $0x1
403cdf:	e8 e0 49 00 00       	call   0x4086c4
403ce4:	59                   	pop    %ecx
403ce5:	68 09 04 00 c0       	push   $0xc0000409
403cea:	ff 15 98 f0 40 00    	call   *0x40f098
403cf0:	50                   	push   %eax
403cf1:	ff 15 94 f0 40 00    	call   *0x40f094
403cf7:	c9                   	leave
403cf8:	c3                   	ret
403cf9:	8b ff                	mov    %edi,%edi
403cfb:	55                   	push   %ebp
403cfc:	8b ec                	mov    %esp,%ebp
403cfe:	83 ec 10             	sub    $0x10,%esp
403d01:	a1 20 3b 41 00       	mov    0x413b20,%eax
403d06:	33 d2                	xor    %edx,%edx
403d08:	53                   	push   %ebx
403d09:	56                   	push   %esi
403d0a:	8b 75 0c             	mov    0xc(%ebp),%esi
403d0d:	89 45 fc             	mov    %eax,-0x4(%ebp)
403d10:	89 55 f4             	mov    %edx,-0xc(%ebp)
403d13:	89 55 f8             	mov    %edx,-0x8(%ebp)
403d16:	89 55 f0             	mov    %edx,-0x10(%ebp)
403d19:	eb 03                	jmp    0x403d1e
403d1b:	83 c6 02             	add    $0x2,%esi
403d1e:	66 83 3e 20          	cmpw   $0x20,(%esi)
403d22:	74 f7                	je     0x403d1b
403d24:	0f b7 06             	movzwl (%esi),%eax
403d27:	83 f8 61             	cmp    $0x61,%eax
403d2a:	74 30                	je     0x403d5c
403d2c:	83 f8 72             	cmp    $0x72,%eax
403d2f:	74 23                	je     0x403d54
403d31:	83 f8 77             	cmp    $0x77,%eax
403d34:	74 17                	je     0x403d4d
403d36:	e8 ec 03 00 00       	call   0x404127
403d3b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
403d41:	e8 41 ef ff ff       	call   0x402c87
403d46:	33 c0                	xor    %eax,%eax
403d48:	e9 61 02 00 00       	jmp    0x403fae
403d4d:	bb 01 03 00 00       	mov    $0x301,%ebx
403d52:	eb 0d                	jmp    0x403d61
403d54:	33 db                	xor    %ebx,%ebx
403d56:	83 4d fc 01          	orl    $0x1,-0x4(%ebp)
403d5a:	eb 09                	jmp    0x403d65
403d5c:	bb 09 01 00 00       	mov    $0x109,%ebx
403d61:	83 4d fc 02          	orl    $0x2,-0x4(%ebp)
403d65:	83 c6 02             	add    $0x2,%esi
403d68:	0f b7 06             	movzwl (%esi),%eax
403d6b:	33 c9                	xor    %ecx,%ecx
403d6d:	41                   	inc    %ecx
403d6e:	57                   	push   %edi
403d6f:	66 3b c2             	cmp    %dx,%ax
403d72:	0f 84 d6 01 00 00    	je     0x403f4e
403d78:	8d 79 7f             	lea    0x7f(%ecx),%edi
403d7b:	ba 00 40 00 00       	mov    $0x4000,%edx
403d80:	85 c9                	test   %ecx,%ecx
403d82:	0f 84 1c 01 00 00    	je     0x403ea4
403d88:	0f b7 c0             	movzwl %ax,%eax
403d8b:	83 f8 53             	cmp    $0x53,%eax
403d8e:	0f 8f 93 00 00 00    	jg     0x403e27
403d94:	74 7f                	je     0x403e15
403d96:	83 e8 20             	sub    $0x20,%eax
403d99:	0f 84 f6 00 00 00    	je     0x403e95
403d9f:	83 e8 0b             	sub    $0xb,%eax
403da2:	74 52                	je     0x403df6
403da4:	48                   	dec    %eax
403da5:	74 43                	je     0x403dea
403da7:	83 e8 18             	sub    $0x18,%eax
403daa:	74 2d                	je     0x403dd9
403dac:	83 e8 0a             	sub    $0xa,%eax
403daf:	74 21                	je     0x403dd2
403db1:	83 e8 04             	sub    $0x4,%eax
403db4:	0f 85 a1 01 00 00    	jne    0x403f5b
403dba:	39 45 f8             	cmp    %eax,-0x8(%ebp)
403dbd:	0f 85 cc 00 00 00    	jne    0x403e8f
403dc3:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
403dca:	83 cb 10             	or     $0x10,%ebx
403dcd:	e9 c3 00 00 00       	jmp    0x403e95
403dd2:	0b df                	or     %edi,%ebx
403dd4:	e9 bc 00 00 00       	jmp    0x403e95
403dd9:	f6 c3 40             	test   $0x40,%bl
403ddc:	0f 85 ad 00 00 00    	jne    0x403e8f
403de2:	83 cb 40             	or     $0x40,%ebx
403de5:	e9 ab 00 00 00       	jmp    0x403e95
403dea:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
403df1:	e9 99 00 00 00       	jmp    0x403e8f
403df6:	f6 c3 02             	test   $0x2,%bl
403df9:	0f 85 90 00 00 00    	jne    0x403e8f
403dff:	8b 45 fc             	mov    -0x4(%ebp),%eax
403e02:	83 e3 fe             	and    $0xfffffffe,%ebx
403e05:	83 e0 fc             	and    $0xfffffffc,%eax
403e08:	83 cb 02             	or     $0x2,%ebx
403e0b:	0b c7                	or     %edi,%eax
403e0d:	89 45 fc             	mov    %eax,-0x4(%ebp)
403e10:	e9 80 00 00 00       	jmp    0x403e95
403e15:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
403e19:	75 74                	jne    0x403e8f
403e1b:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
403e22:	83 cb 20             	or     $0x20,%ebx
403e25:	eb 6e                	jmp    0x403e95
403e27:	83 e8 54             	sub    $0x54,%eax
403e2a:	74 5a                	je     0x403e86
403e2c:	83 e8 0e             	sub    $0xe,%eax
403e2f:	74 45                	je     0x403e76
403e31:	48                   	dec    %eax
403e32:	74 30                	je     0x403e64
403e34:	83 e8 0b             	sub    $0xb,%eax
403e37:	74 15                	je     0x403e4e
403e39:	83 e8 06             	sub    $0x6,%eax
403e3c:	0f 85 19 01 00 00    	jne    0x403f5b
403e42:	f7 c3 00 c0 00 00    	test   $0xc000,%ebx
403e48:	75 45                	jne    0x403e8f
403e4a:	0b da                	or     %edx,%ebx
403e4c:	eb 47                	jmp    0x403e95
403e4e:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
403e52:	75 3b                	jne    0x403e8f
403e54:	81 65 fc ff bf ff ff 	andl   $0xffffbfff,-0x4(%ebp)
403e5b:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
403e62:	eb 31                	jmp    0x403e95
403e64:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
403e68:	75 25                	jne    0x403e8f
403e6a:	09 55 fc             	or     %edx,-0x4(%ebp)
403e6d:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
403e74:	eb 1f                	jmp    0x403e95
403e76:	f7 c3 00 c0 00 00    	test   $0xc000,%ebx
403e7c:	75 11                	jne    0x403e8f
403e7e:	81 cb 00 80 00 00    	or     $0x8000,%ebx
403e84:	eb 0f                	jmp    0x403e95
403e86:	b8 00 10 00 00       	mov    $0x1000,%eax
403e8b:	85 d8                	test   %ebx,%eax
403e8d:	74 04                	je     0x403e93
403e8f:	33 c9                	xor    %ecx,%ecx
403e91:	eb 02                	jmp    0x403e95