407eac:	ff 75 08             	push   0x8(%ebp)
407eaf:	8b 03                	mov    (%ebx),%eax
407eb1:	ff 75 e4             	push   -0x1c(%ebp)
407eb4:	53                   	push   %ebx
407eb5:	8b 30                	mov    (%eax),%esi
407eb7:	8b ce                	mov    %esi,%ecx
407eb9:	ff 15 28 63 41 00    	call   *0x416328
407ebf:	ff d6                	call   *%esi
407ec1:	8b f8                	mov    %eax,%edi
407ec3:	85 ff                	test   %edi,%edi
407ec5:	74 13                	je     0x407eda
407ec7:	8b 13                	mov    (%ebx),%edx
407ec9:	6a 01                	push   $0x1
407ecb:	8b 72 24             	mov    0x24(%edx),%esi
407ece:	8b ce                	mov    %esi,%ecx
407ed0:	ff 15 28 63 41 00    	call   *0x416328
407ed6:	8b cb                	mov    %ebx,%ecx
407ed8:	ff d6                	call   *%esi
407eda:	8b c7                	mov    %edi,%eax
407edc:	e8 4b a6 00 00       	call   0x41252c
407ee1:	c2 04 00             	ret    $0x4
407ee4:	cc                   	int3
407ee5:	cc                   	int3
407ee6:	cc                   	int3
407ee7:	cc                   	int3
407ee8:	cc                   	int3
407ee9:	cc                   	int3
407eea:	cc                   	int3
407eeb:	cc                   	int3
407eec:	cc                   	int3
407eed:	cc                   	int3
407eee:	cc                   	int3
407eef:	cc                   	int3
407ef0:	8b ff                	mov    %edi,%edi
407ef2:	55                   	push   %ebp
407ef3:	8b ec                	mov    %esp,%ebp
407ef5:	56                   	push   %esi
407ef6:	8b 75 08             	mov    0x8(%ebp),%esi
407ef9:	57                   	push   %edi
407efa:	8d 4e 04             	lea    0x4(%esi),%ecx
407efd:	e8 db f7 ff ff       	call   0x4076dd
407f02:	8b f8                	mov    %eax,%edi
407f04:	85 ff                	test   %edi,%edi
407f06:	75 1f                	jne    0x407f27
407f08:	85 f6                	test   %esi,%esi
407f0a:	74 1b                	je     0x407f27
407f0c:	c7 01 01 00 00 c0    	movl   $0xc0000001,(%ecx)
407f12:	8b ce                	mov    %esi,%ecx
407f14:	c7 06 c0 15 40 00    	movl   $0x4015c0,(%esi)
407f1a:	e8 34 eb ff ff       	call   0x406a53
407f1f:	56                   	push   %esi
407f20:	ff 15 d0 62 41 00    	call   *0x4162d0
407f26:	59                   	pop    %ecx
407f27:	8b c7                	mov    %edi,%eax
407f29:	5f                   	pop    %edi
407f2a:	5e                   	pop    %esi
407f2b:	5d                   	pop    %ebp
407f2c:	c2 04 00             	ret    $0x4
407f2f:	ff 31                	push   (%ecx)
407f31:	ff 15 bc 62 41 00    	call   *0x4162bc
407f37:	59                   	pop    %ecx
407f38:	c3                   	ret
407f39:	8b ff                	mov    %edi,%edi
407f3b:	56                   	push   %esi
407f3c:	8b f1                	mov    %ecx,%esi
407f3e:	c7 06 d4 15 40 00    	movl   $0x4015d4,(%esi)
407f44:	c7 46 04 d4 18 40 00 	movl   $0x4018d4,0x4(%esi)
407f4b:	c7 46 08 01 00 00 c0 	movl   $0xc0000001,0x8(%esi)
407f52:	e8 b0 f2 ff ff       	call   0x407207
407f57:	56                   	push   %esi
407f58:	ff 15 d0 62 41 00    	call   *0x4162d0
407f5e:	59                   	pop    %ecx
407f5f:	8b c6                	mov    %esi,%eax
407f61:	5e                   	pop    %esi
407f62:	c2 04 00             	ret    $0x4
407f65:	cc                   	int3
407f66:	cc                   	int3
407f67:	cc                   	int3
407f68:	cc                   	int3
407f69:	cc                   	int3
407f6a:	cc                   	int3
407f6b:	cc                   	int3
407f6c:	cc                   	int3
407f6d:	cc                   	int3
407f6e:	cc                   	int3
407f6f:	cc                   	int3
407f70:	8b ff                	mov    %edi,%edi
407f72:	55                   	push   %ebp
407f73:	8b ec                	mov    %esp,%ebp
407f75:	8b 45 08             	mov    0x8(%ebp),%eax
407f78:	56                   	push   %esi
407f79:	ff 75 10             	push   0x10(%ebp)
407f7c:	8b 40 08             	mov    0x8(%eax),%eax
407f7f:	ff 75 0c             	push   0xc(%ebp)
407f82:	50                   	push   %eax
407f83:	8b 08                	mov    (%eax),%ecx
407f85:	8b 31                	mov    (%ecx),%esi
407f87:	8b ce                	mov    %esi,%ecx
407f89:	ff 15 28 63 41 00    	call   *0x416328
407f8f:	ff d6                	call   *%esi
407f91:	5e                   	pop    %esi
407f92:	5d                   	pop    %ebp
407f93:	c2 0c 00             	ret    $0xc
407f96:	cc                   	int3
407f97:	cc                   	int3
407f98:	cc                   	int3
407f99:	cc                   	int3
407f9a:	cc                   	int3
407f9b:	cc                   	int3
407f9c:	cc                   	int3
407f9d:	cc                   	int3
407f9e:	cc                   	int3
407f9f:	cc                   	int3
407fa0:	8b ff                	mov    %edi,%edi
407fa2:	55                   	push   %ebp
407fa3:	8b ec                	mov    %esp,%ebp
407fa5:	8b 45 08             	mov    0x8(%ebp),%eax
407fa8:	56                   	push   %esi
407fa9:	8b 40 08             	mov    0x8(%eax),%eax
407fac:	50                   	push   %eax
407fad:	8b 08                	mov    (%eax),%ecx
407faf:	8b 71 08             	mov    0x8(%ecx),%esi
407fb2:	8b ce                	mov    %esi,%ecx
407fb4:	ff 15 28 63 41 00    	call   *0x416328
407fba:	ff d6                	call   *%esi
407fbc:	5e                   	pop    %esi
407fbd:	5d                   	pop    %ebp
407fbe:	c2 04 00             	ret    $0x4
407fc1:	cc                   	int3
407fc2:	cc                   	int3
407fc3:	cc                   	int3
407fc4:	cc                   	int3
407fc5:	cc                   	int3
407fc6:	cc                   	int3
407fc7:	cc                   	int3
407fc8:	cc                   	int3
407fc9:	cc                   	int3
407fca:	cc                   	int3
407fcb:	cc                   	int3
407fcc:	cc                   	int3
407fcd:	cc                   	int3
407fce:	cc                   	int3
407fcf:	cc                   	int3
407fd0:	8b ff                	mov    %edi,%edi
407fd2:	55                   	push   %ebp
407fd3:	8b ec                	mov    %esp,%ebp
407fd5:	8b 45 08             	mov    0x8(%ebp),%eax
407fd8:	56                   	push   %esi
407fd9:	8b 40 08             	mov    0x8(%eax),%eax
407fdc:	50                   	push   %eax
407fdd:	8b 08                	mov    (%eax),%ecx
407fdf:	8b 71 04             	mov    0x4(%ecx),%esi
407fe2:	8b ce                	mov    %esi,%ecx
407fe4:	ff 15 28 63 41 00    	call   *0x416328
407fea:	ff d6                	call   *%esi
407fec:	5e                   	pop    %esi
407fed:	5d                   	pop    %ebp
407fee:	c2 04 00             	ret    $0x4
407ff1:	cc                   	int3
407ff2:	cc                   	int3
407ff3:	cc                   	int3
407ff4:	cc                   	int3
407ff5:	cc                   	int3
407ff6:	cc                   	int3
407ff7:	cc                   	int3
407ff8:	cc                   	int3
407ff9:	cc                   	int3
407ffa:	cc                   	int3
407ffb:	cc                   	int3
407ffc:	cc                   	int3
407ffd:	cc                   	int3
407ffe:	cc                   	int3
407fff:	cc                   	int3
408000:	8b ff                	mov    %edi,%edi
408002:	55                   	push   %ebp
408003:	8b ec                	mov    %esp,%ebp
408005:	ff 75 10             	push   0x10(%ebp)
408008:	8b 4d 08             	mov    0x8(%ebp),%ecx
40800b:	ba a4 18 40 00       	mov    $0x4018a4,%edx
408010:	ff 75 0c             	push   0xc(%ebp)
408013:	e8 9a e8 ff ff       	call   0x4068b2
408018:	5d                   	pop    %ebp
408019:	c2 0c 00             	ret    $0xc
40801c:	cc                   	int3
40801d:	cc                   	int3
40801e:	cc                   	int3
40801f:	cc                   	int3
408020:	8b ff                	mov    %edi,%edi
408022:	55                   	push   %ebp
408023:	8b ec                	mov    %esp,%ebp
408025:	53                   	push   %ebx
408026:	56                   	push   %esi
408027:	8b 75 08             	mov    0x8(%ebp),%esi
40802a:	8d 4e 08             	lea    0x8(%esi),%ecx
40802d:	e8 ab f6 ff ff       	call   0x4076dd
408032:	8b d8                	mov    %eax,%ebx
408034:	85 db                	test   %ebx,%ebx
408036:	75 0e                	jne    0x408046
408038:	85 f6                	test   %esi,%esi
40803a:	74 28                	je     0x408064
40803c:	51                   	push   %ecx
40803d:	8b ce                	mov    %esi,%ecx
40803f:	e8 f5 fe ff ff       	call   0x407f39
408044:	eb 1e                	jmp    0x408064
408046:	83 fb 01             	cmp    $0x1,%ebx
408049:	75 19                	jne    0x408064
40804b:	57                   	push   %edi
40804c:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
408052:	8b 07                	mov    (%edi),%eax
408054:	8b 70 08             	mov    0x8(%eax),%esi
408057:	8b ce                	mov    %esi,%ecx
408059:	ff 15 28 63 41 00    	call   *0x416328
40805f:	8b cf                	mov    %edi,%ecx
408061:	ff d6                	call   *%esi
408063:	5f                   	pop    %edi
408064:	5e                   	pop    %esi
408065:	8b c3                	mov    %ebx,%eax
408067:	5b                   	pop    %ebx
408068:	5d                   	pop    %ebp
408069:	c2 04 00             	ret    $0x4
40806c:	cc                   	int3
40806d:	cc                   	int3
40806e:	cc                   	int3
40806f:	cc                   	int3
408070:	8b ff                	mov    %edi,%edi
408072:	55                   	push   %ebp
408073:	8b ec                	mov    %esp,%ebp
408075:	8b 4d 08             	mov    0x8(%ebp),%ecx
408078:	53                   	push   %ebx
408079:	8d 49 08             	lea    0x8(%ecx),%ecx
40807c:	e8 48 cc ff ff       	call   0x404cc9
408081:	8b d8                	mov    %eax,%ebx
408083:	83 fb 02             	cmp    $0x2,%ebx
408086:	75 1b                	jne    0x4080a3
408088:	56                   	push   %esi
408089:	57                   	push   %edi
40808a:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
408090:	8b 17                	mov    (%edi),%edx
408092:	8b 72 04             	mov    0x4(%edx),%esi
408095:	8b ce                	mov    %esi,%ecx
408097:	ff 15 28 63 41 00    	call   *0x416328
40809d:	8b cf                	mov    %edi,%ecx
40809f:	ff d6                	call   *%esi
4080a1:	5f                   	pop    %edi
4080a2:	5e                   	pop    %esi
4080a3:	8b c3                	mov    %ebx,%eax
4080a5:	5b                   	pop    %ebx
4080a6:	5d                   	pop    %ebp
4080a7:	c2 04 00             	ret    $0x4
4080aa:	cc                   	int3
4080ab:	cc                   	int3
4080ac:	cc                   	int3
4080ad:	cc                   	int3
4080ae:	cc                   	int3
4080af:	cc                   	int3
4080b0:	8b ff                	mov    %edi,%edi
4080b2:	55                   	push   %ebp
4080b3:	8b ec                	mov    %esp,%ebp
4080b5:	ff 75 10             	push   0x10(%ebp)
4080b8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4080bb:	ba ac 17 40 00       	mov    $0x4017ac,%edx
4080c0:	ff 75 0c             	push   0xc(%ebp)
4080c3:	e8 ea e7 ff ff       	call   0x4068b2
4080c8:	5d                   	pop    %ebp
4080c9:	c2 0c 00             	ret    $0xc
4080cc:	cc                   	int3
4080cd:	cc                   	int3
4080ce:	cc                   	int3
4080cf:	cc                   	int3
4080d0:	6a 00                	push   $0x0
4080d2:	b8 98 2c 41 00       	mov    $0x412c98,%eax
4080d7:	e8 82 a4 00 00       	call   0x41255e
4080dc:	8b 45 08             	mov    0x8(%ebp),%eax
4080df:	8b 58 04             	mov    0x4(%eax),%ebx
4080e2:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
4080e8:	75 03                	jne    0x4080ed
4080ea:	4b                   	dec    %ebx
4080eb:	eb 54                	jmp    0x408141
4080ed:	83 eb 01             	sub    $0x1,%ebx
4080f0:	89 58 04             	mov    %ebx,0x4(%eax)
4080f3:	75 4c                	jne    0x408141
4080f5:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
4080fb:	8b 07                	mov    (%edi),%eax
4080fd:	8b 70 04             	mov    0x4(%eax),%esi
408100:	8b ce                	mov    %esi,%ecx
408102:	ff 15 28 63 41 00    	call   *0x416328
408108:	8b cf                	mov    %edi,%ecx
40810a:	ff d6                	call   *%esi
40810c:	8b 7d 08             	mov    0x8(%ebp),%edi
40810f:	85 ff                	test   %edi,%edi
408111:	74 13                	je     0x408126
408113:	8b 07                	mov    (%edi),%eax
408115:	6a 01                	push   $0x1
408117:	8b 70 28             	mov    0x28(%eax),%esi
40811a:	8b ce                	mov    %esi,%ecx
40811c:	ff 15 28 63 41 00    	call   *0x416328
408122:	8b cf                	mov    %edi,%ecx
408124:	ff d6                	call   *%esi
408126:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40812a:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
408130:	8b 17                	mov    (%edi),%edx
408132:	8b 72 08             	mov    0x8(%edx),%esi
408135:	8b ce                	mov    %esi,%ecx
408137:	ff 15 28 63 41 00    	call   *0x416328
40813d:	8b cf                	mov    %edi,%ecx
40813f:	ff d6                	call   *%esi
408141:	8b c3                	mov    %ebx,%eax
408143:	e8 e4 a3 00 00       	call   0x41252c
408148:	c2 04 00             	ret    $0x4
40814b:	cc                   	int3
40814c:	cc                   	int3
40814d:	cc                   	int3
40814e:	cc                   	int3
40814f:	cc                   	int3
408150:	8b ff                	mov    %edi,%edi
408152:	55                   	push   %ebp
408153:	8b ec                	mov    %esp,%ebp
408155:	8b 4d 08             	mov    0x8(%ebp),%ecx
408158:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
40815d:	8b 51 04             	mov    0x4(%ecx),%edx
408160:	3b d0                	cmp    %eax,%edx
408162:	74 06                	je     0x40816a
408164:	8d 42 01             	lea    0x1(%edx),%eax
408167:	89 41 04             	mov    %eax,0x4(%ecx)
40816a:	5d                   	pop    %ebp
40816b:	c2 04 00             	ret    $0x4
40816e:	8b ff                	mov    %edi,%edi
408170:	55                   	push   %ebp
408171:	8b ec                	mov    %esp,%ebp
408173:	6a ff                	push   $0xffffffff
408175:	68 5f 2e 41 00       	push   $0x412e5f
40817a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
408180:	50                   	push   %eax
408181:	53                   	push   %ebx
408182:	56                   	push   %esi
408183:	57                   	push   %edi
408184:	a1 f4 51 41 00       	mov    0x4151f4,%eax
408189:	33 c5                	xor    %ebp,%eax
40818b:	50                   	push   %eax
40818c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40818f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408195:	8b d9                	mov    %ecx,%ebx
408197:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
40819d:	c7 03 78 18 40 00    	movl   $0x401878,(%ebx)
4081a3:	c7 43 04 01 00 00 c0 	movl   $0xc0000001,0x4(%ebx)
4081aa:	8b 07                	mov    (%edi),%eax
4081ac:	8b 70 08             	mov    0x8(%eax),%esi
4081af:	8b ce                	mov    %esi,%ecx
4081b1:	ff 15 28 63 41 00    	call   *0x416328
4081b7:	8b cf                	mov    %edi,%ecx