401966:	8d 5f 18             	lea    0x18(%edi),%ebx
401969:	8b 7c 24 28          	mov    0x28(%esp),%edi
40196d:	8d 49 00             	lea    0x0(%ecx),%ecx
401970:	0f b7 06             	movzwl (%esi),%eax
401973:	53                   	push   %ebx
401974:	8d 4c 24 24          	lea    0x24(%esp),%ecx
401978:	51                   	push   %ecx
401979:	50                   	push   %eax
40197a:	8d 54 24 1c          	lea    0x1c(%esp),%edx
40197e:	52                   	push   %edx
40197f:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
401986:	00
401987:	e8 78 28 00 00       	call   0x404204
40198c:	83 c4 10             	add    $0x10,%esp
40198f:	83 f8 01             	cmp    $0x1,%eax
401992:	8a 44 24 24          	mov    0x24(%esp),%al
401996:	75 04                	jne    0x40199c
401998:	8a 44 24 10          	mov    0x10(%esp),%al
40199c:	88 07                	mov    %al,(%edi)
40199e:	83 c6 02             	add    $0x2,%esi
4019a1:	47                   	inc    %edi
4019a2:	3b f5                	cmp    %ebp,%esi
4019a4:	75 ca                	jne    0x401970
4019a6:	5b                   	pop    %ebx
4019a7:	5f                   	pop    %edi
4019a8:	8b c6                	mov    %esi,%eax
4019aa:	5e                   	pop    %esi
4019ab:	5d                   	pop    %ebp
4019ac:	83 c4 08             	add    $0x8,%esp
4019af:	c2 14 00             	ret    $0x14
4019b2:	cc                   	int3
4019b3:	cc                   	int3
4019b4:	cc                   	int3
4019b5:	cc                   	int3
4019b6:	cc                   	int3
4019b7:	cc                   	int3
4019b8:	cc                   	int3
4019b9:	cc                   	int3
4019ba:	cc                   	int3
4019bb:	cc                   	int3
4019bc:	cc                   	int3
4019bd:	cc                   	int3
4019be:	cc                   	int3
4019bf:	cc                   	int3
4019c0:	6a ff                	push   $0xffffffff
4019c2:	68 98 98 41 00       	push   $0x419898
4019c7:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4019cd:	50                   	push   %eax
4019ce:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4019d5:	51                   	push   %ecx
4019d6:	56                   	push   %esi
4019d7:	8b f1                	mov    %ecx,%esi
4019d9:	89 74 24 04          	mov    %esi,0x4(%esp)
4019dd:	c7 06 04 8b 42 00    	movl   $0x428b04,(%esi)
4019e3:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
4019ea:	00
4019eb:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
4019ef:	74 0c                	je     0x4019fd
4019f1:	8b 46 10             	mov    0x10(%esi),%eax
4019f4:	50                   	push   %eax
4019f5:	e8 26 36 00 00       	call   0x405020
4019fa:	83 c4 04             	add    $0x4,%esp
4019fd:	f6 44 24 18 01       	testb  $0x1,0x18(%esp)
401a02:	c7 06 14 a2 41 00    	movl   $0x41a214,(%esi)
401a08:	74 09                	je     0x401a13
401a0a:	56                   	push   %esi
401a0b:	e8 26 39 00 00       	call   0x405336
401a10:	83 c4 04             	add    $0x4,%esp
401a13:	8b 4c 24 08          	mov    0x8(%esp),%ecx
401a17:	8b c6                	mov    %esi,%eax
401a19:	5e                   	pop    %esi
401a1a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401a21:	83 c4 10             	add    $0x10,%esp
401a24:	c2 04 00             	ret    $0x4
401a27:	cc                   	int3
401a28:	cc                   	int3
401a29:	cc                   	int3
401a2a:	cc                   	int3
401a2b:	cc                   	int3
401a2c:	cc                   	int3
401a2d:	cc                   	int3
401a2e:	cc                   	int3
401a2f:	cc                   	int3
401a30:	56                   	push   %esi
401a31:	8b f1                	mov    %ecx,%esi
401a33:	c7 06 f4 8a 42 00    	movl   $0x428af4,(%esi)
401a39:	83 7e 24 10          	cmpl   $0x10,0x24(%esi)
401a3d:	72 0c                	jb     0x401a4b
401a3f:	8b 46 10             	mov    0x10(%esi),%eax
401a42:	50                   	push   %eax
401a43:	e8 ee 38 00 00       	call   0x405336
401a48:	83 c4 04             	add    $0x4,%esp
401a4b:	33 c0                	xor    %eax,%eax
401a4d:	c7 46 24 0f 00 00 00 	movl   $0xf,0x24(%esi)
401a54:	89 46 20             	mov    %eax,0x20(%esi)
401a57:	88 46 10             	mov    %al,0x10(%esi)
401a5a:	8b ce                	mov    %esi,%ecx
401a5c:	5e                   	pop    %esi
401a5d:	e9 0d 35 00 00       	jmp    0x404f6f
401a62:	cc                   	int3
401a63:	cc                   	int3
401a64:	cc                   	int3
401a65:	cc                   	int3
401a66:	cc                   	int3
401a67:	cc                   	int3
401a68:	cc                   	int3
401a69:	cc                   	int3
401a6a:	cc                   	int3
401a6b:	cc                   	int3
401a6c:	cc                   	int3
401a6d:	cc                   	int3
401a6e:	cc                   	int3
401a6f:	cc                   	int3
401a70:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
401a76:	6a ff                	push   $0xffffffff
401a78:	68 f6 99 41 00       	push   $0x4199f6
401a7d:	50                   	push   %eax
401a7e:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
401a85:	8b 41 0c             	mov    0xc(%ecx),%eax
401a88:	23 41 08             	and    0x8(%ecx),%eax
401a8b:	81 ec 8c 00 00 00    	sub    $0x8c,%esp
401a91:	53                   	push   %ebx
401a92:	a8 04                	test   $0x4,%al
401a94:	0f 84 81 00 00 00    	je     0x401b1b
401a9a:	6a 14                	push   $0x14
401a9c:	33 db                	xor    %ebx,%ebx
401a9e:	68 bc df 41 00       	push   $0x41dfbc
401aa3:	8d 4c 24 38          	lea    0x38(%esp),%ecx
401aa7:	c7 44 24 50 0f 00 00 	movl   $0xf,0x50(%esp)
401aae:	00
401aaf:	89 5c 24 4c          	mov    %ebx,0x4c(%esp)
401ab3:	88 5c 24 3c          	mov    %bl,0x3c(%esp)
401ab7:	e8 54 19 00 00       	call   0x403410
401abc:	8d 4c 24 08          	lea    0x8(%esp),%ecx
401ac0:	89 9c 24 98 00 00 00 	mov    %ebx,0x98(%esp)
401ac7:	e8 c5 33 00 00       	call   0x404e91
401acc:	6a ff                	push   $0xffffffff
401ace:	c6 84 24 9c 00 00 00 	movb   $0x1,0x9c(%esp)
401ad5:	01
401ad6:	53                   	push   %ebx
401ad7:	8d 44 24 38          	lea    0x38(%esp),%eax
401adb:	50                   	push   %eax
401adc:	8d 4c 24 20          	lea    0x20(%esp),%ecx
401ae0:	c7 44 24 14 f4 8a 42 	movl   $0x428af4,0x14(%esp)
401ae7:	00
401ae8:	c7 44 24 38 0f 00 00 	movl   $0xf,0x38(%esp)
401aef:	00
401af0:	89 5c 24 34          	mov    %ebx,0x34(%esp)
401af4:	88 5c 24 24          	mov    %bl,0x24(%esp)
401af8:	e8 33 16 00 00       	call   0x403130
401afd:	68 d4 9b 42 00       	push   $0x429bd4
401b02:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
401b06:	88 9c 24 9c 00 00 00 	mov    %bl,0x9c(%esp)
401b0d:	51                   	push   %ecx
401b0e:	c7 44 24 10 44 8b 42 	movl   $0x428b44,0x10(%esp)
401b15:	00
401b16:	e8 97 4b 00 00       	call   0x4066b2
401b1b:	a8 02                	test   $0x2,%al
401b1d:	74 74                	je     0x401b93
401b1f:	68 d4 df 41 00       	push   $0x41dfd4
401b24:	8d 4c 24 34          	lea    0x34(%esp),%ecx
401b28:	e8 83 08 00 00       	call   0x4023b0
401b2d:	8d 4c 24 08          	lea    0x8(%esp),%ecx
401b31:	c7 84 24 98 00 00 00 	movl   $0x2,0x98(%esp)
401b38:	02 00 00 00
401b3c:	e8 50 33 00 00       	call   0x404e91
401b41:	33 db                	xor    %ebx,%ebx
401b43:	6a ff                	push   $0xffffffff
401b45:	c6 84 24 9c 00 00 00 	movb   $0x3,0x9c(%esp)
401b4c:	03
401b4d:	53                   	push   %ebx
401b4e:	8d 54 24 38          	lea    0x38(%esp),%edx
401b52:	52                   	push   %edx
401b53:	8d 4c 24 20          	lea    0x20(%esp),%ecx
401b57:	c7 44 24 14 f4 8a 42 	movl   $0x428af4,0x14(%esp)
401b5e:	00
401b5f:	c7 44 24 38 0f 00 00 	movl   $0xf,0x38(%esp)
401b66:	00
401b67:	89 5c 24 34          	mov    %ebx,0x34(%esp)
401b6b:	88 5c 24 24          	mov    %bl,0x24(%esp)
401b6f:	e8 bc 15 00 00       	call   0x403130
401b74:	68 d4 9b 42 00       	push   $0x429bd4
401b79:	8d 44 24 0c          	lea    0xc(%esp),%eax
401b7d:	c6 84 24 9c 00 00 00 	movb   $0x2,0x9c(%esp)
401b84:	02
401b85:	50                   	push   %eax
401b86:	c7 44 24 10 44 8b 42 	movl   $0x428b44,0x10(%esp)
401b8d:	00
401b8e:	e8 1f 4b 00 00       	call   0x4066b2
401b93:	68 ec df 41 00       	push   $0x41dfec
401b98:	8d 4c 24 78          	lea    0x78(%esp),%ecx
401b9c:	e8 0f 08 00 00       	call   0x4023b0
401ba1:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
401ba5:	c7 84 24 98 00 00 00 	movl   $0x4,0x98(%esp)
401bac:	04 00 00 00
401bb0:	e8 dc 32 00 00       	call   0x404e91
401bb5:	33 db                	xor    %ebx,%ebx
401bb7:	6a ff                	push   $0xffffffff
401bb9:	c6 84 24 9c 00 00 00 	movb   $0x5,0x9c(%esp)
401bc0:	05
401bc1:	53                   	push   %ebx
401bc2:	8d 4c 24 7c          	lea    0x7c(%esp),%ecx
401bc6:	51                   	push   %ecx
401bc7:	8d 4c 24 64          	lea    0x64(%esp),%ecx
401bcb:	c7 44 24 58 f4 8a 42 	movl   $0x428af4,0x58(%esp)
401bd2:	00
401bd3:	c7 44 24 7c 0f 00 00 	movl   $0xf,0x7c(%esp)
401bda:	00
401bdb:	89 5c 24 78          	mov    %ebx,0x78(%esp)
401bdf:	88 5c 24 68          	mov    %bl,0x68(%esp)
401be3:	e8 48 15 00 00       	call   0x403130
401be8:	68 d4 9b 42 00       	push   $0x429bd4
401bed:	8d 54 24 50          	lea    0x50(%esp),%edx
401bf1:	c6 84 24 9c 00 00 00 	movb   $0x4,0x9c(%esp)
401bf8:	04
401bf9:	52                   	push   %edx
401bfa:	c7 44 24 54 44 8b 42 	movl   $0x428b44,0x54(%esp)
401c01:	00
401c02:	e8 ab 4a 00 00       	call   0x4066b2
401c07:	cc                   	int3
401c08:	cc                   	int3
401c09:	cc                   	int3
401c0a:	cc                   	int3
401c0b:	cc                   	int3
401c0c:	cc                   	int3
401c0d:	cc                   	int3
401c0e:	cc                   	int3
401c0f:	cc                   	int3
401c10:	51                   	push   %ecx
401c11:	8b 48 24             	mov    0x24(%eax),%ecx
401c14:	56                   	push   %esi
401c15:	8b 31                	mov    (%ecx),%esi
401c17:	6a 00                	push   $0x0
401c19:	8d 4c 24 08          	lea    0x8(%esp),%ecx
401c1d:	89 37                	mov    %esi,(%edi)
401c1f:	e8 ea 2a 00 00       	call   0x40470e
401c24:	8b 46 04             	mov    0x4(%esi),%eax
401c27:	83 f8 ff             	cmp    $0xffffffff,%eax
401c2a:	73 04                	jae    0x401c30
401c2c:	40                   	inc    %eax
401c2d:	89 46 04             	mov    %eax,0x4(%esi)
401c30:	8d 4c 24 04          	lea    0x4(%esp),%ecx
401c34:	e8 fd 2a 00 00       	call   0x404736
401c39:	8b c7                	mov    %edi,%eax
401c3b:	5e                   	pop    %esi
401c3c:	59                   	pop    %ecx
401c3d:	c3                   	ret
401c3e:	cc                   	int3
401c3f:	cc                   	int3
401c40:	83 ec 08             	sub    $0x8,%esp
401c43:	53                   	push   %ebx
401c44:	33 db                	xor    %ebx,%ebx
401c46:	55                   	push   %ebp
401c47:	57                   	push   %edi
401c48:	6a 04                	push   $0x4
401c4a:	89 5e 24             	mov    %ebx,0x24(%esi)
401c4d:	89 5e 04             	mov    %ebx,0x4(%esi)
401c50:	89 5e 0c             	mov    %ebx,0xc(%esi)
401c53:	c7 46 10 01 02 00 00 	movl   $0x201,0x10(%esi)
401c5a:	c7 46 14 06 00 00 00 	movl   $0x6,0x14(%esi)
401c61:	89 5e 18             	mov    %ebx,0x18(%esi)
401c64:	89 5e 1c             	mov    %ebx,0x1c(%esi)
401c67:	89 5e 20             	mov    %ebx,0x20(%esi)
401c6a:	89 5e 08             	mov    %ebx,0x8(%esi)
401c6d:	e8 0b 3c 00 00       	call   0x40587d
401c72:	8b f8                	mov    %eax,%edi
401c74:	83 c4 04             	add    $0x4,%esp
401c77:	3b fb                	cmp    %ebx,%edi
401c79:	74 37                	je     0x401cb2
401c7b:	e8 3e 29 00 00       	call   0x4045be
401c80:	89 07                	mov    %eax,(%edi)
401c82:	e8 65 27 00 00       	call   0x4043ec
401c87:	53                   	push   %ebx
401c88:	8d 4c 24 14          	lea    0x14(%esp),%ecx
401c8c:	8b e8                	mov    %eax,%ebp
401c8e:	e8 7b 2a 00 00       	call   0x40470e
401c93:	8b 45 04             	mov    0x4(%ebp),%eax
401c96:	83 f8 ff             	cmp    $0xffffffff,%eax
401c99:	73 04                	jae    0x401c9f
401c9b:	40                   	inc    %eax
401c9c:	89 45 04             	mov    %eax,0x4(%ebp)
401c9f:	8d 4c 24 10          	lea    0x10(%esp),%ecx
401ca3:	e8 8e 2a 00 00       	call   0x404736
401ca8:	89 7e 24             	mov    %edi,0x24(%esi)
401cab:	5f                   	pop    %edi
401cac:	5d                   	pop    %ebp
401cad:	5b                   	pop    %ebx
401cae:	83 c4 08             	add    $0x8,%esp
401cb1:	c3                   	ret
401cb2:	5f                   	pop    %edi
401cb3:	5d                   	pop    %ebp
401cb4:	89 5e 24             	mov    %ebx,0x24(%esi)
401cb7:	5b                   	pop    %ebx
401cb8:	83 c4 08             	add    $0x8,%esp
401cbb:	c3                   	ret
401cbc:	cc                   	int3
401cbd:	cc                   	int3
401cbe:	cc                   	int3
401cbf:	cc                   	int3
401cc0:	56                   	push   %esi
401cc1:	8b f1                	mov    %ecx,%esi
401cc3:	c7 06 f4 8a 42 00    	movl   $0x428af4,(%esi)
401cc9:	83 7e 24 10          	cmpl   $0x10,0x24(%esi)
401ccd:	72 0c                	jb     0x401cdb
401ccf:	8b 46 10             	mov    0x10(%esi),%eax
401cd2:	50                   	push   %eax
401cd3:	e8 5e 36 00 00       	call   0x405336
401cd8:	83 c4 04             	add    $0x4,%esp
401cdb:	33 c0                	xor    %eax,%eax
401cdd:	c7 46 24 0f 00 00 00 	movl   $0xf,0x24(%esi)
401ce4:	89 46 20             	mov    %eax,0x20(%esi)
401ce7:	8b ce                	mov    %esi,%ecx
401ce9:	88 46 10             	mov    %al,0x10(%esi)
401cec:	e8 7e 32 00 00       	call   0x404f6f
401cf1:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
401cf6:	74 09                	je     0x401d01
401cf8:	56                   	push   %esi
401cf9:	e8 38 36 00 00       	call   0x405336
401cfe:	83 c4 04             	add    $0x4,%esp
401d01:	8b c6                	mov    %esi,%eax
401d03:	5e                   	pop    %esi
401d04:	c2 04 00             	ret    $0x4
401d07:	cc                   	int3
401d08:	cc                   	int3
401d09:	cc                   	int3
401d0a:	cc                   	int3
401d0b:	cc                   	int3
401d0c:	cc                   	int3
401d0d:	cc                   	int3
401d0e:	cc                   	int3
401d0f:	cc                   	int3
401d10:	8b 44 24 04          	mov    0x4(%esp),%eax
401d14:	56                   	push   %esi
401d15:	50                   	push   %eax
401d16:	8b f1                	mov    %ecx,%esi
401d18:	e8 a3 f5 ff ff       	call   0x4012c0
401d1d:	c7 06 44 8b 42 00    	movl   $0x428b44,(%esi)
401d23:	8b c6                	mov    %esi,%eax
401d25:	5e                   	pop    %esi
401d26:	c2 04 00             	ret    $0x4
401d29:	cc                   	int3
401d2a:	cc                   	int3
401d2b:	cc                   	int3
401d2c:	cc                   	int3
401d2d:	cc                   	int3
401d2e:	cc                   	int3
401d2f:	cc                   	int3
401d30:	81 00 47 86 c8 61    	addl   $0x61c88647,(%eax)
401d36:	c3                   	ret
401d37:	cc                   	int3