438e56:	8b c1                	mov    %ecx,%eax
438e58:	50                   	push   %eax
438e59:	e8 72 76 0b 00       	call   0x4f04d0
438e5e:	83 c4 04             	add    $0x4,%esp
438e61:	5d                   	pop    %ebp
438e62:	c2 08 00             	ret    $0x8
438e65:	e8 c5 40 1b 00       	call   0x5ecf2f
438e6a:	cc                   	int3
438e6b:	cc                   	int3
438e6c:	cc                   	int3
438e6d:	cc                   	int3
438e6e:	cc                   	int3
438e6f:	cc                   	int3
438e70:	55                   	push   %ebp
438e71:	8b ec                	mov    %esp,%ebp
438e73:	56                   	push   %esi
438e74:	8b 75 08             	mov    0x8(%ebp),%esi
438e77:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
438e7d:	77 5c                	ja     0x438edb
438e7f:	8b 41 14             	mov    0x14(%ecx),%eax
438e82:	3b c6                	cmp    %esi,%eax
438e84:	73 13                	jae    0x438e99
438e86:	ff 71 10             	push   0x10(%ecx)
438e89:	56                   	push   %esi
438e8a:	e8 51 02 00 00       	call   0x4390e0
438e8f:	85 f6                	test   %esi,%esi
438e91:	5e                   	pop    %esi
438e92:	0f 95 c0             	setne  %al
438e95:	5d                   	pop    %ebp
438e96:	c2 08 00             	ret    $0x8
438e99:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
438e9d:	74 1f                	je     0x438ebe
438e9f:	83 fe 08             	cmp    $0x8,%esi
438ea2:	73 1a                	jae    0x438ebe
438ea4:	8b 41 10             	mov    0x10(%ecx),%eax
438ea7:	3b f0                	cmp    %eax,%esi
438ea9:	0f 42 c6             	cmovb  %esi,%eax
438eac:	50                   	push   %eax
438ead:	6a 01                	push   $0x1
438eaf:	e8 ac f8 ff ff       	call   0x438760
438eb4:	85 f6                	test   %esi,%esi
438eb6:	5e                   	pop    %esi
438eb7:	0f 95 c0             	setne  %al
438eba:	5d                   	pop    %ebp
438ebb:	c2 08 00             	ret    $0x8
438ebe:	85 f6                	test   %esi,%esi
438ec0:	75 11                	jne    0x438ed3
438ec2:	89 71 10             	mov    %esi,0x10(%ecx)
438ec5:	83 f8 08             	cmp    $0x8,%eax
438ec8:	72 02                	jb     0x438ecc
438eca:	8b 09                	mov    (%ecx),%ecx
438ecc:	33 c0                	xor    %eax,%eax
438ece:	85 f6                	test   %esi,%esi
438ed0:	66 89 01             	mov    %ax,(%ecx)
438ed3:	0f 95 c0             	setne  %al
438ed6:	5e                   	pop    %esi
438ed7:	5d                   	pop    %ebp
438ed8:	c2 08 00             	ret    $0x8
438edb:	e8 f0 00 00 00       	call   0x438fd0
438ee0:	cc                   	int3
438ee1:	cc                   	int3
438ee2:	cc                   	int3
438ee3:	cc                   	int3
438ee4:	cc                   	int3
438ee5:	cc                   	int3
438ee6:	cc                   	int3
438ee7:	cc                   	int3
438ee8:	cc                   	int3
438ee9:	cc                   	int3
438eea:	cc                   	int3
438eeb:	cc                   	int3
438eec:	cc                   	int3
438eed:	cc                   	int3
438eee:	cc                   	int3
438eef:	cc                   	int3
438ef0:	55                   	push   %ebp
438ef1:	8b ec                	mov    %esp,%ebp
438ef3:	51                   	push   %ecx
438ef4:	56                   	push   %esi
438ef5:	8b f1                	mov    %ecx,%esi
438ef7:	8b 4d 08             	mov    0x8(%ebp),%ecx
438efa:	57                   	push   %edi
438efb:	8b 7e 10             	mov    0x10(%esi),%edi
438efe:	3b f9                	cmp    %ecx,%edi
438f00:	0f 82 99 00 00 00    	jb     0x438f9f
438f06:	8b 55 0c             	mov    0xc(%ebp),%edx
438f09:	8b c7                	mov    %edi,%eax
438f0b:	2b c1                	sub    %ecx,%eax
438f0d:	3b c2                	cmp    %edx,%eax
438f0f:	77 2b                	ja     0x438f3c
438f11:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
438f15:	89 4e 10             	mov    %ecx,0x10(%esi)
438f18:	72 12                	jb     0x438f2c
438f1a:	8b 06                	mov    (%esi),%eax
438f1c:	33 d2                	xor    %edx,%edx
438f1e:	5f                   	pop    %edi
438f1f:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
438f23:	8b c6                	mov    %esi,%eax
438f25:	5e                   	pop    %esi
438f26:	8b e5                	mov    %ebp,%esp
438f28:	5d                   	pop    %ebp
438f29:	c2 08 00             	ret    $0x8
438f2c:	8b c6                	mov    %esi,%eax
438f2e:	33 d2                	xor    %edx,%edx
438f30:	5f                   	pop    %edi
438f31:	5e                   	pop    %esi
438f32:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
438f36:	8b e5                	mov    %ebp,%esp
438f38:	5d                   	pop    %ebp
438f39:	c2 08 00             	ret    $0x8
438f3c:	85 d2                	test   %edx,%edx
438f3e:	74 55                	je     0x438f95
438f40:	8b 46 14             	mov    0x14(%esi),%eax
438f43:	53                   	push   %ebx
438f44:	83 f8 08             	cmp    $0x8,%eax
438f47:	72 04                	jb     0x438f4d
438f49:	8b 1e                	mov    (%esi),%ebx
438f4b:	eb 02                	jmp    0x438f4f
438f4d:	8b de                	mov    %esi,%ebx
438f4f:	2b fa                	sub    %edx,%edi
438f51:	8d 1c 4b             	lea    (%ebx,%ecx,2),%ebx
438f54:	89 7d fc             	mov    %edi,-0x4(%ebp)
438f57:	29 4d fc             	sub    %ecx,-0x4(%ebp)
438f5a:	74 16                	je     0x438f72
438f5c:	8b 45 fc             	mov    -0x4(%ebp),%eax
438f5f:	03 c0                	add    %eax,%eax
438f61:	50                   	push   %eax
438f62:	8d 04 53             	lea    (%ebx,%edx,2),%eax
438f65:	50                   	push   %eax
438f66:	53                   	push   %ebx
438f67:	e8 14 a5 1a 00       	call   0x5e3480
438f6c:	8b 46 14             	mov    0x14(%esi),%eax
438f6f:	83 c4 0c             	add    $0xc,%esp
438f72:	89 7e 10             	mov    %edi,0x10(%esi)
438f75:	5b                   	pop    %ebx
438f76:	83 f8 08             	cmp    $0x8,%eax
438f79:	72 12                	jb     0x438f8d
438f7b:	8b 06                	mov    (%esi),%eax
438f7d:	33 c9                	xor    %ecx,%ecx
438f7f:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
438f83:	8b c6                	mov    %esi,%eax
438f85:	5f                   	pop    %edi
438f86:	5e                   	pop    %esi
438f87:	8b e5                	mov    %ebp,%esp
438f89:	5d                   	pop    %ebp
438f8a:	c2 08 00             	ret    $0x8
438f8d:	8b c6                	mov    %esi,%eax
438f8f:	33 c9                	xor    %ecx,%ecx
438f91:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
438f95:	5f                   	pop    %edi
438f96:	8b c6                	mov    %esi,%eax
438f98:	5e                   	pop    %esi
438f99:	8b e5                	mov    %ebp,%esp
438f9b:	5d                   	pop    %ebp
438f9c:	c2 08 00             	ret    $0x8
438f9f:	e8 2c 01 00 00       	call   0x4390d0
438fa4:	cc                   	int3
438fa5:	cc                   	int3
438fa6:	cc                   	int3
438fa7:	cc                   	int3
438fa8:	cc                   	int3
438fa9:	cc                   	int3
438faa:	cc                   	int3
438fab:	cc                   	int3
438fac:	cc                   	int3
438fad:	cc                   	int3
438fae:	cc                   	int3
438faf:	cc                   	int3
438fb0:	55                   	push   %ebp
438fb1:	8b ec                	mov    %esp,%ebp
438fb3:	8b 41 10             	mov    0x10(%ecx),%eax
438fb6:	3b 45 08             	cmp    0x8(%ebp),%eax
438fb9:	72 04                	jb     0x438fbf
438fbb:	5d                   	pop    %ebp
438fbc:	c2 04 00             	ret    $0x4
438fbf:	e8 0c 01 00 00       	call   0x4390d0
438fc4:	cc                   	int3
438fc5:	cc                   	int3
438fc6:	cc                   	int3
438fc7:	cc                   	int3
438fc8:	cc                   	int3
438fc9:	cc                   	int3
438fca:	cc                   	int3
438fcb:	cc                   	int3
438fcc:	cc                   	int3
438fcd:	cc                   	int3
438fce:	cc                   	int3
438fcf:	cc                   	int3
438fd0:	68 48 57 6e 00       	push   $0x6e5748
438fd5:	e8 b0 53 19 00       	call   0x5ce38a
438fda:	cc                   	int3
438fdb:	cc                   	int3
438fdc:	cc                   	int3
438fdd:	cc                   	int3
438fde:	cc                   	int3
438fdf:	cc                   	int3
438fe0:	55                   	push   %ebp
438fe1:	8b ec                	mov    %esp,%ebp
438fe3:	8b 55 08             	mov    0x8(%ebp),%edx
438fe6:	56                   	push   %esi
438fe7:	85 d2                	test   %edx,%edx
438fe9:	74 2d                	je     0x439018
438feb:	8b 41 14             	mov    0x14(%ecx),%eax
438fee:	83 f8 10             	cmp    $0x10,%eax
438ff1:	72 04                	jb     0x438ff7
438ff3:	8b 31                	mov    (%ecx),%esi
438ff5:	eb 02                	jmp    0x438ff9
438ff7:	8b f1                	mov    %ecx,%esi
438ff9:	3b d6                	cmp    %esi,%edx
438ffb:	72 1b                	jb     0x439018
438ffd:	83 f8 10             	cmp    $0x10,%eax
439000:	72 04                	jb     0x439006
439002:	8b 31                	mov    (%ecx),%esi
439004:	eb 02                	jmp    0x439008
439006:	8b f1                	mov    %ecx,%esi
439008:	8b 41 10             	mov    0x10(%ecx),%eax
43900b:	03 c6                	add    %esi,%eax
43900d:	3b c2                	cmp    %edx,%eax
43900f:	76 07                	jbe    0x439018
439011:	b0 01                	mov    $0x1,%al
439013:	5e                   	pop    %esi
439014:	5d                   	pop    %ebp
439015:	c2 04 00             	ret    $0x4
439018:	32 c0                	xor    %al,%al
43901a:	5e                   	pop    %esi
43901b:	5d                   	pop    %ebp
43901c:	c2 04 00             	ret    $0x4
43901f:	cc                   	int3
439020:	55                   	push   %ebp
439021:	8b ec                	mov    %esp,%ebp
439023:	56                   	push   %esi
439024:	8b 75 08             	mov    0x8(%ebp),%esi
439027:	83 fe fe             	cmp    $0xfffffffe,%esi
43902a:	77 5a                	ja     0x439086
43902c:	8b 41 14             	mov    0x14(%ecx),%eax
43902f:	3b c6                	cmp    %esi,%eax
439031:	73 13                	jae    0x439046
439033:	ff 71 10             	push   0x10(%ecx)
439036:	56                   	push   %esi
439037:	e8 44 02 00 00       	call   0x439280
43903c:	85 f6                	test   %esi,%esi
43903e:	5e                   	pop    %esi
43903f:	0f 95 c0             	setne  %al
439042:	5d                   	pop    %ebp
439043:	c2 08 00             	ret    $0x8
439046:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
43904a:	74 1f                	je     0x43906b
43904c:	83 fe 10             	cmp    $0x10,%esi
43904f:	73 1a                	jae    0x43906b
439051:	8b 41 10             	mov    0x10(%ecx),%eax
439054:	3b f0                	cmp    %eax,%esi
439056:	0f 42 c6             	cmovb  %esi,%eax
439059:	50                   	push   %eax
43905a:	6a 01                	push   $0x1
43905c:	e8 9f f9 ff ff       	call   0x438a00
439061:	85 f6                	test   %esi,%esi
439063:	5e                   	pop    %esi
439064:	0f 95 c0             	setne  %al
439067:	5d                   	pop    %ebp
439068:	c2 08 00             	ret    $0x8
43906b:	85 f6                	test   %esi,%esi
43906d:	75 0f                	jne    0x43907e
43906f:	89 71 10             	mov    %esi,0x10(%ecx)
439072:	83 f8 10             	cmp    $0x10,%eax
439075:	72 02                	jb     0x439079
439077:	8b 09                	mov    (%ecx),%ecx
439079:	c6 01 00             	movb   $0x0,(%ecx)
43907c:	85 f6                	test   %esi,%esi
43907e:	0f 95 c0             	setne  %al
439081:	5e                   	pop    %esi
439082:	5d                   	pop    %ebp
439083:	c2 08 00             	ret    $0x8
439086:	e8 45 ff ff ff       	call   0x438fd0
43908b:	cc                   	int3
43908c:	cc                   	int3
43908d:	cc                   	int3
43908e:	cc                   	int3
43908f:	cc                   	int3
439090:	55                   	push   %ebp
439091:	8b ec                	mov    %esp,%ebp
439093:	8b 45 08             	mov    0x8(%ebp),%eax
439096:	39 41 10             	cmp    %eax,0x10(%ecx)
439099:	72 21                	jb     0x4390bc
43909b:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
43909f:	89 41 10             	mov    %eax,0x10(%ecx)
4390a2:	72 0c                	jb     0x4390b0
4390a4:	8b 11                	mov    (%ecx),%edx
4390a6:	c6 04 02 00          	movb   $0x0,(%edx,%eax,1)
4390aa:	8b c1                	mov    %ecx,%eax
4390ac:	5d                   	pop    %ebp
4390ad:	c2 04 00             	ret    $0x4
4390b0:	8b d1                	mov    %ecx,%edx
4390b2:	c6 04 02 00          	movb   $0x0,(%edx,%eax,1)
4390b6:	8b c1                	mov    %ecx,%eax
4390b8:	5d                   	pop    %ebp
4390b9:	c2 04 00             	ret    $0x4
4390bc:	e8 0f 00 00 00       	call   0x4390d0
4390c1:	cc                   	int3
4390c2:	cc                   	int3
4390c3:	cc                   	int3
4390c4:	cc                   	int3
4390c5:	cc                   	int3
4390c6:	cc                   	int3
4390c7:	cc                   	int3
4390c8:	cc                   	int3
4390c9:	cc                   	int3
4390ca:	cc                   	int3
4390cb:	cc                   	int3
4390cc:	cc                   	int3
4390cd:	cc                   	int3
4390ce:	cc                   	int3
4390cf:	cc                   	int3
4390d0:	68 58 57 6e 00       	push   $0x6e5758
4390d5:	e8 d0 52 19 00       	call   0x5ce3aa
4390da:	cc                   	int3
4390db:	cc                   	int3
4390dc:	cc                   	int3
4390dd:	cc                   	int3
4390de:	cc                   	int3
4390df:	cc                   	int3
4390e0:	55                   	push   %ebp
4390e1:	8b ec                	mov    %esp,%ebp
4390e3:	6a ff                	push   $0xffffffff
4390e5:	68 f0 b8 64 00       	push   $0x64b8f0
4390ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4390f0:	50                   	push   %eax
4390f1:	83 ec 10             	sub    $0x10,%esp
4390f4:	53                   	push   %ebx
4390f5:	56                   	push   %esi
4390f6:	57                   	push   %edi
4390f7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4390fc:	33 c5                	xor    %ebp,%eax
4390fe:	50                   	push   %eax
4390ff:	8d 45 f4             	lea    -0xc(%ebp),%eax
439102:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
439108:	89 65 f0             	mov    %esp,-0x10(%ebp)
43910b:	8b f1                	mov    %ecx,%esi
43910d:	89 75 ec             	mov    %esi,-0x14(%ebp)
439110:	8b 45 08             	mov    0x8(%ebp),%eax
439113:	8b f8                	mov    %eax,%edi
439115:	83 cf 07             	or     $0x7,%edi
439118:	81 ff fe ff ff 7f    	cmp    $0x7ffffffe,%edi
43911e:	76 04                	jbe    0x439124
439120:	8b f8                	mov    %eax,%edi
439122:	eb 27                	jmp    0x43914b
439124:	8b 5e 14             	mov    0x14(%esi),%ebx
439127:	b8 ab aa aa aa       	mov    $0xaaaaaaab,%eax
43912c:	f7 e7                	mul    %edi
43912e:	8b cb                	mov    %ebx,%ecx
439130:	d1 e9                	shr    $1,%ecx