415ede:	8b 15 14 dd 46 00    	mov    0x46dd14,%edx
415ee4:	8b ce                	mov    %esi,%ecx
415ee6:	8b c3                	mov    %ebx,%eax
415ee8:	e8 53 f2 ff ff       	call   0x415140
415eed:	8b 45 08             	mov    0x8(%ebp),%eax
415ef0:	50                   	push   %eax
415ef1:	8b cf                	mov    %edi,%ecx
415ef3:	8b d6                	mov    %esi,%edx
415ef5:	8b c3                	mov    %ebx,%eax
415ef7:	8b 18                	mov    (%eax),%ebx
415ef9:	ff 93 88 00 00 00    	call   *0x88(%ebx)
415eff:	5f                   	pop    %edi
415f00:	5e                   	pop    %esi
415f01:	5b                   	pop    %ebx
415f02:	5d                   	pop    %ebp
415f03:	c2 04 00             	ret    $0x4
415f06:	8b c0                	mov    %eax,%eax
415f08:	55                   	push   %ebp
415f09:	8b ec                	mov    %esp,%ebp
415f0b:	53                   	push   %ebx
415f0c:	56                   	push   %esi
415f0d:	57                   	push   %edi
415f0e:	8b f9                	mov    %ecx,%edi
415f10:	8b f2                	mov    %edx,%esi
415f12:	8b d8                	mov    %eax,%ebx
415f14:	8b c3                	mov    %ebx,%eax
415f16:	8b 10                	mov    (%eax),%edx
415f18:	ff 92 84 00 00 00    	call   *0x84(%edx)
415f1e:	8b 43 14             	mov    0x14(%ebx),%eax
415f21:	3b 43 18             	cmp    0x18(%ebx),%eax
415f24:	75 07                	jne    0x415f2d
415f26:	8b c3                	mov    %ebx,%eax
415f28:	e8 07 ff ff ff       	call   0x415e34
415f2d:	8b 43 14             	mov    0x14(%ebx),%eax
415f30:	3b f0                	cmp    %eax,%esi
415f32:	7d 1d                	jge    0x415f51
415f34:	8b 53 10             	mov    0x10(%ebx),%edx
415f37:	8d 54 f2 08          	lea    0x8(%edx,%esi,8),%edx
415f3b:	52                   	push   %edx
415f3c:	8b 53 10             	mov    0x10(%ebx),%edx
415f3f:	8d 14 f2             	lea    (%edx,%esi,8),%edx
415f42:	2b c6                	sub    %esi,%eax
415f44:	8b c8                	mov    %eax,%ecx
415f46:	c1 e1 03             	shl    $0x3,%ecx
415f49:	8b c2                	mov    %edx,%eax
415f4b:	5a                   	pop    %edx
415f4c:	e8 67 c9 fe ff       	call   0x4028b8
415f51:	8b 43 10             	mov    0x10(%ebx),%eax
415f54:	8d 04 f0             	lea    (%eax,%esi,8),%eax
415f57:	8b f0                	mov    %eax,%esi
415f59:	33 c0                	xor    %eax,%eax
415f5b:	89 06                	mov    %eax,(%esi)
415f5d:	8b 45 08             	mov    0x8(%ebp),%eax
415f60:	89 46 04             	mov    %eax,0x4(%esi)
415f63:	8b c6                	mov    %esi,%eax
415f65:	8b d7                	mov    %edi,%edx
415f67:	e8 80 e0 fe ff       	call   0x403fec
415f6c:	ff 43 14             	incl   0x14(%ebx)
415f6f:	8b c3                	mov    %ebx,%eax
415f71:	8b 10                	mov    (%eax),%edx
415f73:	ff 92 80 00 00 00    	call   *0x80(%edx)
415f79:	5f                   	pop    %edi
415f7a:	5e                   	pop    %esi
415f7b:	5b                   	pop    %ebx
415f7c:	5d                   	pop    %ebp
415f7d:	c2 04 00             	ret    $0x4
415f80:	53                   	push   %ebx
415f81:	56                   	push   %esi
415f82:	57                   	push   %edi
415f83:	8b f9                	mov    %ecx,%edi
415f85:	8b f2                	mov    %edx,%esi
415f87:	8b d8                	mov    %eax,%ebx
415f89:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
415f8d:	74 0f                	je     0x415f9e
415f8f:	8b 15 a8 db 46 00    	mov    0x46dba8,%edx
415f95:	33 c9                	xor    %ecx,%ecx
415f97:	8b c3                	mov    %ebx,%eax
415f99:	e8 a2 f1 ff ff       	call   0x415140
415f9e:	85 f6                	test   %esi,%esi
415fa0:	7c 05                	jl     0x415fa7
415fa2:	3b 73 14             	cmp    0x14(%ebx),%esi
415fa5:	7c 0f                	jl     0x415fb6
415fa7:	8b 15 14 dd 46 00    	mov    0x46dd14,%edx
415fad:	8b ce                	mov    %esi,%ecx
415faf:	8b c3                	mov    %ebx,%eax
415fb1:	e8 8a f1 ff ff       	call   0x415140
415fb6:	8b c3                	mov    %ebx,%eax
415fb8:	8b 10                	mov    (%eax),%edx
415fba:	ff 92 84 00 00 00    	call   *0x84(%edx)
415fc0:	8b 43 10             	mov    0x10(%ebx),%eax
415fc3:	8d 04 f0             	lea    (%eax,%esi,8),%eax
415fc6:	8b d7                	mov    %edi,%edx
415fc8:	e8 1f e0 fe ff       	call   0x403fec
415fcd:	8b c3                	mov    %ebx,%eax
415fcf:	8b 10                	mov    (%eax),%edx
415fd1:	ff 92 80 00 00 00    	call   *0x80(%edx)
415fd7:	5f                   	pop    %edi
415fd8:	5e                   	pop    %esi
415fd9:	5b                   	pop    %ebx
415fda:	c3                   	ret
415fdb:	90                   	nop
415fdc:	53                   	push   %ebx
415fdd:	56                   	push   %esi
415fde:	57                   	push   %edi
415fdf:	8b f9                	mov    %ecx,%edi
415fe1:	8b f2                	mov    %edx,%esi
415fe3:	8b d8                	mov    %eax,%ebx
415fe5:	85 f6                	test   %esi,%esi
415fe7:	7c 05                	jl     0x415fee
415fe9:	3b 73 14             	cmp    0x14(%ebx),%esi
415fec:	7c 0f                	jl     0x415ffd
415fee:	8b 15 14 dd 46 00    	mov    0x46dd14,%edx
415ff4:	8b ce                	mov    %esi,%ecx
415ff6:	8b c3                	mov    %ebx,%eax
415ff8:	e8 43 f1 ff ff       	call   0x415140
415ffd:	8b c3                	mov    %ebx,%eax
415fff:	8b 10                	mov    (%eax),%edx
416001:	ff 92 84 00 00 00    	call   *0x84(%edx)
416007:	8b 43 10             	mov    0x10(%ebx),%eax
41600a:	89 7c f0 04          	mov    %edi,0x4(%eax,%esi,8)
41600e:	8b c3                	mov    %ebx,%eax
416010:	8b 10                	mov    (%eax),%edx
416012:	ff 92 80 00 00 00    	call   *0x80(%edx)
416018:	5f                   	pop    %edi
416019:	5e                   	pop    %esi
41601a:	5b                   	pop    %ebx
41601b:	c3                   	ret
41601c:	55                   	push   %ebp
41601d:	8b ec                	mov    %esp,%ebp
41601f:	83 c4 f0             	add    $0xfffffff0,%esp
416022:	53                   	push   %ebx
416023:	56                   	push   %esi
416024:	89 4d f4             	mov    %ecx,-0xc(%ebp)
416027:	89 55 f8             	mov    %edx,-0x8(%ebp)
41602a:	89 45 fc             	mov    %eax,-0x4(%ebp)
41602d:	8b 5d f8             	mov    -0x8(%ebp),%ebx
416030:	8b 75 f4             	mov    -0xc(%ebp),%esi
416033:	8b 45 f8             	mov    -0x8(%ebp),%eax
416036:	03 45 f4             	add    -0xc(%ebp),%eax
416039:	d1 e8                	shr    $1,%eax
41603b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41603e:	eb 01                	jmp    0x416041
416040:	43                   	inc    %ebx
416041:	8b 4d f0             	mov    -0x10(%ebp),%ecx
416044:	8b d3                	mov    %ebx,%edx
416046:	8b 45 fc             	mov    -0x4(%ebp),%eax
416049:	ff 55 08             	call   *0x8(%ebp)
41604c:	85 c0                	test   %eax,%eax
41604e:	7c f0                	jl     0x416040
416050:	eb 01                	jmp    0x416053
416052:	4e                   	dec    %esi
416053:	8b 4d f0             	mov    -0x10(%ebp),%ecx
416056:	8b d6                	mov    %esi,%edx
416058:	8b 45 fc             	mov    -0x4(%ebp),%eax
41605b:	ff 55 08             	call   *0x8(%ebp)
41605e:	85 c0                	test   %eax,%eax
416060:	7f f0                	jg     0x416052
416062:	3b f3                	cmp    %ebx,%esi
416064:	7c 20                	jl     0x416086
416066:	8b ce                	mov    %esi,%ecx
416068:	8b d3                	mov    %ebx,%edx
41606a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41606d:	e8 c2 fc ff ff       	call   0x415d34
416072:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
416075:	75 05                	jne    0x41607c
416077:	89 75 f0             	mov    %esi,-0x10(%ebp)
41607a:	eb 08                	jmp    0x416084
41607c:	3b 75 f0             	cmp    -0x10(%ebp),%esi
41607f:	75 03                	jne    0x416084
416081:	89 5d f0             	mov    %ebx,-0x10(%ebp)
416084:	43                   	inc    %ebx
416085:	4e                   	dec    %esi
416086:	3b f3                	cmp    %ebx,%esi
416088:	7d b7                	jge    0x416041
41608a:	3b 75 f8             	cmp    -0x8(%ebp),%esi
41608d:	7e 11                	jle    0x4160a0
41608f:	8b 45 08             	mov    0x8(%ebp),%eax
416092:	50                   	push   %eax
416093:	8b ce                	mov    %esi,%ecx
416095:	8b 55 f8             	mov    -0x8(%ebp),%edx
416098:	8b 45 fc             	mov    -0x4(%ebp),%eax
41609b:	e8 7c ff ff ff       	call   0x41601c
4160a0:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4160a3:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
4160a6:	7c 85                	jl     0x41602d
4160a8:	5e                   	pop    %esi
4160a9:	5b                   	pop    %ebx
4160aa:	8b e5                	mov    %ebp,%esp
4160ac:	5d                   	pop    %ebp
4160ad:	c2 04 00             	ret    $0x4
4160b0:	53                   	push   %ebx
4160b1:	56                   	push   %esi
4160b2:	8b f2                	mov    %edx,%esi
4160b4:	8b d8                	mov    %eax,%ebx
4160b6:	8b d6                	mov    %esi,%edx
4160b8:	c1 e2 03             	shl    $0x3,%edx
4160bb:	8d 43 10             	lea    0x10(%ebx),%eax
4160be:	e8 39 c6 fe ff       	call   0x4026fc
4160c3:	89 73 18             	mov    %esi,0x18(%ebx)
4160c6:	5e                   	pop    %esi
4160c7:	5b                   	pop    %ebx
4160c8:	c3                   	ret
4160c9:	8d 40 00             	lea    0x0(%eax),%eax
4160cc:	53                   	push   %ebx
4160cd:	56                   	push   %esi
4160ce:	8b da                	mov    %edx,%ebx
4160d0:	8b f0                	mov    %eax,%esi
4160d2:	3a 5e 1c             	cmp    0x1c(%esi),%bl
4160d5:	74 11                	je     0x4160e8
4160d7:	84 db                	test   %bl,%bl
4160d9:	74 0a                	je     0x4160e5
4160db:	8b c6                	mov    %esi,%eax
4160dd:	8b 10                	mov    (%eax),%edx
4160df:	ff 92 90 00 00 00    	call   *0x90(%edx)
4160e5:	88 5e 1c             	mov    %bl,0x1c(%esi)
4160e8:	5e                   	pop    %esi
4160e9:	5b                   	pop    %ebx
4160ea:	c3                   	ret
4160eb:	90                   	nop
4160ec:	84 d2                	test   %dl,%dl
4160ee:	74 09                	je     0x4160f9
4160f0:	8b 10                	mov    (%eax),%edx
4160f2:	ff 92 84 00 00 00    	call   *0x84(%edx)
4160f8:	c3                   	ret
4160f9:	8b 10                	mov    (%eax),%edx
4160fb:	ff 92 80 00 00 00    	call   *0x80(%edx)
416101:	c3                   	ret
416102:	8b c0                	mov    %eax,%eax
416104:	53                   	push   %ebx
416105:	8b 58 10             	mov    0x10(%eax),%ebx
416108:	8b 0c cb             	mov    (%ebx,%ecx,8),%ecx
41610b:	8b 58 10             	mov    0x10(%eax),%ebx
41610e:	8b 14 d3             	mov    (%ebx,%edx,8),%edx
416111:	8b 18                	mov    (%eax),%ebx
416113:	ff 53 34             	call   *0x34(%ebx)
416116:	5b                   	pop    %ebx
416117:	c3                   	ret
416118:	ba 04 61 41 00       	mov    $0x416104,%edx
41611d:	8b 08                	mov    (%eax),%ecx
41611f:	ff 91 94 00 00 00    	call   *0x94(%ecx)
416125:	c3                   	ret
416126:	8b c0                	mov    %eax,%eax
416128:	53                   	push   %ebx
416129:	56                   	push   %esi
41612a:	8b f2                	mov    %edx,%esi
41612c:	8b d8                	mov    %eax,%ebx
41612e:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
416132:	75 28                	jne    0x41615c
416134:	83 7b 14 01          	cmpl   $0x1,0x14(%ebx)
416138:	7e 22                	jle    0x41615c
41613a:	8b c3                	mov    %ebx,%eax
41613c:	8b 10                	mov    (%eax),%edx
41613e:	ff 92 84 00 00 00    	call   *0x84(%edx)
416144:	56                   	push   %esi
416145:	8b 4b 14             	mov    0x14(%ebx),%ecx
416148:	49                   	dec    %ecx
416149:	33 d2                	xor    %edx,%edx
41614b:	8b c3                	mov    %ebx,%eax
41614d:	e8 ca fe ff ff       	call   0x41601c
416152:	8b c3                	mov    %ebx,%eax
416154:	8b 10                	mov    (%eax),%edx
416156:	ff 92 80 00 00 00    	call   *0x80(%edx)
41615c:	5e                   	pop    %esi
41615d:	5b                   	pop    %ebx
41615e:	c3                   	ret
41615f:	90                   	nop
416160:	80 78 1e 00          	cmpb   $0x0,0x1e(%eax)
416164:	74 0a                	je     0x416170
416166:	8b c2                	mov    %edx,%eax
416168:	8b d1                	mov    %ecx,%edx
41616a:	e8 69 1b ff ff       	call   0x407cd8
41616f:	c3                   	ret
416170:	8b c2                	mov    %edx,%eax
416172:	8b d1                	mov    %ecx,%edx
416174:	e8 97 1b ff ff       	call   0x407d10
416179:	c3                   	ret
41617a:	8b c0                	mov    %eax,%eax
41617c:	83 c4 f8             	add    $0xfffffff8,%esp
41617f:	6a 00                	push   $0x0
416181:	6a 00                	push   $0x0
416183:	b2 01                	mov    $0x1,%dl
416185:	8b 08                	mov    (%eax),%ecx
416187:	ff 51 18             	call   *0x18(%ecx)
41618a:	89 04 24             	mov    %eax,(%esp)
41618d:	89 54 24 04          	mov    %edx,0x4(%esp)
416191:	8b 04 24             	mov    (%esp),%eax
416194:	8b 54 24 04          	mov    0x4(%esp),%edx
416198:	59                   	pop    %ecx
416199:	5a                   	pop    %edx
41619a:	c3                   	ret
41619b:	90                   	nop
41619c:	55                   	push   %ebp
41619d:	8b ec                	mov    %esp,%ebp
41619f:	ff 75 0c             	push   0xc(%ebp)
4161a2:	ff 75 08             	push   0x8(%ebp)
4161a5:	33 d2                	xor    %edx,%edx
4161a7:	8b 08                	mov    (%eax),%ecx
4161a9:	ff 51 18             	call   *0x18(%ecx)
4161ac:	5d                   	pop    %ebp
4161ad:	c2 08 00             	ret    $0x8
4161b0:	53                   	push   %ebx
4161b1:	83 c4 f0             	add    $0xfffffff0,%esp
4161b4:	8b d8                	mov    %eax,%ebx
4161b6:	6a 00                	push   $0x0
4161b8:	6a 00                	push   $0x0
4161ba:	b2 01                	mov    $0x1,%dl
4161bc:	8b c3                	mov    %ebx,%eax
4161be:	8b 08                	mov    (%eax),%ecx
4161c0:	ff 51 18             	call   *0x18(%ecx)
4161c3:	89 44 24 08          	mov    %eax,0x8(%esp)
4161c7:	89 54 24 0c          	mov    %edx,0xc(%esp)
4161cb:	6a 00                	push   $0x0
4161cd:	6a 00                	push   $0x0
4161cf:	b2 02                	mov    $0x2,%dl
4161d1:	8b c3                	mov    %ebx,%eax
4161d3:	8b 08                	mov    (%eax),%ecx
4161d5:	ff 51 18             	call   *0x18(%ecx)
4161d8:	89 04 24             	mov    %eax,(%esp)
4161db:	89 54 24 04          	mov    %edx,0x4(%esp)
4161df:	ff 74 24 0c          	push   0xc(%esp)
4161e3:	ff 74 24 0c          	push   0xc(%esp)
4161e7:	33 d2                	xor    %edx,%edx
4161e9:	8b c3                	mov    %ebx,%eax
4161eb:	8b 08                	mov    (%eax),%ecx
4161ed:	ff 51 18             	call   *0x18(%ecx)
4161f0:	8b 04 24             	mov    (%esp),%eax
4161f3:	8b 54 24 04          	mov    0x4(%esp),%edx
4161f7:	83 c4 10             	add    $0x10,%esp
4161fa:	5b                   	pop    %ebx
4161fb:	c3                   	ret
4161fc:	c3                   	ret
4161fd:	8d 40 00             	lea    0x0(%eax),%eax
416200:	55                   	push   %ebp
416201:	8b ec                	mov    %esp,%ebp
416203:	ff 75 0c             	push   0xc(%ebp)
416206:	ff 75 08             	push   0x8(%ebp)
416209:	8b 10                	mov    (%eax),%edx
41620b:	ff 52 08             	call   *0x8(%edx)
41620e:	5d                   	pop    %ebp
41620f:	c2 08 00             	ret    $0x8
416212:	8b c0                	mov    %eax,%eax
416214:	55                   	push   %ebp
416215:	8b ec                	mov    %esp,%ebp
416217:	8b c8                	mov    %eax,%ecx
416219:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
41621d:	75 0b                	jne    0x41622a
41621f:	81 7d 08 00 00 00 80 	cmpl   $0x80000000,0x8(%ebp)
416226:	72 17                	jb     0x41623f
416228:	eb 02                	jmp    0x41622c
41622a:	7c 13                	jl     0x41623f