407ee2:	5f                   	pop    %edi
407ee3:	c9                   	leave
407ee4:	c3                   	ret
407ee5:	8d 49 00             	lea    0x0(%ecx),%ecx
407ee8:	8a 46 03             	mov    0x3(%esi),%al
407eeb:	88 47 03             	mov    %al,0x3(%edi)
407eee:	8a 46 02             	mov    0x2(%esi),%al
407ef1:	88 47 02             	mov    %al,0x2(%edi)
407ef4:	8b 45 08             	mov    0x8(%ebp),%eax
407ef7:	5e                   	pop    %esi
407ef8:	5f                   	pop    %edi
407ef9:	c9                   	leave
407efa:	c3                   	ret
407efb:	90                   	nop
407efc:	8a 46 03             	mov    0x3(%esi),%al
407eff:	88 47 03             	mov    %al,0x3(%edi)
407f02:	8a 46 02             	mov    0x2(%esi),%al
407f05:	88 47 02             	mov    %al,0x2(%edi)
407f08:	8a 46 01             	mov    0x1(%esi),%al
407f0b:	88 47 01             	mov    %al,0x1(%edi)
407f0e:	8b 45 08             	mov    0x8(%ebp),%eax
407f11:	5e                   	pop    %esi
407f12:	5f                   	pop    %edi
407f13:	c9                   	leave
407f14:	c3                   	ret
407f15:	cc                   	int3
407f16:	cc                   	int3
407f17:	cc                   	int3
407f18:	55                   	push   %ebp
407f19:	8b ec                	mov    %esp,%ebp
407f1b:	53                   	push   %ebx
407f1c:	56                   	push   %esi
407f1d:	57                   	push   %edi
407f1e:	55                   	push   %ebp
407f1f:	6a 00                	push   $0x0
407f21:	6a 00                	push   $0x0
407f23:	68 30 7f 40 00       	push   $0x407f30
407f28:	ff 75 08             	push   0x8(%ebp)
407f2b:	e8 ae 05 00 00       	call   0x4084de
407f30:	5d                   	pop    %ebp
407f31:	5f                   	pop    %edi
407f32:	5e                   	pop    %esi
407f33:	5b                   	pop    %ebx
407f34:	8b e5                	mov    %ebp,%esp
407f36:	5d                   	pop    %ebp
407f37:	c3                   	ret
407f38:	8b 4c 24 04          	mov    0x4(%esp),%ecx
407f3c:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
407f43:	b8 01 00 00 00       	mov    $0x1,%eax
407f48:	74 32                	je     0x407f7c
407f4a:	8b 44 24 14          	mov    0x14(%esp),%eax
407f4e:	8b 48 fc             	mov    -0x4(%eax),%ecx
407f51:	33 c8                	xor    %eax,%ecx
407f53:	e8 98 a4 ff ff       	call   0x4023f0
407f58:	55                   	push   %ebp
407f59:	8b 68 10             	mov    0x10(%eax),%ebp
407f5c:	8b 50 28             	mov    0x28(%eax),%edx
407f5f:	52                   	push   %edx
407f60:	8b 50 24             	mov    0x24(%eax),%edx
407f63:	52                   	push   %edx
407f64:	e8 14 00 00 00       	call   0x407f7d
407f69:	83 c4 08             	add    $0x8,%esp
407f6c:	5d                   	pop    %ebp
407f6d:	8b 44 24 08          	mov    0x8(%esp),%eax
407f71:	8b 54 24 10          	mov    0x10(%esp),%edx
407f75:	89 02                	mov    %eax,(%edx)
407f77:	b8 03 00 00 00       	mov    $0x3,%eax
407f7c:	c3                   	ret
407f7d:	53                   	push   %ebx
407f7e:	56                   	push   %esi
407f7f:	57                   	push   %edi
407f80:	8b 44 24 10          	mov    0x10(%esp),%eax
407f84:	55                   	push   %ebp
407f85:	50                   	push   %eax
407f86:	6a fe                	push   $0xfffffffe
407f88:	68 38 7f 40 00       	push   $0x407f38
407f8d:	64 ff 35 00 00 00 00 	push   %fs:0x0
407f94:	a1 04 b0 40 00       	mov    0x40b004,%eax
407f99:	33 c4                	xor    %esp,%eax
407f9b:	50                   	push   %eax
407f9c:	8d 44 24 04          	lea    0x4(%esp),%eax
407fa0:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407fa6:	8b 44 24 28          	mov    0x28(%esp),%eax
407faa:	8b 58 08             	mov    0x8(%eax),%ebx
407fad:	8b 70 0c             	mov    0xc(%eax),%esi
407fb0:	83 fe ff             	cmp    $0xffffffff,%esi
407fb3:	74 3a                	je     0x407fef
407fb5:	83 7c 24 2c ff       	cmpl   $0xffffffff,0x2c(%esp)
407fba:	74 06                	je     0x407fc2
407fbc:	3b 74 24 2c          	cmp    0x2c(%esp),%esi
407fc0:	76 2d                	jbe    0x407fef
407fc2:	8d 34 76             	lea    (%esi,%esi,2),%esi
407fc5:	8b 0c b3             	mov    (%ebx,%esi,4),%ecx
407fc8:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
407fcc:	89 48 0c             	mov    %ecx,0xc(%eax)
407fcf:	83 7c b3 04 00       	cmpl   $0x0,0x4(%ebx,%esi,4)
407fd4:	75 17                	jne    0x407fed
407fd6:	68 01 01 00 00       	push   $0x101
407fdb:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
407fdf:	e8 49 00 00 00       	call   0x40802d
407fe4:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
407fe8:	e8 5f 00 00 00       	call   0x40804c
407fed:	eb b7                	jmp    0x407fa6
407fef:	8b 4c 24 04          	mov    0x4(%esp),%ecx
407ff3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407ffa:	83 c4 18             	add    $0x18,%esp
407ffd:	5f                   	pop    %edi
407ffe:	5e                   	pop    %esi
407fff:	5b                   	pop    %ebx
408000:	c3                   	ret
408001:	33 c0                	xor    %eax,%eax
408003:	64 8b 0d 00 00 00 00 	mov    %fs:0x0,%ecx
40800a:	81 79 04 38 7f 40 00 	cmpl   $0x407f38,0x4(%ecx)
408011:	75 10                	jne    0x408023
408013:	8b 51 0c             	mov    0xc(%ecx),%edx
408016:	8b 52 0c             	mov    0xc(%edx),%edx
408019:	39 51 08             	cmp    %edx,0x8(%ecx)
40801c:	75 05                	jne    0x408023
40801e:	b8 01 00 00 00       	mov    $0x1,%eax
408023:	c3                   	ret
408024:	53                   	push   %ebx
408025:	51                   	push   %ecx
408026:	bb 20 bb 40 00       	mov    $0x40bb20,%ebx
40802b:	eb 0b                	jmp    0x408038
40802d:	53                   	push   %ebx
40802e:	51                   	push   %ecx
40802f:	bb 20 bb 40 00       	mov    $0x40bb20,%ebx
408034:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
408038:	89 4b 08             	mov    %ecx,0x8(%ebx)
40803b:	89 43 04             	mov    %eax,0x4(%ebx)
40803e:	89 6b 0c             	mov    %ebp,0xc(%ebx)
408041:	55                   	push   %ebp
408042:	51                   	push   %ecx
408043:	50                   	push   %eax
408044:	58                   	pop    %eax
408045:	59                   	pop    %ecx
408046:	5d                   	pop    %ebp
408047:	59                   	pop    %ecx
408048:	5b                   	pop    %ebx
408049:	c2 04 00             	ret    $0x4
40804c:	ff d0                	call   *%eax
40804e:	c3                   	ret
40804f:	55                   	push   %ebp
408050:	8b ec                	mov    %esp,%ebp
408052:	83 ec 04             	sub    $0x4,%esp
408055:	89 7d fc             	mov    %edi,-0x4(%ebp)
408058:	8b 7d 08             	mov    0x8(%ebp),%edi
40805b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40805e:	c1 e9 07             	shr    $0x7,%ecx
408061:	66 0f ef c0          	pxor   %xmm0,%xmm0
408065:	eb 08                	jmp    0x40806f
408067:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40806e:	90                   	nop
40806f:	66 0f 7f 07          	movdqa %xmm0,(%edi)
408073:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
408078:	66 0f 7f 47 20       	movdqa %xmm0,0x20(%edi)
40807d:	66 0f 7f 47 30       	movdqa %xmm0,0x30(%edi)
408082:	66 0f 7f 47 40       	movdqa %xmm0,0x40(%edi)
408087:	66 0f 7f 47 50       	movdqa %xmm0,0x50(%edi)
40808c:	66 0f 7f 47 60       	movdqa %xmm0,0x60(%edi)
408091:	66 0f 7f 47 70       	movdqa %xmm0,0x70(%edi)
408096:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
40809c:	49                   	dec    %ecx
40809d:	75 d0                	jne    0x40806f
40809f:	8b 7d fc             	mov    -0x4(%ebp),%edi
4080a2:	8b e5                	mov    %ebp,%esp
4080a4:	5d                   	pop    %ebp
4080a5:	c3                   	ret
4080a6:	55                   	push   %ebp
4080a7:	8b ec                	mov    %esp,%ebp
4080a9:	83 ec 10             	sub    $0x10,%esp
4080ac:	89 7d fc             	mov    %edi,-0x4(%ebp)
4080af:	8b 45 08             	mov    0x8(%ebp),%eax
4080b2:	99                   	cltd
4080b3:	8b f8                	mov    %eax,%edi
4080b5:	33 fa                	xor    %edx,%edi
4080b7:	2b fa                	sub    %edx,%edi
4080b9:	83 e7 0f             	and    $0xf,%edi
4080bc:	33 fa                	xor    %edx,%edi
4080be:	2b fa                	sub    %edx,%edi
4080c0:	85 ff                	test   %edi,%edi
4080c2:	75 3c                	jne    0x408100
4080c4:	8b 4d 10             	mov    0x10(%ebp),%ecx
4080c7:	8b d1                	mov    %ecx,%edx
4080c9:	83 e2 7f             	and    $0x7f,%edx
4080cc:	89 55 f4             	mov    %edx,-0xc(%ebp)
4080cf:	3b ca                	cmp    %edx,%ecx
4080d1:	74 12                	je     0x4080e5
4080d3:	2b ca                	sub    %edx,%ecx
4080d5:	51                   	push   %ecx
4080d6:	50                   	push   %eax
4080d7:	e8 73 ff ff ff       	call   0x40804f
4080dc:	83 c4 08             	add    $0x8,%esp
4080df:	8b 45 08             	mov    0x8(%ebp),%eax
4080e2:	8b 55 f4             	mov    -0xc(%ebp),%edx
4080e5:	85 d2                	test   %edx,%edx
4080e7:	74 45                	je     0x40812e
4080e9:	03 45 10             	add    0x10(%ebp),%eax
4080ec:	2b c2                	sub    %edx,%eax
4080ee:	89 45 f8             	mov    %eax,-0x8(%ebp)
4080f1:	33 c0                	xor    %eax,%eax
4080f3:	8b 7d f8             	mov    -0x8(%ebp),%edi
4080f6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4080f9:	f3 aa                	rep stos %al,%es:(%edi)
4080fb:	8b 45 08             	mov    0x8(%ebp),%eax
4080fe:	eb 2e                	jmp    0x40812e
408100:	f7 df                	neg    %edi
408102:	83 c7 10             	add    $0x10,%edi
408105:	89 7d f0             	mov    %edi,-0x10(%ebp)
408108:	33 c0                	xor    %eax,%eax
40810a:	8b 7d 08             	mov    0x8(%ebp),%edi
40810d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408110:	f3 aa                	rep stos %al,%es:(%edi)
408112:	8b 45 f0             	mov    -0x10(%ebp),%eax
408115:	8b 4d 08             	mov    0x8(%ebp),%ecx
408118:	8b 55 10             	mov    0x10(%ebp),%edx
40811b:	03 c8                	add    %eax,%ecx
40811d:	2b d0                	sub    %eax,%edx
40811f:	52                   	push   %edx
408120:	6a 00                	push   $0x0
408122:	51                   	push   %ecx
408123:	e8 7e ff ff ff       	call   0x4080a6
408128:	83 c4 0c             	add    $0xc,%esp
40812b:	8b 45 08             	mov    0x8(%ebp),%eax
40812e:	8b 7d fc             	mov    -0x4(%ebp),%edi
408131:	8b e5                	mov    %ebp,%esp
408133:	5d                   	pop    %ebp
408134:	c3                   	ret
408135:	8b ff                	mov    %edi,%edi
408137:	55                   	push   %ebp
408138:	8b ec                	mov    %esp,%ebp
40813a:	83 ec 0c             	sub    $0xc,%esp
40813d:	a1 04 b0 40 00       	mov    0x40b004,%eax
408142:	33 c5                	xor    %ebp,%eax
408144:	89 45 fc             	mov    %eax,-0x4(%ebp)
408147:	6a 06                	push   $0x6
408149:	8d 45 f4             	lea    -0xc(%ebp),%eax
40814c:	50                   	push   %eax
40814d:	68 04 10 00 00       	push   $0x1004
408152:	ff 75 08             	push   0x8(%ebp)
408155:	c6 45 fa 00          	movb   $0x0,-0x6(%ebp)
408159:	ff 15 28 11 40 00    	call   *0x401128
40815f:	85 c0                	test   %eax,%eax
408161:	75 05                	jne    0x408168
408163:	83 c8 ff             	or     $0xffffffff,%eax
408166:	eb 0a                	jmp    0x408172
408168:	8d 45 f4             	lea    -0xc(%ebp),%eax
40816b:	50                   	push   %eax
40816c:	e8 8e a2 ff ff       	call   0x4023ff
408171:	59                   	pop    %ecx
408172:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408175:	33 cd                	xor    %ebp,%ecx
408177:	e8 74 a2 ff ff       	call   0x4023f0
40817c:	c9                   	leave
40817d:	c3                   	ret
40817e:	8b ff                	mov    %edi,%edi
408180:	55                   	push   %ebp
408181:	8b ec                	mov    %esp,%ebp
408183:	83 ec 34             	sub    $0x34,%esp
408186:	a1 04 b0 40 00       	mov    0x40b004,%eax
40818b:	33 c5                	xor    %ebp,%eax
40818d:	89 45 fc             	mov    %eax,-0x4(%ebp)
408190:	8b 45 10             	mov    0x10(%ebp),%eax
408193:	8b 4d 18             	mov    0x18(%ebp),%ecx
408196:	89 45 d8             	mov    %eax,-0x28(%ebp)
408199:	8b 45 14             	mov    0x14(%ebp),%eax
40819c:	53                   	push   %ebx
40819d:	89 45 d0             	mov    %eax,-0x30(%ebp)
4081a0:	8b 00                	mov    (%eax),%eax
4081a2:	56                   	push   %esi
4081a3:	89 45 dc             	mov    %eax,-0x24(%ebp)
4081a6:	8b 45 08             	mov    0x8(%ebp),%eax
4081a9:	57                   	push   %edi
4081aa:	33 ff                	xor    %edi,%edi
4081ac:	89 4d cc             	mov    %ecx,-0x34(%ebp)
4081af:	89 7d e0             	mov    %edi,-0x20(%ebp)
4081b2:	89 7d d4             	mov    %edi,-0x2c(%ebp)
4081b5:	3b 45 0c             	cmp    0xc(%ebp),%eax
4081b8:	0f 84 5f 01 00 00    	je     0x40831d
4081be:	8b 35 e4 10 40 00    	mov    0x4010e4,%esi
4081c4:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4081c7:	51                   	push   %ecx
4081c8:	50                   	push   %eax
4081c9:	ff d6                	call   *%esi
4081cb:	8b 1d 18 11 40 00    	mov    0x401118,%ebx
4081d1:	85 c0                	test   %eax,%eax
4081d3:	74 5e                	je     0x408233
4081d5:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
4081d9:	75 58                	jne    0x408233
4081db:	8d 45 e8             	lea    -0x18(%ebp),%eax
4081de:	50                   	push   %eax
4081df:	ff 75 0c             	push   0xc(%ebp)
4081e2:	ff d6                	call   *%esi
4081e4:	85 c0                	test   %eax,%eax
4081e6:	74 4b                	je     0x408233
4081e8:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
4081ec:	75 45                	jne    0x408233
4081ee:	8b 75 dc             	mov    -0x24(%ebp),%esi
4081f1:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
4081f8:	83 fe ff             	cmp    $0xffffffff,%esi
4081fb:	75 0c                	jne    0x408209
4081fd:	ff 75 d8             	push   -0x28(%ebp)
408200:	e8 5b d4 ff ff       	call   0x405660
408205:	8b f0                	mov    %eax,%esi
408207:	59                   	pop    %ecx
408208:	46                   	inc    %esi
408209:	3b f7                	cmp    %edi,%esi
40820b:	7e 5b                	jle    0x408268
40820d:	81 fe f0 ff ff 7f    	cmp    $0x7ffffff0,%esi
408213:	77 53                	ja     0x408268
408215:	8d 44 36 08          	lea    0x8(%esi,%esi,1),%eax
408219:	3d 00 04 00 00       	cmp    $0x400,%eax
40821e:	77 2f                	ja     0x40824f
408220:	e8 1b 01 00 00       	call   0x408340
408225:	8b c4                	mov    %esp,%eax
408227:	3b c7                	cmp    %edi,%eax
408229:	74 38                	je     0x408263
40822b:	c7 00 cc cc 00 00    	movl   $0xcccc,(%eax)
408231:	eb 2d                	jmp    0x408260
408233:	57                   	push   %edi
408234:	57                   	push   %edi
408235:	ff 75 dc             	push   -0x24(%ebp)
408238:	ff 75 d8             	push   -0x28(%ebp)
40823b:	6a 01                	push   $0x1
40823d:	ff 75 08             	push   0x8(%ebp)
408240:	ff d3                	call   *%ebx
408242:	8b f0                	mov    %eax,%esi
408244:	3b f7                	cmp    %edi,%esi
408246:	75 c3                	jne    0x40820b
408248:	33 c0                	xor    %eax,%eax
40824a:	e9 d1 00 00 00       	jmp    0x408320
40824f:	50                   	push   %eax
408250:	e8 25 f3 ff ff       	call   0x40757a
408255:	59                   	pop    %ecx
408256:	3b c7                	cmp    %edi,%eax
408258:	74 09                	je     0x408263
40825a:	c7 00 dd dd 00 00    	movl   $0xdddd,(%eax)
408260:	83 c0 08             	add    $0x8,%eax
408263:	89 45 e4             	mov    %eax,-0x1c(%ebp)
408266:	eb 03                	jmp    0x40826b
408268:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40826b:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
40826e:	74 d8                	je     0x408248
408270:	8d 04 36             	lea    (%esi,%esi,1),%eax
408273:	50                   	push   %eax
408274:	57                   	push   %edi
408275:	ff 75 e4             	push   -0x1c(%ebp)
408278:	e8 a3 e6 ff ff       	call   0x406920
40827d:	83 c4 0c             	add    $0xc,%esp
408280:	56                   	push   %esi