402dbe:	56                   	push   %esi
402dbf:	57                   	push   %edi
402dc0:	8b 7c 24 28          	mov    0x28(%esp),%edi
402dc4:	6a 00                	push   $0x0
402dc6:	e8 3f 2d 00 00       	call   0x405b0a
402dcb:	50                   	push   %eax
402dcc:	e8 10 37 00 00       	call   0x4064e1
402dd1:	83 c4 08             	add    $0x8,%esp
402dd4:	e8 15 37 00 00       	call   0x4064ee
402dd9:	25 03 00 00 80       	and    $0x80000003,%eax
402dde:	79 05                	jns    0x402de5
402de0:	48                   	dec    %eax
402de1:	83 c8 fc             	or     $0xfffffffc,%eax
402de4:	40                   	inc    %eax
402de5:	83 c0 01             	add    $0x1,%eax
402de8:	83 f8 03             	cmp    $0x3,%eax
402deb:	7e d7                	jle    0x402dc4
402ded:	e8 fe fe ff ff       	call   0x402cf0
402df2:	8b 0d 58 74 41 00    	mov    0x417458,%ecx
402df8:	8b 15 5c 74 41 00    	mov    0x41745c,%edx
402dfe:	a1 54 74 41 00       	mov    0x417454,%eax
402e03:	68 48 74 41 00       	push   $0x417448
402e08:	89 4c 24 18          	mov    %ecx,0x18(%esp)
402e0c:	68 f8 55 01 00       	push   $0x155f8
402e11:	8d 4c 24 10          	lea    0x10(%esp),%ecx
402e15:	89 54 24 20          	mov    %edx,0x20(%esp)
402e19:	89 44 24 18          	mov    %eax,0x18(%esp)
402e1d:	a1 60 74 41 00       	mov    0x417460,%eax
402e22:	51                   	push   %ecx
402e23:	8d 54 24 18          	lea    0x18(%esp),%edx
402e27:	52                   	push   %edx
402e28:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
402e2f:	00
402e30:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
402e37:	00
402e38:	89 44 24 2c          	mov    %eax,0x2c(%esp)
402e3c:	e8 2f e3 ff ff       	call   0x401170
402e41:	8b 74 24 1c          	mov    0x1c(%esp),%esi
402e45:	8d 44 24 18          	lea    0x18(%esp),%eax
402e49:	50                   	push   %eax
402e4a:	56                   	push   %esi
402e4b:	8d 4c 24 28          	lea    0x28(%esp),%ecx
402e4f:	6a 01                	push   $0x1
402e51:	51                   	push   %ecx
402e52:	e8 e9 e1 ff ff       	call   0x401040
402e57:	83 c4 20             	add    $0x20,%esp
402e5a:	84 c0                	test   %al,%al
402e5c:	75 31                	jne    0x402e8f
402e5e:	8d 54 24 08          	lea    0x8(%esp),%edx
402e62:	52                   	push   %edx
402e63:	56                   	push   %esi
402e64:	8d 44 24 18          	lea    0x18(%esp),%eax
402e68:	6a 10                	push   $0x10
402e6a:	50                   	push   %eax
402e6b:	e8 d0 e1 ff ff       	call   0x401040
402e70:	83 c4 10             	add    $0x10,%esp
402e73:	84 c0                	test   %al,%al
402e75:	75 18                	jne    0x402e8f
402e77:	5f                   	pop    %edi
402e78:	b8 01 00 00 00       	mov    $0x1,%eax
402e7d:	5e                   	pop    %esi
402e7e:	8b 4c 24 18          	mov    0x18(%esp),%ecx
402e82:	33 cc                	xor    %esp,%ecx
402e84:	e8 ac 30 00 00       	call   0x405f35
402e89:	83 c4 1c             	add    $0x1c,%esp
402e8c:	c2 10 00             	ret    $0x10
402e8f:	ff d6                	call   *%esi
402e91:	68 b0 d5 41 00       	push   $0x41d5b0
402e96:	68 04 01 00 00       	push   $0x104
402e9b:	ff 15 4c 70 41 00    	call   *0x41704c
402ea1:	b8 b0 d5 41 00       	mov    $0x41d5b0,%eax
402ea6:	83 c0 ff             	add    $0xffffffff,%eax
402ea9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
402eb0:	8a 48 01             	mov    0x1(%eax),%cl
402eb3:	83 c0 01             	add    $0x1,%eax
402eb6:	84 c9                	test   %cl,%cl
402eb8:	75 f6                	jne    0x402eb0
402eba:	8b 0d 38 74 41 00    	mov    0x417438,%ecx
402ec0:	8b 15 3c 74 41 00    	mov    0x41743c,%edx
402ec6:	8b 35 a0 71 41 00    	mov    0x4171a0,%esi
402ecc:	89 08                	mov    %ecx,(%eax)
402ece:	8b 0d 40 74 41 00    	mov    0x417440,%ecx
402ed4:	89 50 04             	mov    %edx,0x4(%eax)
402ed7:	8a 15 44 74 41 00    	mov    0x417444,%dl
402edd:	6a 66                	push   $0x66
402edf:	89 48 08             	mov    %ecx,0x8(%eax)
402ee2:	57                   	push   %edi
402ee3:	88 50 0c             	mov    %dl,0xc(%eax)
402ee6:	89 3d d4 d6 41 00    	mov    %edi,0x41d6d4
402eec:	ff d6                	call   *%esi
402eee:	a3 c0 d6 41 00       	mov    %eax,0x41d6c0
402ef3:	a1 d4 d6 41 00       	mov    0x41d6d4,%eax
402ef8:	6a 67                	push   $0x67
402efa:	50                   	push   %eax
402efb:	ff d6                	call   *%esi
402efd:	8b 0d d4 d6 41 00    	mov    0x41d6d4,%ecx
402f03:	6a 68                	push   $0x68
402f05:	51                   	push   %ecx
402f06:	a3 bc d6 41 00       	mov    %eax,0x41d6bc
402f0b:	ff d6                	call   *%esi
402f0d:	8b 15 d4 d6 41 00    	mov    0x41d6d4,%edx
402f13:	6a 65                	push   $0x65
402f15:	52                   	push   %edx
402f16:	a3 b8 d6 41 00       	mov    %eax,0x41d6b8
402f1b:	ff 15 8c 71 41 00    	call   *0x41718c
402f21:	6a 00                	push   $0x0
402f23:	68 a0 1c 40 00       	push   $0x401ca0
402f28:	6a 00                	push   $0x0
402f2a:	6a 65                	push   $0x65
402f2c:	57                   	push   %edi
402f2d:	a3 b4 d6 41 00       	mov    %eax,0x41d6b4
402f32:	ff 15 7c 71 41 00    	call   *0x41717c
402f38:	a1 c0 d6 41 00       	mov    0x41d6c0,%eax
402f3d:	8b 35 00 70 41 00    	mov    0x417000,%esi
402f43:	50                   	push   %eax
402f44:	ff d6                	call   *%esi
402f46:	8b 0d bc d6 41 00    	mov    0x41d6bc,%ecx
402f4c:	51                   	push   %ecx
402f4d:	ff d6                	call   *%esi
402f4f:	8b 15 b8 d6 41 00    	mov    0x41d6b8,%edx
402f55:	52                   	push   %edx
402f56:	ff d6                	call   *%esi
402f58:	a1 b4 d6 41 00       	mov    0x41d6b4,%eax
402f5d:	50                   	push   %eax
402f5e:	ff d6                	call   *%esi
402f60:	8b 4c 24 20          	mov    0x20(%esp),%ecx
402f64:	5f                   	pop    %edi
402f65:	5e                   	pop    %esi
402f66:	33 cc                	xor    %esp,%ecx
402f68:	33 c0                	xor    %eax,%eax
402f6a:	e8 c6 2f 00 00       	call   0x405f35
402f6f:	83 c4 1c             	add    $0x1c,%esp
402f72:	c2 10 00             	ret    $0x10
402f75:	cc                   	int3
402f76:	cc                   	int3
402f77:	cc                   	int3
402f78:	cc                   	int3
402f79:	cc                   	int3
402f7a:	cc                   	int3
402f7b:	cc                   	int3
402f7c:	cc                   	int3
402f7d:	cc                   	int3
402f7e:	cc                   	int3
402f7f:	cc                   	int3
402f80:	83 ec 28             	sub    $0x28,%esp
402f83:	a1 20 c5 41 00       	mov    0x41c520,%eax
402f88:	33 c4                	xor    %esp,%eax
402f8a:	89 44 24 24          	mov    %eax,0x24(%esp)
402f8e:	8b 4c 24 30          	mov    0x30(%esp),%ecx
402f92:	83 e9 10             	sub    $0x10,%ecx
402f95:	8b 44 24 2c          	mov    0x2c(%esp),%eax
402f99:	0f 84 62 02 00 00    	je     0x403201
402f9f:	81 e9 00 01 00 00    	sub    $0x100,%ecx
402fa5:	56                   	push   %esi
402fa6:	0f 84 4b 01 00 00    	je     0x4030f7
402fac:	83 e9 01             	sub    $0x1,%ecx
402faf:	0f 85 2e 01 00 00    	jne    0x4030e3
402fb5:	8b 44 24 3c          	mov    0x3c(%esp),%eax
402fb9:	3b 05 1c d7 41 00    	cmp    0x41d71c,%eax
402fbf:	75 25                	jne    0x402fe6
402fc1:	a1 20 d7 41 00       	mov    0x41d720,%eax
402fc6:	6a 01                	push   $0x1
402fc8:	50                   	push   %eax
402fc9:	ff 15 88 71 41 00    	call   *0x417188
402fcf:	b8 01 00 00 00       	mov    $0x1,%eax
402fd4:	5e                   	pop    %esi
402fd5:	8b 4c 24 24          	mov    0x24(%esp),%ecx
402fd9:	33 cc                	xor    %esp,%ecx
402fdb:	e8 55 2f 00 00       	call   0x405f35
402fe0:	83 c4 28             	add    $0x28,%esp
402fe3:	c2 10 00             	ret    $0x10
402fe6:	3b 05 18 d7 41 00    	cmp    0x41d718,%eax
402fec:	0f 85 f1 00 00 00    	jne    0x4030e3
402ff2:	8b 15 20 d7 41 00    	mov    0x41d720,%edx
402ff8:	8b 35 98 71 41 00    	mov    0x417198,%esi
402ffe:	6a 0d                	push   $0xd
403000:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
403004:	51                   	push   %ecx
403005:	68 ee 03 00 00       	push   $0x3ee
40300a:	52                   	push   %edx
40300b:	ff d6                	call   *%esi
40300d:	8b 0d 20 d7 41 00    	mov    0x41d720,%ecx
403013:	6a 0d                	push   $0xd
403015:	8d 44 24 1c          	lea    0x1c(%esp),%eax
403019:	50                   	push   %eax
40301a:	68 ef 03 00 00       	push   $0x3ef
40301f:	51                   	push   %ecx
403020:	ff d6                	call   *%esi
403022:	8d 44 24 08          	lea    0x8(%esp),%eax
403026:	8d 50 01             	lea    0x1(%eax),%edx
403029:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
403030:	8a 08                	mov    (%eax),%cl
403032:	83 c0 01             	add    $0x1,%eax
403035:	84 c9                	test   %cl,%cl
403037:	75 f7                	jne    0x403030
403039:	2b c2                	sub    %edx,%eax
40303b:	75 1e                	jne    0x40305b
40303d:	8b 15 20 d7 41 00    	mov    0x41d720,%edx
403043:	6a 10                	push   $0x10
403045:	68 ec 72 41 00       	push   $0x4172ec
40304a:	68 80 74 41 00       	push   $0x417480
40304f:	52                   	push   %edx
403050:	ff 15 90 71 41 00    	call   *0x417190
403056:	e9 74 ff ff ff       	jmp    0x402fcf
40305b:	33 c0                	xor    %eax,%eax
40305d:	8d 49 00             	lea    0x0(%ecx),%ecx
403060:	8a 4c 04 08          	mov    0x8(%esp,%eax,1),%cl
403064:	88 88 a0 d5 41 00    	mov    %cl,0x41d5a0(%eax)
40306a:	83 c0 01             	add    $0x1,%eax
40306d:	84 c9                	test   %cl,%cl
40306f:	75 ef                	jne    0x403060
403071:	38 0d fc d6 41 00    	cmp    %cl,0x41d6fc
403077:	74 5c                	je     0x4030d5
403079:	8d 54 24 18          	lea    0x18(%esp),%edx
40307d:	8d 4c 24 08          	lea    0x8(%esp),%ecx
403081:	8a 01                	mov    (%ecx),%al
403083:	3a 02                	cmp    (%edx),%al
403085:	75 1a                	jne    0x4030a1
403087:	84 c0                	test   %al,%al
403089:	74 12                	je     0x40309d
40308b:	8a 41 01             	mov    0x1(%ecx),%al
40308e:	3a 42 01             	cmp    0x1(%edx),%al
403091:	75 0e                	jne    0x4030a1
403093:	83 c1 02             	add    $0x2,%ecx
403096:	83 c2 02             	add    $0x2,%edx
403099:	84 c0                	test   %al,%al
40309b:	75 e4                	jne    0x403081
40309d:	33 c0                	xor    %eax,%eax
40309f:	eb 05                	jmp    0x4030a6
4030a1:	1b c0                	sbb    %eax,%eax
4030a3:	83 d8 ff             	sbb    $0xffffffff,%eax
4030a6:	85 c0                	test   %eax,%eax
4030a8:	74 1d                	je     0x4030c7
4030aa:	a1 20 d7 41 00       	mov    0x41d720,%eax
4030af:	6a 10                	push   $0x10
4030b1:	68 ec 72 41 00       	push   $0x4172ec
4030b6:	68 64 74 41 00       	push   $0x417464
4030bb:	50                   	push   %eax
4030bc:	ff 15 90 71 41 00    	call   *0x417190
4030c2:	e9 08 ff ff ff       	jmp    0x402fcf
4030c7:	8b 0d 20 d7 41 00    	mov    0x41d720,%ecx
4030cd:	6a 00                	push   $0x0
4030cf:	51                   	push   %ecx
4030d0:	e9 f4 fe ff ff       	jmp    0x402fc9
4030d5:	8b 15 20 d7 41 00    	mov    0x41d720,%edx
4030db:	6a 00                	push   $0x0
4030dd:	52                   	push   %edx
4030de:	e9 e6 fe ff ff       	jmp    0x402fc9
4030e3:	33 c0                	xor    %eax,%eax
4030e5:	5e                   	pop    %esi
4030e6:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4030ea:	33 cc                	xor    %esp,%ecx
4030ec:	e8 44 2e 00 00       	call   0x405f35
4030f1:	83 c4 28             	add    $0x28,%esp
4030f4:	c2 10 00             	ret    $0x10
4030f7:	8b 0d 00 d7 41 00    	mov    0x41d700,%ecx
4030fd:	8b 35 80 71 41 00    	mov    0x417180,%esi
403103:	57                   	push   %edi
403104:	51                   	push   %ecx
403105:	6a 01                	push   $0x1
403107:	68 80 00 00 00       	push   $0x80
40310c:	50                   	push   %eax
40310d:	a3 20 d7 41 00       	mov    %eax,0x41d720
403112:	ff d6                	call   *%esi
403114:	8b 15 00 d7 41 00    	mov    0x41d700,%edx
40311a:	a1 20 d7 41 00       	mov    0x41d720,%eax
40311f:	52                   	push   %edx
403120:	6a 00                	push   $0x0
403122:	68 80 00 00 00       	push   $0x80
403127:	50                   	push   %eax
403128:	ff d6                	call   *%esi
40312a:	8b 0d 20 d7 41 00    	mov    0x41d720,%ecx
403130:	8b 3d 84 71 41 00    	mov    0x417184,%edi
403136:	68 f0 03 00 00       	push   $0x3f0
40313b:	51                   	push   %ecx
40313c:	ff d7                	call   *%edi
40313e:	8b 15 08 d7 41 00    	mov    0x41d708,%edx
403144:	52                   	push   %edx
403145:	6a 00                	push   $0x0
403147:	68 f7 00 00 00       	push   $0xf7
40314c:	50                   	push   %eax
40314d:	a3 1c d7 41 00       	mov    %eax,0x41d71c
403152:	ff d6                	call   *%esi
403154:	a1 20 d7 41 00       	mov    0x41d720,%eax
403159:	68 ec 03 00 00       	push   $0x3ec
40315e:	50                   	push   %eax
40315f:	ff d7                	call   *%edi
403161:	8b 0d 04 d7 41 00    	mov    0x41d704,%ecx
403167:	51                   	push   %ecx
403168:	6a 00                	push   $0x0
40316a:	68 f7 00 00 00       	push   $0xf7
40316f:	50                   	push   %eax
403170:	a3 18 d7 41 00       	mov    %eax,0x41d718
403175:	ff d6                	call   *%esi
403177:	8b 15 20 d7 41 00    	mov    0x41d720,%edx
40317d:	68 f1 03 00 00       	push   $0x3f1
403182:	52                   	push   %edx
403183:	ff d7                	call   *%edi
403185:	a3 14 d7 41 00       	mov    %eax,0x41d714
40318a:	a1 20 d7 41 00       	mov    0x41d720,%eax
40318f:	68 ee 03 00 00       	push   $0x3ee
403194:	50                   	push   %eax
403195:	ff d7                	call   *%edi
403197:	8b 0d 20 d7 41 00    	mov    0x41d720,%ecx
40319d:	68 ef 03 00 00       	push   $0x3ef
4031a2:	51                   	push   %ecx
4031a3:	a3 10 d7 41 00       	mov    %eax,0x41d710
4031a8:	ff d7                	call   *%edi
4031aa:	8b 15 10 d7 41 00    	mov    0x41d710,%edx
4031b0:	6a 00                	push   $0x0
4031b2:	6a 0c                	push   $0xc
4031b4:	68 c5 00 00 00       	push   $0xc5
4031b9:	52                   	push   %edx
4031ba:	a3 0c d7 41 00       	mov    %eax,0x41d70c
4031bf:	ff d6                	call   *%esi
4031c1:	a1 0c d7 41 00       	mov    0x41d70c,%eax
4031c6:	6a 00                	push   $0x0
4031c8:	6a 0c                	push   $0xc
4031ca:	68 c5 00 00 00       	push   $0xc5
4031cf:	50                   	push   %eax
4031d0:	ff d6                	call   *%esi
4031d2:	80 3d fc d6 41 00 00 	cmpb   $0x0,0x41d6fc
4031d9:	5f                   	pop    %edi
4031da:	0f 85 ef fd ff ff    	jne    0x402fcf
4031e0:	8b 0d 14 d7 41 00    	mov    0x41d714,%ecx
4031e6:	8b 35 9c 71 41 00    	mov    0x41719c,%esi
4031ec:	6a 00                	push   $0x0
4031ee:	51                   	push   %ecx
4031ef:	ff d6                	call   *%esi
4031f1:	8b 15 0c d7 41 00    	mov    0x41d70c,%edx
4031f7:	6a 00                	push   $0x0
4031f9:	52                   	push   %edx
4031fa:	ff d6                	call   *%esi
4031fc:	e9 ce fd ff ff       	jmp    0x402fcf
403201:	6a 01                	push   $0x1
403203:	50                   	push   %eax
403204:	ff 15 88 71 41 00    	call   *0x417188
40320a:	8b 4c 24 24          	mov    0x24(%esp),%ecx
40320e:	33 cc                	xor    %esp,%ecx
403210:	b8 01 00 00 00       	mov    $0x1,%eax
403215:	e8 1b 2d 00 00       	call   0x405f35
40321a:	83 c4 28             	add    $0x28,%esp
40321d:	c2 10 00             	ret    $0x10
403220:	8b 0d d4 d6 41 00    	mov    0x41d6d4,%ecx
403226:	8a 44 24 04          	mov    0x4(%esp),%al
40322a:	56                   	push   %esi
40322b:	8b 35 a0 71 41 00    	mov    0x4171a0,%esi
403231:	57                   	push   %edi
403232:	6a 6b                	push   $0x6b
403234:	51                   	push   %ecx