402ed2:	e8 7e 05 00 00       	call   0x403455
402ed7:	e8 92 10 00 00       	call   0x403f6e
402edc:	84 c0                	test   %al,%al
402ede:	75 04                	jne    0x402ee4
402ee0:	32 c0                	xor    %al,%al
402ee2:	5d                   	pop    %ebp
402ee3:	c3                   	ret
402ee4:	e8 d8 3f 00 00       	call   0x406ec1
402ee9:	84 c0                	test   %al,%al
402eeb:	75 0a                	jne    0x402ef7
402eed:	6a 00                	push   $0x0
402eef:	e8 99 10 00 00       	call   0x403f8d
402ef4:	59                   	pop    %ecx
402ef5:	eb e9                	jmp    0x402ee0
402ef7:	b0 01                	mov    $0x1,%al
402ef9:	5d                   	pop    %ebp
402efa:	c3                   	ret
402efb:	55                   	push   %ebp
402efc:	8b ec                	mov    %esp,%ebp
402efe:	80 3d 81 69 41 00 00 	cmpb   $0x0,0x416981
402f05:	74 04                	je     0x402f0b
402f07:	b0 01                	mov    $0x1,%al
402f09:	5d                   	pop    %ebp
402f0a:	c3                   	ret
402f0b:	56                   	push   %esi
402f0c:	8b 75 08             	mov    0x8(%ebp),%esi
402f0f:	85 f6                	test   %esi,%esi
402f11:	74 05                	je     0x402f18
402f13:	83 fe 01             	cmp    $0x1,%esi
402f16:	75 62                	jne    0x402f7a
402f18:	e8 0c 07 00 00       	call   0x403629
402f1d:	85 c0                	test   %eax,%eax
402f1f:	74 26                	je     0x402f47
402f21:	85 f6                	test   %esi,%esi
402f23:	75 22                	jne    0x402f47
402f25:	68 84 69 41 00       	push   $0x416984
402f2a:	e8 3b 3e 00 00       	call   0x406d6a
402f2f:	59                   	pop    %ecx
402f30:	85 c0                	test   %eax,%eax
402f32:	75 0f                	jne    0x402f43
402f34:	68 90 69 41 00       	push   $0x416990
402f39:	e8 2c 3e 00 00       	call   0x406d6a
402f3e:	59                   	pop    %ecx
402f3f:	85 c0                	test   %eax,%eax
402f41:	74 2b                	je     0x402f6e
402f43:	32 c0                	xor    %al,%al
402f45:	eb 30                	jmp    0x402f77
402f47:	83 c9 ff             	or     $0xffffffff,%ecx
402f4a:	89 0d 84 69 41 00    	mov    %ecx,0x416984
402f50:	89 0d 88 69 41 00    	mov    %ecx,0x416988
402f56:	89 0d 8c 69 41 00    	mov    %ecx,0x41698c
402f5c:	89 0d 90 69 41 00    	mov    %ecx,0x416990
402f62:	89 0d 94 69 41 00    	mov    %ecx,0x416994
402f68:	89 0d 98 69 41 00    	mov    %ecx,0x416998
402f6e:	c6 05 81 69 41 00 01 	movb   $0x1,0x416981
402f75:	b0 01                	mov    $0x1,%al
402f77:	5e                   	pop    %esi
402f78:	5d                   	pop    %ebp
402f79:	c3                   	ret
402f7a:	6a 05                	push   $0x5
402f7c:	e8 35 02 00 00       	call   0x4031b6
402f81:	cc                   	int3
402f82:	6a 08                	push   $0x8
402f84:	68 30 48 41 00       	push   $0x414830
402f89:	e8 82 04 00 00       	call   0x403410
402f8e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
402f92:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
402f97:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
402f9e:	75 5d                	jne    0x402ffd
402fa0:	a1 3c 00 40 00       	mov    0x40003c,%eax
402fa5:	81 b8 00 00 40 00 50 	cmpl   $0x4550,0x400000(%eax)
402fac:	45 00 00
402faf:	75 4c                	jne    0x402ffd
402fb1:	b9 0b 01 00 00       	mov    $0x10b,%ecx
402fb6:	66 39 88 18 00 40 00 	cmp    %cx,0x400018(%eax)
402fbd:	75 3e                	jne    0x402ffd
402fbf:	8b 45 08             	mov    0x8(%ebp),%eax
402fc2:	b9 00 00 40 00       	mov    $0x400000,%ecx
402fc7:	2b c1                	sub    %ecx,%eax
402fc9:	50                   	push   %eax
402fca:	51                   	push   %ecx
402fcb:	e8 7c fe ff ff       	call   0x402e4c
402fd0:	59                   	pop    %ecx
402fd1:	59                   	pop    %ecx
402fd2:	85 c0                	test   %eax,%eax
402fd4:	74 27                	je     0x402ffd
402fd6:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
402fda:	7c 21                	jl     0x402ffd
402fdc:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
402fe3:	b0 01                	mov    $0x1,%al
402fe5:	eb 1f                	jmp    0x403006
402fe7:	8b 45 ec             	mov    -0x14(%ebp),%eax
402fea:	8b 00                	mov    (%eax),%eax
402fec:	33 c9                	xor    %ecx,%ecx
402fee:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
402ff4:	0f 94 c1             	sete   %cl
402ff7:	8b c1                	mov    %ecx,%eax
402ff9:	c3                   	ret
402ffa:	8b 65 e8             	mov    -0x18(%ebp),%esp
402ffd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403004:	32 c0                	xor    %al,%al
403006:	8b 4d f0             	mov    -0x10(%ebp),%ecx
403009:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403010:	59                   	pop    %ecx
403011:	5f                   	pop    %edi
403012:	5e                   	pop    %esi
403013:	5b                   	pop    %ebx
403014:	c9                   	leave
403015:	c3                   	ret
403016:	55                   	push   %ebp
403017:	8b ec                	mov    %esp,%ebp
403019:	e8 0b 06 00 00       	call   0x403629
40301e:	85 c0                	test   %eax,%eax
403020:	74 0f                	je     0x403031
403022:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
403026:	75 09                	jne    0x403031
403028:	33 c0                	xor    %eax,%eax
40302a:	b9 7c 69 41 00       	mov    $0x41697c,%ecx
40302f:	87 01                	xchg   %eax,(%ecx)
403031:	5d                   	pop    %ebp
403032:	c3                   	ret
403033:	55                   	push   %ebp
403034:	8b ec                	mov    %esp,%ebp
403036:	80 3d 80 69 41 00 00 	cmpb   $0x0,0x416980
40303d:	74 06                	je     0x403045
40303f:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
403043:	75 12                	jne    0x403057
403045:	ff 75 08             	push   0x8(%ebp)
403048:	e8 86 3e 00 00       	call   0x406ed3
40304d:	ff 75 08             	push   0x8(%ebp)
403050:	e8 38 0f 00 00       	call   0x403f8d
403055:	59                   	pop    %ecx
403056:	59                   	pop    %ecx
403057:	b0 01                	mov    $0x1,%al
403059:	5d                   	pop    %ebp
40305a:	c3                   	ret
40305b:	55                   	push   %ebp
40305c:	8b ec                	mov    %esp,%ebp
40305e:	83 3d 84 69 41 00 ff 	cmpl   $0xffffffff,0x416984
403065:	ff 75 08             	push   0x8(%ebp)
403068:	75 07                	jne    0x403071
40306a:	e8 a7 3c 00 00       	call   0x406d16
40306f:	eb 0b                	jmp    0x40307c
403071:	68 84 69 41 00       	push   $0x416984
403076:	e8 18 3d 00 00       	call   0x406d93
40307b:	59                   	pop    %ecx
40307c:	f7 d8                	neg    %eax
40307e:	59                   	pop    %ecx
40307f:	1b c0                	sbb    %eax,%eax
403081:	f7 d0                	not    %eax
403083:	23 45 08             	and    0x8(%ebp),%eax
403086:	5d                   	pop    %ebp
403087:	c3                   	ret
403088:	55                   	push   %ebp
403089:	8b ec                	mov    %esp,%ebp
40308b:	ff 75 08             	push   0x8(%ebp)
40308e:	e8 c8 ff ff ff       	call   0x40305b
403093:	f7 d8                	neg    %eax
403095:	59                   	pop    %ecx
403096:	1b c0                	sbb    %eax,%eax
403098:	f7 d8                	neg    %eax
40309a:	48                   	dec    %eax
40309b:	5d                   	pop    %ebp
40309c:	c3                   	ret
40309d:	55                   	push   %ebp
40309e:	8b ec                	mov    %esp,%ebp
4030a0:	83 ec 14             	sub    $0x14,%esp
4030a3:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4030a7:	8d 45 f4             	lea    -0xc(%ebp),%eax
4030aa:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4030ae:	50                   	push   %eax
4030af:	ff 15 28 f0 40 00    	call   *0x40f028
4030b5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4030b8:	33 45 f4             	xor    -0xc(%ebp),%eax
4030bb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4030be:	ff 15 24 f0 40 00    	call   *0x40f024
4030c4:	31 45 fc             	xor    %eax,-0x4(%ebp)
4030c7:	ff 15 20 f0 40 00    	call   *0x40f020
4030cd:	31 45 fc             	xor    %eax,-0x4(%ebp)
4030d0:	8d 45 ec             	lea    -0x14(%ebp),%eax
4030d3:	50                   	push   %eax
4030d4:	ff 15 1c f0 40 00    	call   *0x40f01c
4030da:	8b 45 f0             	mov    -0x10(%ebp),%eax
4030dd:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4030e0:	33 45 ec             	xor    -0x14(%ebp),%eax
4030e3:	33 45 fc             	xor    -0x4(%ebp),%eax
4030e6:	33 c1                	xor    %ecx,%eax
4030e8:	c9                   	leave
4030e9:	c3                   	ret
4030ea:	8b 0d 14 60 41 00    	mov    0x416014,%ecx
4030f0:	56                   	push   %esi
4030f1:	57                   	push   %edi
4030f2:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
4030f7:	be 00 00 ff ff       	mov    $0xffff0000,%esi
4030fc:	3b cf                	cmp    %edi,%ecx
4030fe:	74 04                	je     0x403104
403100:	85 ce                	test   %ecx,%esi
403102:	75 26                	jne    0x40312a
403104:	e8 94 ff ff ff       	call   0x40309d
403109:	8b c8                	mov    %eax,%ecx
40310b:	3b cf                	cmp    %edi,%ecx
40310d:	75 07                	jne    0x403116
40310f:	b9 4f e6 40 bb       	mov    $0xbb40e64f,%ecx
403114:	eb 0e                	jmp    0x403124
403116:	85 ce                	test   %ecx,%esi
403118:	75 0a                	jne    0x403124
40311a:	0d 11 47 00 00       	or     $0x4711,%eax
40311f:	c1 e0 10             	shl    $0x10,%eax
403122:	0b c8                	or     %eax,%ecx
403124:	89 0d 14 60 41 00    	mov    %ecx,0x416014
40312a:	f7 d1                	not    %ecx
40312c:	5f                   	pop    %edi
40312d:	89 0d 18 60 41 00    	mov    %ecx,0x416018
403133:	5e                   	pop    %esi
403134:	c3                   	ret
403135:	33 c0                	xor    %eax,%eax
403137:	c3                   	ret
403138:	33 c0                	xor    %eax,%eax
40313a:	40                   	inc    %eax
40313b:	c3                   	ret
40313c:	b8 00 40 00 00       	mov    $0x4000,%eax
403141:	c3                   	ret
403142:	68 a0 69 41 00       	push   $0x4169a0
403147:	ff 15 2c f0 40 00    	call   *0x40f02c
40314d:	c3                   	ret
40314e:	b0 01                	mov    $0x1,%al
403150:	c3                   	ret
403151:	68 00 00 03 00       	push   $0x30000
403156:	68 00 00 01 00       	push   $0x10000
40315b:	6a 00                	push   $0x0
40315d:	e8 a1 3d 00 00       	call   0x406f03
403162:	83 c4 0c             	add    $0xc,%esp
403165:	85 c0                	test   %eax,%eax
403167:	75 01                	jne    0x40316a
403169:	c3                   	ret
40316a:	6a 07                	push   $0x7
40316c:	e8 45 00 00 00       	call   0x4031b6
403171:	cc                   	int3
403172:	c2 00 00             	ret    $0x0
403175:	b8 a8 69 41 00       	mov    $0x4169a8,%eax
40317a:	c3                   	ret
40317b:	b8 b0 69 41 00       	mov    $0x4169b0,%eax
403180:	c3                   	ret
403181:	e8 ef ff ff ff       	call   0x403175
403186:	8b 48 04             	mov    0x4(%eax),%ecx
403189:	83 08 24             	orl    $0x24,(%eax)
40318c:	89 48 04             	mov    %ecx,0x4(%eax)
40318f:	e8 e7 ff ff ff       	call   0x40317b
403194:	8b 48 04             	mov    0x4(%eax),%ecx
403197:	83 08 02             	orl    $0x2,(%eax)
40319a:	89 48 04             	mov    %ecx,0x4(%eax)
40319d:	c3                   	ret
40319e:	33 c0                	xor    %eax,%eax
4031a0:	39 05 04 60 41 00    	cmp    %eax,0x416004
4031a6:	0f 94 c0             	sete   %al
4031a9:	c3                   	ret
4031aa:	b8 b4 73 41 00       	mov    $0x4173b4,%eax
4031af:	c3                   	ret
4031b0:	b8 b0 73 41 00       	mov    $0x4173b0,%eax
4031b5:	c3                   	ret
4031b6:	55                   	push   %ebp
4031b7:	8b ec                	mov    %esp,%ebp
4031b9:	81 ec 24 03 00 00    	sub    $0x324,%esp
4031bf:	53                   	push   %ebx
4031c0:	6a 17                	push   $0x17
4031c2:	ff 15 40 f0 40 00    	call   *0x40f040
4031c8:	85 c0                	test   %eax,%eax
4031ca:	74 05                	je     0x4031d1
4031cc:	8b 4d 08             	mov    0x8(%ebp),%ecx
4031cf:	cd 29                	int    $0x29
4031d1:	6a 03                	push   $0x3
4031d3:	e8 d3 01 00 00       	call   0x4033ab
4031d8:	c7 04 24 cc 02 00 00 	movl   $0x2cc,(%esp)
4031df:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
4031e5:	6a 00                	push   $0x0
4031e7:	50                   	push   %eax
4031e8:	e8 f3 0d 00 00       	call   0x403fe0
4031ed:	83 c4 0c             	add    $0xc,%esp
4031f0:	89 85 8c fd ff ff    	mov    %eax,-0x274(%ebp)
4031f6:	89 8d 88 fd ff ff    	mov    %ecx,-0x278(%ebp)
4031fc:	89 95 84 fd ff ff    	mov    %edx,-0x27c(%ebp)
403202:	89 9d 80 fd ff ff    	mov    %ebx,-0x280(%ebp)
403208:	89 b5 7c fd ff ff    	mov    %esi,-0x284(%ebp)
40320e:	89 bd 78 fd ff ff    	mov    %edi,-0x288(%ebp)
403214:	66 8c 95 a4 fd ff ff 	data16 mov %ss,-0x25c(%ebp)
40321b:	66 8c 8d 98 fd ff ff 	data16 mov %cs,-0x268(%ebp)
403222:	66 8c 9d 74 fd ff ff 	data16 mov %ds,-0x28c(%ebp)
403229:	66 8c 85 70 fd ff ff 	data16 mov %es,-0x290(%ebp)
403230:	66 8c a5 6c fd ff ff 	data16 mov %fs,-0x294(%ebp)
403237:	66 8c ad 68 fd ff ff 	data16 mov %gs,-0x298(%ebp)
40323e:	9c                   	pushf
40323f:	8f 85 9c fd ff ff    	pop    -0x264(%ebp)
403245:	8b 45 04             	mov    0x4(%ebp),%eax
403248:	89 85 94 fd ff ff    	mov    %eax,-0x26c(%ebp)
40324e:	8d 45 04             	lea    0x4(%ebp),%eax
403251:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
403257:	c7 85 dc fc ff ff 01 	movl   $0x10001,-0x324(%ebp)
40325e:	00 01 00
403261:	8b 40 fc             	mov    -0x4(%eax),%eax
403264:	6a 50                	push   $0x50
403266:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
40326c:	8d 45 a8             	lea    -0x58(%ebp),%eax
40326f:	6a 00                	push   $0x0
403271:	50                   	push   %eax
403272:	e8 69 0d 00 00       	call   0x403fe0
403277:	8b 45 04             	mov    0x4(%ebp),%eax
40327a:	83 c4 0c             	add    $0xc,%esp
40327d:	c7 45 a8 15 00 00 40 	movl   $0x40000015,-0x58(%ebp)
403284:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
40328b:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40328e:	ff 15 30 f0 40 00    	call   *0x40f030
403294:	6a 00                	push   $0x0
403296:	8d 58 ff             	lea    -0x1(%eax),%ebx
403299:	f7 db                	neg    %ebx
40329b:	8d 45 a8             	lea    -0x58(%ebp),%eax
40329e:	89 45 f8             	mov    %eax,-0x8(%ebp)
4032a1:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
4032a7:	1a db                	sbb    %bl,%bl
4032a9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4032ac:	fe c3                	inc    %bl
4032ae:	ff 15 38 f0 40 00    	call   *0x40f038
4032b4:	8d 45 f8             	lea    -0x8(%ebp),%eax
4032b7:	50                   	push   %eax
4032b8:	ff 15 34 f0 40 00    	call   *0x40f034
4032be:	85 c0                	test   %eax,%eax
4032c0:	75 0c                	jne    0x4032ce
4032c2:	84 db                	test   %bl,%bl
4032c4:	75 08                	jne    0x4032ce
4032c6:	6a 03                	push   $0x3
4032c8:	e8 de 00 00 00       	call   0x4033ab
4032cd:	59                   	pop    %ecx
4032ce:	5b                   	pop    %ebx
4032cf:	c9                   	leave
4032d0:	c3                   	ret
4032d1:	55                   	push   %ebp
4032d2:	8b ec                	mov    %esp,%ebp
4032d4:	83 ec 44             	sub    $0x44,%esp
4032d7:	6a 44                	push   $0x44
4032d9:	8d 45 bc             	lea    -0x44(%ebp),%eax
4032dc:	6a 00                	push   $0x0
4032de:	50                   	push   %eax
4032df:	e8 fc 0c 00 00       	call   0x403fe0
4032e4:	83 c4 0c             	add    $0xc,%esp
4032e7:	8d 45 bc             	lea    -0x44(%ebp),%eax
4032ea:	50                   	push   %eax
4032eb:	ff 15 3c f0 40 00    	call   *0x40f03c
4032f1:	f6 45 e8 01          	testb  $0x1,-0x18(%ebp)
4032f5:	74 06                	je     0x4032fd
4032f7:	0f b7 45 ec          	movzwl -0x14(%ebp),%eax
4032fb:	c9                   	leave