402f92:	4b                   	dec    %ebx
402f93:	75 19                	jne    0x402fae
402f95:	85 ff                	test   %edi,%edi
402f97:	74 15                	je     0x402fae
402f99:	8b 17                	mov    (%edi),%edx
402f9b:	56                   	push   %esi
402f9c:	6a 01                	push   $0x1
402f9e:	8b 72 14             	mov    0x14(%edx),%esi
402fa1:	8b ce                	mov    %esi,%ecx
402fa3:	ff 15 90 61 40 00    	call   *0x406190
402fa9:	8b cf                	mov    %edi,%ecx
402fab:	ff d6                	call   *%esi
402fad:	5e                   	pop    %esi
402fae:	5f                   	pop    %edi
402faf:	8b c3                	mov    %ebx,%eax
402fb1:	5b                   	pop    %ebx
402fb2:	5d                   	pop    %ebp
402fb3:	c2 04 00             	ret    $0x4
402fb6:	cc                   	int3
402fb7:	cc                   	int3
402fb8:	cc                   	int3
402fb9:	cc                   	int3
402fba:	cc                   	int3
402fbb:	cc                   	int3
402fbc:	cc                   	int3
402fbd:	cc                   	int3
402fbe:	cc                   	int3
402fbf:	cc                   	int3
402fc0:	33 c0                	xor    %eax,%eax
402fc2:	c2 08 00             	ret    $0x8
402fc5:	8b ff                	mov    %edi,%edi
402fc7:	55                   	push   %ebp
402fc8:	8b ec                	mov    %esp,%ebp
402fca:	83 ec 24             	sub    $0x24,%esp
402fcd:	53                   	push   %ebx
402fce:	56                   	push   %esi
402fcf:	57                   	push   %edi
402fd0:	33 ff                	xor    %edi,%edi
402fd2:	89 55 f8             	mov    %edx,-0x8(%ebp)
402fd5:	47                   	inc    %edi
402fd6:	8b d9                	mov    %ecx,%ebx
402fd8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
402fdc:	85 ff                	test   %edi,%edi
402fde:	0f 84 de 00 00 00    	je     0x4030c2
402fe4:	8b 03                	mov    (%ebx),%eax
402fe6:	53                   	push   %ebx
402fe7:	8b 70 04             	mov    0x4(%eax),%esi
402fea:	8b ce                	mov    %esi,%ecx
402fec:	ff 15 90 61 40 00    	call   *0x406190
402ff2:	ff d6                	call   *%esi
402ff4:	68 ff 1c 00 00       	push   $0x1cff
402ff9:	6a ff                	push   $0xffffffff
402ffb:	33 f6                	xor    %esi,%esi
402ffd:	8d 45 f8             	lea    -0x8(%ebp),%eax
403000:	56                   	push   %esi
403001:	50                   	push   %eax
403002:	6a 01                	push   $0x1
403004:	ff 15 a0 60 40 00    	call   *0x4060a0
40300a:	85 c0                	test   %eax,%eax
40300c:	0f 84 8e 00 00 00    	je     0x4030a0
403012:	83 f8 01             	cmp    $0x1,%eax
403015:	74 74                	je     0x40308b
403017:	83 f8 ff             	cmp    $0xffffffff,%eax
40301a:	74 09                	je     0x403025
40301c:	c7 45 fc ff ff 00 80 	movl   $0x8000ffff,-0x4(%ebp)
403023:	eb 7d                	jmp    0x4030a2
403025:	e8 f8 fb ff ff       	call   0x402c22
40302a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40302d:	eb 73                	jmp    0x4030a2
40302f:	8b 45 e0             	mov    -0x20(%ebp),%eax
403032:	83 f8 12             	cmp    $0x12,%eax
403035:	74 69                	je     0x4030a0
403037:	3d 04 01 00 00       	cmp    $0x104,%eax
40303c:	74 23                	je     0x403061
40303e:	3d 05 01 00 00       	cmp    $0x105,%eax
403043:	74 1c                	je     0x403061
403045:	3d 06 01 00 00       	cmp    $0x106,%eax
40304a:	74 15                	je     0x403061
40304c:	3d 00 01 00 00       	cmp    $0x100,%eax
403051:	74 0e                	je     0x403061
403053:	3d 01 01 00 00       	cmp    $0x101,%eax
403058:	74 07                	je     0x403061
40305a:	3d 02 01 00 00       	cmp    $0x102,%eax
40305f:	75 16                	jne    0x403077
403061:	8b 03                	mov    (%ebx),%eax
403063:	8d 4d dc             	lea    -0x24(%ebp),%ecx
403066:	51                   	push   %ecx
403067:	53                   	push   %ebx
403068:	8b 70 24             	mov    0x24(%eax),%esi
40306b:	8b ce                	mov    %esi,%ecx
40306d:	ff 15 90 61 40 00    	call   *0x406190
403073:	ff d6                	call   *%esi
403075:	33 f6                	xor    %esi,%esi
403077:	8d 45 dc             	lea    -0x24(%ebp),%eax
40307a:	50                   	push   %eax
40307b:	ff 15 a4 60 40 00    	call   *0x4060a4
403081:	8d 45 dc             	lea    -0x24(%ebp),%eax
403084:	50                   	push   %eax
403085:	ff 15 9c 60 40 00    	call   *0x40609c
40308b:	6a 01                	push   $0x1
40308d:	56                   	push   %esi
40308e:	56                   	push   %esi
40308f:	56                   	push   %esi
403090:	8d 45 dc             	lea    -0x24(%ebp),%eax
403093:	50                   	push   %eax
403094:	ff 15 98 60 40 00    	call   *0x406098
40309a:	85 c0                	test   %eax,%eax
40309c:	75 91                	jne    0x40302f
40309e:	eb 02                	jmp    0x4030a2
4030a0:	8b fe                	mov    %esi,%edi
4030a2:	8b 03                	mov    (%ebx),%eax
4030a4:	53                   	push   %ebx
4030a5:	8b 70 08             	mov    0x8(%eax),%esi
4030a8:	8b ce                	mov    %esi,%ecx
4030aa:	ff 15 90 61 40 00    	call   *0x406190
4030b0:	ff d6                	call   *%esi
4030b2:	f7 d8                	neg    %eax
4030b4:	1b c0                	sbb    %eax,%eax
4030b6:	23 f8                	and    %eax,%edi
4030b8:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4030bc:	0f 8d 1a ff ff ff    	jge    0x402fdc
4030c2:	5f                   	pop    %edi
4030c3:	5e                   	pop    %esi
4030c4:	5b                   	pop    %ebx
4030c5:	c9                   	leave
4030c6:	c3                   	ret
4030c7:	cc                   	int3
4030c8:	cc                   	int3
4030c9:	cc                   	int3
4030ca:	cc                   	int3
4030cb:	cc                   	int3
4030cc:	cc                   	int3
4030cd:	cc                   	int3
4030ce:	cc                   	int3
4030cf:	cc                   	int3
4030d0:	8b ff                	mov    %edi,%edi
4030d2:	55                   	push   %ebp
4030d3:	8b ec                	mov    %esp,%ebp
4030d5:	83 ec 18             	sub    $0x18,%esp
4030d8:	a1 14 50 40 00       	mov    0x405014,%eax
4030dd:	33 c5                	xor    %ebp,%eax
4030df:	89 45 fc             	mov    %eax,-0x4(%ebp)
4030e2:	53                   	push   %ebx
4030e3:	8b 5d 08             	mov    0x8(%ebp),%ebx
4030e6:	56                   	push   %esi
4030e7:	57                   	push   %edi
4030e8:	53                   	push   %ebx
4030e9:	8b 03                	mov    (%ebx),%eax
4030eb:	8b 70 04             	mov    0x4(%eax),%esi
4030ee:	8b ce                	mov    %esi,%ecx
4030f0:	ff 15 90 61 40 00    	call   *0x406190
4030f6:	ff d6                	call   *%esi
4030f8:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
4030fc:	8d 73 08             	lea    0x8(%ebx),%esi
4030ff:	8d 7d ec             	lea    -0x14(%ebp),%edi
403102:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403103:	8d 45 e8             	lea    -0x18(%ebp),%eax
403106:	50                   	push   %eax
403107:	68 dc 14 40 00       	push   $0x4014dc
40310c:	6a 01                	push   $0x1
40310e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40310f:	8d 45 ec             	lea    -0x14(%ebp),%eax
403112:	6a 00                	push   $0x0
403114:	50                   	push   %eax
403115:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403116:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403117:	ff 15 d8 60 40 00    	call   *0x4060d8
40311d:	ff 75 e8             	push   -0x18(%ebp)
403120:	8b f0                	mov    %eax,%esi
403122:	8b cb                	mov    %ebx,%ecx
403124:	56                   	push   %esi
403125:	e8 45 fd ff ff       	call   0x402e6f
40312a:	85 f6                	test   %esi,%esi
40312c:	78 13                	js     0x403141
40312e:	8b 45 e8             	mov    -0x18(%ebp),%eax
403131:	50                   	push   %eax
403132:	8b 08                	mov    (%eax),%ecx
403134:	8b 71 08             	mov    0x8(%ecx),%esi
403137:	8b ce                	mov    %esi,%ecx
403139:	ff 15 90 61 40 00    	call   *0x406190
40313f:	ff d6                	call   *%esi
403141:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403144:	33 c0                	xor    %eax,%eax
403146:	5f                   	pop    %edi
403147:	5e                   	pop    %esi
403148:	33 cd                	xor    %ebp,%ecx
40314a:	5b                   	pop    %ebx
40314b:	e8 50 11 00 00       	call   0x4042a0
403150:	c9                   	leave
403151:	c2 04 00             	ret    $0x4
403154:	cc                   	int3
403155:	cc                   	int3
403156:	cc                   	int3
403157:	cc                   	int3
403158:	cc                   	int3
403159:	cc                   	int3
40315a:	cc                   	int3
40315b:	cc                   	int3
40315c:	cc                   	int3
40315d:	cc                   	int3
40315e:	cc                   	int3
40315f:	cc                   	int3
403160:	8b ff                	mov    %edi,%edi
403162:	55                   	push   %ebp
403163:	8b ec                	mov    %esp,%ebp
403165:	56                   	push   %esi
403166:	57                   	push   %edi
403167:	8b 7d 08             	mov    0x8(%ebp),%edi
40316a:	83 7f 30 00          	cmpl   $0x0,0x30(%edi)
40316e:	7c 33                	jl     0x4031a3
403170:	53                   	push   %ebx
403171:	8b 5f 34             	mov    0x34(%edi),%ebx
403174:	85 db                	test   %ebx,%ebx
403176:	74 2a                	je     0x4031a2
403178:	8b 03                	mov    (%ebx),%eax
40317a:	53                   	push   %ebx
40317b:	8b 70 04             	mov    0x4(%eax),%esi
40317e:	8b ce                	mov    %esi,%ecx
403180:	ff 15 90 61 40 00    	call   *0x406190
403186:	ff d6                	call   *%esi
403188:	8b 57 28             	mov    0x28(%edi),%edx
40318b:	8b cb                	mov    %ebx,%ecx
40318d:	e8 33 fe ff ff       	call   0x402fc5
403192:	8b 03                	mov    (%ebx),%eax
403194:	53                   	push   %ebx
403195:	8b 70 08             	mov    0x8(%eax),%esi
403198:	8b ce                	mov    %esi,%ecx
40319a:	ff 15 90 61 40 00    	call   *0x406190
4031a0:	ff d6                	call   *%esi
4031a2:	5b                   	pop    %ebx
4031a3:	8b 07                	mov    (%edi),%eax
4031a5:	57                   	push   %edi
4031a6:	8b 70 08             	mov    0x8(%eax),%esi
4031a9:	8b ce                	mov    %esi,%ecx
4031ab:	ff 15 90 61 40 00    	call   *0x406190
4031b1:	ff d6                	call   *%esi
4031b3:	5f                   	pop    %edi
4031b4:	33 c0                	xor    %eax,%eax
4031b6:	5e                   	pop    %esi
4031b7:	5d                   	pop    %ebp
4031b8:	c2 04 00             	ret    $0x4
4031bb:	cc                   	int3
4031bc:	cc                   	int3
4031bd:	cc                   	int3
4031be:	cc                   	int3
4031bf:	cc                   	int3
4031c0:	8b ff                	mov    %edi,%edi
4031c2:	55                   	push   %ebp
4031c3:	8b ec                	mov    %esp,%ebp
4031c5:	83 ec 2c             	sub    $0x2c,%esp
4031c8:	8b 45 08             	mov    0x8(%ebp),%eax
4031cb:	53                   	push   %ebx
4031cc:	8b 5d 10             	mov    0x10(%ebp),%ebx
4031cf:	56                   	push   %esi
4031d0:	8b 75 14             	mov    0x14(%ebp),%esi
4031d3:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4031d6:	89 5d dc             	mov    %ebx,-0x24(%ebp)
4031d9:	89 75 d8             	mov    %esi,-0x28(%ebp)
4031dc:	57                   	push   %edi
4031dd:	bf 57 00 07 80       	mov    $0x80070057,%edi
4031e2:	85 f6                	test   %esi,%esi
4031e4:	0f 84 14 01 00 00    	je     0x4032fe
4031ea:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4031ee:	0f 85 0a 01 00 00    	jne    0x4032fe
4031f4:	83 26 00             	andl   $0x0,(%esi)
4031f7:	8d 50 0c             	lea    0xc(%eax),%edx
4031fa:	33 c9                	xor    %ecx,%ecx
4031fc:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
4031ff:	bb ec 14 40 00       	mov    $0x4014ec,%ebx
403204:	3b 04 8b             	cmp    (%ebx,%ecx,4),%eax
403207:	8b 5d dc             	mov    -0x24(%ebp),%ebx
40320a:	75 1a                	jne    0x403226
40320c:	41                   	inc    %ecx
40320d:	83 f9 04             	cmp    $0x4,%ecx
403210:	75 ea                	jne    0x4031fc
403212:	56                   	push   %esi
403213:	53                   	push   %ebx
403214:	6a 01                	push   $0x1
403216:	6a 00                	push   $0x0
403218:	52                   	push   %edx
403219:	ff 15 d8 60 40 00    	call   *0x4060d8
40321f:	8b f8                	mov    %eax,%edi
403221:	e9 d8 00 00 00       	jmp    0x4032fe
403226:	6a 3c                	push   $0x3c
403228:	e8 0e 0d 00 00       	call   0x403f3b
40322d:	8b d8                	mov    %eax,%ebx
40322f:	59                   	pop    %ecx
403230:	85 db                	test   %ebx,%ebx
403232:	74 5b                	je     0x40328f
403234:	8b 75 dc             	mov    -0x24(%ebp),%esi
403237:	8d 7d e0             	lea    -0x20(%ebp),%edi
40323a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40323d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40323e:	8b 48 1c             	mov    0x1c(%eax),%ecx
403241:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403242:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403243:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403244:	8d 70 0c             	lea    0xc(%eax),%esi
403247:	8d 7d f0             	lea    -0x10(%ebp),%edi
40324a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40324b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40324c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40324d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40324e:	8d 7b 08             	lea    0x8(%ebx),%edi
403251:	83 63 2c 00          	andl   $0x0,0x2c(%ebx)
403255:	8d 75 f0             	lea    -0x10(%ebp),%esi
403258:	83 63 34 00          	andl   $0x0,0x34(%ebx)
40325c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40325d:	c7 03 1c 10 40 00    	movl   $0x40101c,(%ebx)
403263:	c7 43 04 01 00 00 00 	movl   $0x1,0x4(%ebx)
40326a:	89 4b 28             	mov    %ecx,0x28(%ebx)
40326d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40326e:	c7 43 30 ff ff 00 80 	movl   $0x8000ffff,0x30(%ebx)
403275:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403276:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403277:	8d 7b 18             	lea    0x18(%ebx),%edi
40327a:	8d 75 e0             	lea    -0x20(%ebp),%esi
40327d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40327e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40327f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403280:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403281:	83 63 38 00          	andl   $0x0,0x38(%ebx)
403285:	bf 57 00 07 80       	mov    $0x80070057,%edi
40328a:	8b 75 d8             	mov    -0x28(%ebp),%esi
40328d:	eb 02                	jmp    0x403291
40328f:	33 db                	xor    %ebx,%ebx
403291:	85 db                	test   %ebx,%ebx
403293:	74 64                	je     0x4032f9
403295:	68 d0 30 40 00       	push   $0x4030d0
40329a:	6a 0c                	push   $0xc
40329c:	53                   	push   %ebx
40329d:	68 60 31 40 00       	push   $0x403160
4032a2:	ff 15 8c 60 40 00    	call   *0x40608c
4032a8:	85 c0                	test   %eax,%eax
4032aa:	74 3b                	je     0x4032e7
4032ac:	8b 7b 30             	mov    0x30(%ebx),%edi
4032af:	85 ff                	test   %edi,%edi
4032b1:	78 34                	js     0x4032e7
4032b3:	33 c0                	xor    %eax,%eax
4032b5:	bf 05 40 00 80       	mov    $0x80004005,%edi
4032ba:	39 43 2c             	cmp    %eax,0x2c(%ebx)
4032bd:	74 28                	je     0x4032e7
4032bf:	39 43 38             	cmp    %eax,0x38(%ebx)
4032c2:	74 23                	je     0x4032e7
4032c4:	89 06                	mov    %eax,(%esi)
4032c6:	39 43 38             	cmp    %eax,0x38(%ebx)
4032c9:	74 1c                	je     0x4032e7
4032cb:	8b 4b 38             	mov    0x38(%ebx),%ecx
4032ce:	56                   	push   %esi
4032cf:	ff 75 dc             	push   -0x24(%ebp)