49fd60:	c1 ff 02             	sar    $0x2,%edi
49fd63:	33 c9                	xor    %ecx,%ecx
49fd65:	8b c7                	mov    %edi,%eax
49fd67:	d1 e8                	shr    $1,%eax
49fd69:	2b d8                	sub    %eax,%ebx
49fd6b:	03 c7                	add    %edi,%eax
49fd6d:	3b df                	cmp    %edi,%ebx
49fd6f:	0f 43 c8             	cmovae %eax,%ecx
49fd72:	3b ca                	cmp    %edx,%ecx
49fd74:	0f 43 d1             	cmovae %ecx,%edx
49fd77:	8b ce                	mov    %esi,%ecx
49fd79:	52                   	push   %edx
49fd7a:	e8 28 4c f7 ff       	call   0x4149a7
49fd7f:	5b                   	pop    %ebx
49fd80:	5f                   	pop    %edi
49fd81:	5e                   	pop    %esi
49fd82:	c2 04 00             	ret    $0x4
49fd85:	68 58 20 bd 00       	push   $0xbd2058
49fd8a:	e8 87 9a f8 ff       	call   0x429816
49fd8f:	cc                   	int3
49fd90:	cc                   	int3
49fd91:	cc                   	int3
49fd92:	cc                   	int3
49fd93:	cc                   	int3
49fd94:	cc                   	int3
49fd95:	cc                   	int3
49fd96:	cc                   	int3
49fd97:	cc                   	int3
49fd98:	cc                   	int3
49fd99:	cc                   	int3
49fd9a:	cc                   	int3
49fd9b:	cc                   	int3
49fd9c:	cc                   	int3
49fd9d:	cc                   	int3
49fd9e:	cc                   	int3
49fd9f:	cc                   	int3
49fda0:	cc                   	int3
49fda1:	cc                   	int3
49fda2:	cc                   	int3
49fda3:	cc                   	int3
49fda4:	cc                   	int3
49fda5:	cc                   	int3
49fda6:	cc                   	int3
49fda7:	cc                   	int3
49fda8:	cc                   	int3
49fda9:	cc                   	int3
49fdaa:	cc                   	int3
49fdab:	cc                   	int3
49fdac:	cc                   	int3
49fdad:	cc                   	int3
49fdae:	cc                   	int3
49fdaf:	cc                   	int3
49fdb0:	56                   	push   %esi
49fdb1:	8b f1                	mov    %ecx,%esi
49fdb3:	8b 0e                	mov    (%esi),%ecx
49fdb5:	85 c9                	test   %ecx,%ecx
49fdb7:	74 25                	je     0x49fdde
49fdb9:	8b 46 08             	mov    0x8(%esi),%eax
49fdbc:	2b c1                	sub    %ecx,%eax
49fdbe:	c1 f8 02             	sar    $0x2,%eax
49fdc1:	50                   	push   %eax
49fdc2:	51                   	push   %ecx
49fdc3:	8b ce                	mov    %esi,%ecx
49fdc5:	e8 64 2f f6 ff       	call   0x402d2e
49fdca:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
49fdd0:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
49fdd7:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
49fdde:	5e                   	pop    %esi
49fddf:	c3                   	ret
49fde0:	cc                   	int3
49fde1:	cc                   	int3
49fde2:	cc                   	int3
49fde3:	cc                   	int3
49fde4:	cc                   	int3
49fde5:	cc                   	int3
49fde6:	cc                   	int3
49fde7:	cc                   	int3
49fde8:	cc                   	int3
49fde9:	cc                   	int3
49fdea:	cc                   	int3
49fdeb:	cc                   	int3
49fdec:	cc                   	int3
49fded:	cc                   	int3
49fdee:	cc                   	int3
49fdef:	cc                   	int3
49fdf0:	8b 41 08             	mov    0x8(%ecx),%eax
49fdf3:	2b 41 04             	sub    0x4(%ecx),%eax
49fdf6:	c1 f8 02             	sar    $0x2,%eax
49fdf9:	c3                   	ret
49fdfa:	cc                   	int3
49fdfb:	cc                   	int3
49fdfc:	cc                   	int3
49fdfd:	cc                   	int3
49fdfe:	cc                   	int3
49fdff:	cc                   	int3
49fe00:	68 58 20 bd 00       	push   $0xbd2058
49fe05:	e8 0c 9a f8 ff       	call   0x429816
49fe0a:	cc                   	int3
49fe0b:	cc                   	int3
49fe0c:	cc                   	int3
49fe0d:	cc                   	int3
49fe0e:	cc                   	int3
49fe0f:	cc                   	int3
49fe10:	e9 c7 76 f6 ff       	jmp    0x4074dc
49fe15:	cc                   	int3
49fe16:	cc                   	int3
49fe17:	cc                   	int3
49fe18:	cc                   	int3
49fe19:	cc                   	int3
49fe1a:	cc                   	int3
49fe1b:	cc                   	int3
49fe1c:	cc                   	int3
49fe1d:	cc                   	int3
49fe1e:	cc                   	int3
49fe1f:	cc                   	int3
49fe20:	8b 44 24 04          	mov    0x4(%esp),%eax
49fe24:	85 c0                	test   %eax,%eax
49fe26:	75 03                	jne    0x49fe2b
49fe28:	c2 04 00             	ret    $0x4
49fe2b:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
49fe30:	77 3b                	ja     0x49fe6d
49fe32:	c1 e0 02             	shl    $0x2,%eax
49fe35:	3d 00 10 00 00       	cmp    $0x1000,%eax
49fe3a:	72 22                	jb     0x49fe5e
49fe3c:	8d 48 23             	lea    0x23(%eax),%ecx
49fe3f:	3b c8                	cmp    %eax,%ecx
49fe41:	76 2f                	jbe    0x49fe72
49fe43:	51                   	push   %ecx
49fe44:	e8 34 ab f8 ff       	call   0x42a97d
49fe49:	8b c8                	mov    %eax,%ecx
49fe4b:	83 c4 04             	add    $0x4,%esp
49fe4e:	85 c9                	test   %ecx,%ecx
49fe50:	74 25                	je     0x49fe77
49fe52:	8d 41 23             	lea    0x23(%ecx),%eax
49fe55:	83 e0 e0             	and    $0xffffffe0,%eax
49fe58:	89 48 fc             	mov    %ecx,-0x4(%eax)
49fe5b:	c2 04 00             	ret    $0x4
49fe5e:	50                   	push   %eax
49fe5f:	e8 19 ab f8 ff       	call   0x42a97d
49fe64:	83 c4 04             	add    $0x4,%esp
49fe67:	85 c0                	test   %eax,%eax
49fe69:	75 bd                	jne    0x49fe28
49fe6b:	eb 0f                	jmp    0x49fe7c
49fe6d:	e8 ac 20 f6 ff       	call   0x401f1e
49fe72:	e8 a7 20 f6 ff       	call   0x401f1e
49fe77:	e8 11 db f9 ff       	call   0x43d98d
49fe7c:	e8 0c db f9 ff       	call   0x43d98d
49fe81:	cc                   	int3
49fe82:	cc                   	int3
49fe83:	cc                   	int3
49fe84:	cc                   	int3
49fe85:	cc                   	int3
49fe86:	cc                   	int3
49fe87:	cc                   	int3
49fe88:	cc                   	int3
49fe89:	cc                   	int3
49fe8a:	cc                   	int3
49fe8b:	cc                   	int3
49fe8c:	cc                   	int3
49fe8d:	cc                   	int3
49fe8e:	cc                   	int3
49fe8f:	cc                   	int3
49fe90:	cc                   	int3
49fe91:	cc                   	int3
49fe92:	cc                   	int3
49fe93:	cc                   	int3
49fe94:	cc                   	int3
49fe95:	cc                   	int3
49fe96:	cc                   	int3
49fe97:	cc                   	int3
49fe98:	cc                   	int3
49fe99:	cc                   	int3
49fe9a:	cc                   	int3
49fe9b:	cc                   	int3
49fe9c:	cc                   	int3
49fe9d:	cc                   	int3
49fe9e:	cc                   	int3
49fe9f:	cc                   	int3
49fea0:	8b 44 24 04          	mov    0x4(%esp),%eax
49fea4:	8b 09                	mov    (%ecx),%ecx
49fea6:	89 08                	mov    %ecx,(%eax)
49fea8:	c2 04 00             	ret    $0x4
49feab:	cc                   	int3
49feac:	cc                   	int3
49fead:	cc                   	int3
49feae:	cc                   	int3
49feaf:	cc                   	int3
49feb0:	8b 44 24 04          	mov    0x4(%esp),%eax
49feb4:	8b 09                	mov    (%ecx),%ecx
49feb6:	89 08                	mov    %ecx,(%eax)
49feb8:	c2 04 00             	ret    $0x4
49febb:	cc                   	int3
49febc:	cc                   	int3
49febd:	cc                   	int3
49febe:	cc                   	int3
49febf:	cc                   	int3
49fec0:	8b 41 08             	mov    0x8(%ecx),%eax
49fec3:	2b 01                	sub    (%ecx),%eax
49fec5:	c1 f8 02             	sar    $0x2,%eax
49fec8:	c3                   	ret
49fec9:	cc                   	int3
49feca:	cc                   	int3
49fecb:	cc                   	int3
49fecc:	cc                   	int3
49fecd:	cc                   	int3
49fece:	cc                   	int3
49fecf:	cc                   	int3
49fed0:	8b 01                	mov    (%ecx),%eax
49fed2:	89 41 04             	mov    %eax,0x4(%ecx)
49fed5:	c3                   	ret
49fed6:	cc                   	int3
49fed7:	cc                   	int3
49fed8:	cc                   	int3
49fed9:	cc                   	int3
49feda:	cc                   	int3
49fedb:	cc                   	int3
49fedc:	cc                   	int3
49fedd:	cc                   	int3
49fede:	cc                   	int3
49fedf:	cc                   	int3
49fee0:	8b 44 24 08          	mov    0x8(%esp),%eax
49fee4:	8b 4c 24 04          	mov    0x4(%esp),%ecx
49fee8:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
49feed:	77 2e                	ja     0x49ff1d
49feef:	c1 e0 02             	shl    $0x2,%eax
49fef2:	3d 00 10 00 00       	cmp    $0x1000,%eax
49fef7:	72 1a                	jb     0x49ff13
49fef9:	f6 c1 1f             	test   $0x1f,%cl
49fefc:	75 24                	jne    0x49ff22
49fefe:	8b 41 fc             	mov    -0x4(%ecx),%eax
49ff01:	3b c1                	cmp    %ecx,%eax
49ff03:	73 22                	jae    0x49ff27
49ff05:	2b c8                	sub    %eax,%ecx
49ff07:	83 f9 04             	cmp    $0x4,%ecx
49ff0a:	72 20                	jb     0x49ff2c
49ff0c:	83 f9 23             	cmp    $0x23,%ecx
49ff0f:	77 20                	ja     0x49ff31
49ff11:	8b c8                	mov    %eax,%ecx
49ff13:	51                   	push   %ecx
49ff14:	e8 76 18 f6 ff       	call   0x40178f
49ff19:	59                   	pop    %ecx
49ff1a:	c2 08 00             	ret    $0x8
49ff1d:	e8 6b da f9 ff       	call   0x43d98d
49ff22:	e8 66 da f9 ff       	call   0x43d98d
49ff27:	e8 61 da f9 ff       	call   0x43d98d
49ff2c:	e8 5c da f9 ff       	call   0x43d98d
49ff31:	e8 57 da f9 ff       	call   0x43d98d
49ff36:	cc                   	int3
49ff37:	cc                   	int3
49ff38:	cc                   	int3
49ff39:	cc                   	int3
49ff3a:	cc                   	int3
49ff3b:	cc                   	int3
49ff3c:	cc                   	int3
49ff3d:	cc                   	int3
49ff3e:	cc                   	int3
49ff3f:	cc                   	int3
49ff40:	cc                   	int3
49ff41:	cc                   	int3
49ff42:	cc                   	int3
49ff43:	cc                   	int3
49ff44:	cc                   	int3
49ff45:	cc                   	int3
49ff46:	cc                   	int3
49ff47:	cc                   	int3
49ff48:	cc                   	int3
49ff49:	cc                   	int3
49ff4a:	cc                   	int3
49ff4b:	cc                   	int3
49ff4c:	cc                   	int3
49ff4d:	cc                   	int3
49ff4e:	cc                   	int3
49ff4f:	cc                   	int3
49ff50:	8b 44 24 08          	mov    0x8(%esp),%eax
49ff54:	8b 4c 24 04          	mov    0x4(%esp),%ecx
49ff58:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
49ff5d:	77 2e                	ja     0x49ff8d
49ff5f:	c1 e0 02             	shl    $0x2,%eax
49ff62:	3d 00 10 00 00       	cmp    $0x1000,%eax
49ff67:	72 1a                	jb     0x49ff83
49ff69:	f6 c1 1f             	test   $0x1f,%cl
49ff6c:	75 24                	jne    0x49ff92
49ff6e:	8b 41 fc             	mov    -0x4(%ecx),%eax
49ff71:	3b c1                	cmp    %ecx,%eax
49ff73:	73 22                	jae    0x49ff97
49ff75:	2b c8                	sub    %eax,%ecx
49ff77:	83 f9 04             	cmp    $0x4,%ecx
49ff7a:	72 20                	jb     0x49ff9c
49ff7c:	83 f9 23             	cmp    $0x23,%ecx
49ff7f:	77 20                	ja     0x49ffa1
49ff81:	8b c8                	mov    %eax,%ecx
49ff83:	51                   	push   %ecx
49ff84:	e8 06 18 f6 ff       	call   0x40178f
49ff89:	59                   	pop    %ecx
49ff8a:	c2 08 00             	ret    $0x8
49ff8d:	e8 fb d9 f9 ff       	call   0x43d98d
49ff92:	e8 f6 d9 f9 ff       	call   0x43d98d
49ff97:	e8 f1 d9 f9 ff       	call   0x43d98d
49ff9c:	e8 ec d9 f9 ff       	call   0x43d98d
49ffa1:	e8 e7 d9 f9 ff       	call   0x43d98d
49ffa6:	cc                   	int3
49ffa7:	cc                   	int3
49ffa8:	cc                   	int3
49ffa9:	cc                   	int3
49ffaa:	cc                   	int3
49ffab:	cc                   	int3
49ffac:	cc                   	int3
49ffad:	cc                   	int3
49ffae:	cc                   	int3
49ffaf:	cc                   	int3
49ffb0:	cc                   	int3
49ffb1:	cc                   	int3
49ffb2:	cc                   	int3
49ffb3:	cc                   	int3
49ffb4:	cc                   	int3
49ffb5:	cc                   	int3
49ffb6:	cc                   	int3
49ffb7:	cc                   	int3
49ffb8:	cc                   	int3
49ffb9:	cc                   	int3
49ffba:	cc                   	int3
49ffbb:	cc                   	int3
49ffbc:	cc                   	int3
49ffbd:	cc                   	int3
49ffbe:	cc                   	int3
49ffbf:	cc                   	int3
49ffc0:	8b 44 24 04          	mov    0x4(%esp),%eax
49ffc4:	8b 49 04             	mov    0x4(%ecx),%ecx
49ffc7:	89 08                	mov    %ecx,(%eax)
49ffc9:	c2 04 00             	ret    $0x4
49ffcc:	cc                   	int3
49ffcd:	cc                   	int3
49ffce:	cc                   	int3
49ffcf:	cc                   	int3
49ffd0:	8b 44 24 04          	mov    0x4(%esp),%eax
49ffd4:	8b 49 04             	mov    0x4(%ecx),%ecx
49ffd7:	89 08                	mov    %ecx,(%eax)
49ffd9:	c2 04 00             	ret    $0x4
49ffdc:	cc                   	int3
49ffdd:	cc                   	int3
49ffde:	cc                   	int3
49ffdf:	cc                   	int3
49ffe0:	8b 44 24 04          	mov    0x4(%esp),%eax
49ffe4:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
49ffe8:	8b 50 10             	mov    0x10(%eax),%edx
49ffeb:	72 02                	jb     0x49ffef
49ffed:	8b 00                	mov    (%eax),%eax
49ffef:	52                   	push   %edx
49fff0:	ff 74 24 0c          	push   0xc(%esp)
49fff4:	50                   	push   %eax