572e82:	3b ca                	cmp    %edx,%ecx
572e84:	0f 43 d1             	cmovae %ecx,%edx
572e87:	8b ce                	mov    %esi,%ecx
572e89:	52                   	push   %edx
572e8a:	e8 f1 64 ea ff       	call   0x419380
572e8f:	5b                   	pop    %ebx
572e90:	5f                   	pop    %edi
572e91:	5e                   	pop    %esi
572e92:	c2 04 00             	ret    $0x4
572e95:	68 58 20 bd 00       	push   $0xbd2058
572e9a:	e8 77 69 eb ff       	call   0x429816
572e9f:	cc                   	int3
572ea0:	cc                   	int3
572ea1:	cc                   	int3
572ea2:	cc                   	int3
572ea3:	cc                   	int3
572ea4:	cc                   	int3
572ea5:	cc                   	int3
572ea6:	cc                   	int3
572ea7:	cc                   	int3
572ea8:	cc                   	int3
572ea9:	cc                   	int3
572eaa:	cc                   	int3
572eab:	cc                   	int3
572eac:	cc                   	int3
572ead:	cc                   	int3
572eae:	cc                   	int3
572eaf:	cc                   	int3
572eb0:	cc                   	int3
572eb1:	cc                   	int3
572eb2:	cc                   	int3
572eb3:	cc                   	int3
572eb4:	cc                   	int3
572eb5:	cc                   	int3
572eb6:	cc                   	int3
572eb7:	cc                   	int3
572eb8:	cc                   	int3
572eb9:	cc                   	int3
572eba:	cc                   	int3
572ebb:	cc                   	int3
572ebc:	cc                   	int3
572ebd:	cc                   	int3
572ebe:	cc                   	int3
572ebf:	cc                   	int3
572ec0:	8b 01                	mov    (%ecx),%eax
572ec2:	c3                   	ret
572ec3:	cc                   	int3
572ec4:	cc                   	int3
572ec5:	cc                   	int3
572ec6:	cc                   	int3
572ec7:	cc                   	int3
572ec8:	cc                   	int3
572ec9:	cc                   	int3
572eca:	cc                   	int3
572ecb:	cc                   	int3
572ecc:	cc                   	int3
572ecd:	cc                   	int3
572ece:	cc                   	int3
572ecf:	cc                   	int3
572ed0:	8b 01                	mov    (%ecx),%eax
572ed2:	c3                   	ret
572ed3:	cc                   	int3
572ed4:	cc                   	int3
572ed5:	cc                   	int3
572ed6:	cc                   	int3
572ed7:	cc                   	int3
572ed8:	cc                   	int3
572ed9:	cc                   	int3
572eda:	cc                   	int3
572edb:	cc                   	int3
572edc:	cc                   	int3
572edd:	cc                   	int3
572ede:	cc                   	int3
572edf:	cc                   	int3
572ee0:	8b 41 08             	mov    0x8(%ecx),%eax
572ee3:	2b 41 04             	sub    0x4(%ecx),%eax
572ee6:	c1 f8 03             	sar    $0x3,%eax
572ee9:	c3                   	ret
572eea:	cc                   	int3
572eeb:	cc                   	int3
572eec:	cc                   	int3
572eed:	cc                   	int3
572eee:	cc                   	int3
572eef:	cc                   	int3
572ef0:	68 58 20 bd 00       	push   $0xbd2058
572ef5:	e8 1c 69 eb ff       	call   0x429816
572efa:	cc                   	int3
572efb:	cc                   	int3
572efc:	cc                   	int3
572efd:	2b 49 fc             	sub    -0x4(%ecx),%ecx
572f00:	e9 b3 a3 eb ff       	jmp    0x42d2b8
572f05:	cc                   	int3
572f06:	cc                   	int3
572f07:	cc                   	int3
572f08:	cc                   	int3
572f09:	cc                   	int3
572f0a:	cc                   	int3
572f0b:	cc                   	int3
572f0c:	cc                   	int3
572f0d:	cc                   	int3
572f0e:	cc                   	int3
572f0f:	cc                   	int3
572f10:	56                   	push   %esi
572f11:	57                   	push   %edi
572f12:	8b 7c 24 0c          	mov    0xc(%esp),%edi
572f16:	8b 77 04             	mov    0x4(%edi),%esi
572f19:	85 f6                	test   %esi,%esi
572f1b:	74 29                	je     0x572f46
572f1d:	8b 41 e8             	mov    -0x18(%ecx),%eax
572f20:	83 c1 e4             	add    $0xffffffe4,%ecx
572f23:	8b 11                	mov    (%ecx),%edx
572f25:	3b d0                	cmp    %eax,%edx
572f27:	74 17                	je     0x572f40
572f29:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
572f30:	39 72 04             	cmp    %esi,0x4(%edx)
572f33:	74 07                	je     0x572f3c
572f35:	83 c2 08             	add    $0x8,%edx
572f38:	3b d0                	cmp    %eax,%edx
572f3a:	75 f4                	jne    0x572f30
572f3c:	3b d0                	cmp    %eax,%edx
572f3e:	75 06                	jne    0x572f46
572f40:	57                   	push   %edi
572f41:	e8 27 73 e9 ff       	call   0x40a26d
572f46:	5f                   	pop    %edi
572f47:	5e                   	pop    %esi
572f48:	c2 04 00             	ret    $0x4
572f4b:	cc                   	int3
572f4c:	cc                   	int3
572f4d:	cc                   	int3
572f4e:	cc                   	int3
572f4f:	cc                   	int3
572f50:	cc                   	int3
572f51:	cc                   	int3
572f52:	cc                   	int3
572f53:	cc                   	int3
572f54:	cc                   	int3
572f55:	cc                   	int3
572f56:	cc                   	int3
572f57:	cc                   	int3
572f58:	cc                   	int3
572f59:	2b 49 fc             	sub    -0x4(%ecx),%ecx
572f5c:	e9 5a 01 ea ff       	jmp    0x4130bb
572f61:	cc                   	int3
572f62:	cc                   	int3
572f63:	cc                   	int3
572f64:	cc                   	int3
572f65:	cc                   	int3
572f66:	cc                   	int3
572f67:	cc                   	int3
572f68:	cc                   	int3
572f69:	cc                   	int3
572f6a:	cc                   	int3
572f6b:	cc                   	int3
572f6c:	cc                   	int3
572f6d:	cc                   	int3
572f6e:	cc                   	int3
572f6f:	cc                   	int3
572f70:	8b 41 e8             	mov    -0x18(%ecx),%eax
572f73:	83 c1 f4             	add    $0xfffffff4,%ecx
572f76:	8b 40 0c             	mov    0xc(%eax),%eax
572f79:	03 c8                	add    %eax,%ecx
572f7b:	e9 c1 9c eb ff       	jmp    0x42cc41
572f80:	cc                   	int3
572f81:	cc                   	int3
572f82:	cc                   	int3
572f83:	cc                   	int3
572f84:	cc                   	int3
572f85:	cc                   	int3
572f86:	cc                   	int3
572f87:	cc                   	int3
572f88:	cc                   	int3
572f89:	cc                   	int3
572f8a:	cc                   	int3
572f8b:	cc                   	int3
572f8c:	cc                   	int3
572f8d:	cc                   	int3
572f8e:	cc                   	int3
572f8f:	cc                   	int3
572f90:	e9 5f af e9 ff       	jmp    0x40def4
572f95:	cc                   	int3
572f96:	cc                   	int3
572f97:	cc                   	int3
572f98:	cc                   	int3
572f99:	cc                   	int3
572f9a:	cc                   	int3
572f9b:	cc                   	int3
572f9c:	cc                   	int3
572f9d:	cc                   	int3
572f9e:	cc                   	int3
572f9f:	cc                   	int3
572fa0:	8b 44 24 04          	mov    0x4(%esp),%eax
572fa4:	85 c0                	test   %eax,%eax
572fa6:	75 03                	jne    0x572fab
572fa8:	c2 04 00             	ret    $0x4
572fab:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
572fb0:	77 3b                	ja     0x572fed
572fb2:	c1 e0 03             	shl    $0x3,%eax
572fb5:	3d 00 10 00 00       	cmp    $0x1000,%eax
572fba:	72 22                	jb     0x572fde
572fbc:	8d 48 23             	lea    0x23(%eax),%ecx
572fbf:	3b c8                	cmp    %eax,%ecx
572fc1:	76 2f                	jbe    0x572ff2
572fc3:	51                   	push   %ecx
572fc4:	e8 b4 79 eb ff       	call   0x42a97d
572fc9:	8b c8                	mov    %eax,%ecx
572fcb:	83 c4 04             	add    $0x4,%esp
572fce:	85 c9                	test   %ecx,%ecx
572fd0:	74 25                	je     0x572ff7
572fd2:	8d 41 23             	lea    0x23(%ecx),%eax
572fd5:	83 e0 e0             	and    $0xffffffe0,%eax
572fd8:	89 48 fc             	mov    %ecx,-0x4(%eax)
572fdb:	c2 04 00             	ret    $0x4
572fde:	50                   	push   %eax
572fdf:	e8 99 79 eb ff       	call   0x42a97d
572fe4:	83 c4 04             	add    $0x4,%esp
572fe7:	85 c0                	test   %eax,%eax
572fe9:	75 bd                	jne    0x572fa8
572feb:	eb 0f                	jmp    0x572ffc
572fed:	e8 2c ef e8 ff       	call   0x401f1e
572ff2:	e8 27 ef e8 ff       	call   0x401f1e
572ff7:	e8 91 a9 ec ff       	call   0x43d98d
572ffc:	e8 8c a9 ec ff       	call   0x43d98d
573001:	cc                   	int3
573002:	cc                   	int3
573003:	cc                   	int3
573004:	cc                   	int3
573005:	cc                   	int3
573006:	cc                   	int3
573007:	cc                   	int3
573008:	cc                   	int3
573009:	cc                   	int3
57300a:	cc                   	int3
57300b:	cc                   	int3
57300c:	cc                   	int3
57300d:	cc                   	int3
57300e:	cc                   	int3
57300f:	cc                   	int3
573010:	cc                   	int3
573011:	cc                   	int3
573012:	cc                   	int3
573013:	cc                   	int3
573014:	cc                   	int3
573015:	cc                   	int3
573016:	cc                   	int3
573017:	cc                   	int3
573018:	cc                   	int3
573019:	cc                   	int3
57301a:	cc                   	int3
57301b:	cc                   	int3
57301c:	cc                   	int3
57301d:	cc                   	int3
57301e:	cc                   	int3
57301f:	cc                   	int3
573020:	56                   	push   %esi
573021:	57                   	push   %edi
573022:	8b f9                	mov    %ecx,%edi
573024:	8b 77 04             	mov    0x4(%edi),%esi
573027:	3b 77 08             	cmp    0x8(%edi),%esi
57302a:	74 1e                	je     0x57304a
57302c:	53                   	push   %ebx
57302d:	8b 5c 24 14          	mov    0x14(%esp),%ebx
573031:	55                   	push   %ebp
573032:	8b 6c 24 14          	mov    0x14(%esp),%ebp
573036:	8b 4e 04             	mov    0x4(%esi),%ecx
573039:	53                   	push   %ebx
57303a:	55                   	push   %ebp
57303b:	8b 01                	mov    (%ecx),%eax
57303d:	ff 50 10             	call   *0x10(%eax)
573040:	83 c6 08             	add    $0x8,%esi
573043:	3b 77 08             	cmp    0x8(%edi),%esi
573046:	75 ee                	jne    0x573036
573048:	5d                   	pop    %ebp
573049:	5b                   	pop    %ebx
57304a:	8b 47 08             	mov    0x8(%edi),%eax
57304d:	2b 47 04             	sub    0x4(%edi),%eax
573050:	5f                   	pop    %edi
573051:	c1 f8 03             	sar    $0x3,%eax
573054:	5e                   	pop    %esi
573055:	c2 08 00             	ret    $0x8
573058:	cc                   	int3
573059:	cc                   	int3
57305a:	cc                   	int3
57305b:	cc                   	int3
57305c:	cc                   	int3
57305d:	cc                   	int3
57305e:	cc                   	int3
57305f:	cc                   	int3
573060:	cc                   	int3
573061:	cc                   	int3
573062:	cc                   	int3
573063:	cc                   	int3
573064:	cc                   	int3
573065:	cc                   	int3
573066:	cc                   	int3
573067:	cc                   	int3
573068:	cc                   	int3
573069:	cc                   	int3
57306a:	cc                   	int3
57306b:	cc                   	int3
57306c:	cc                   	int3
57306d:	cc                   	int3
57306e:	cc                   	int3
57306f:	cc                   	int3
573070:	8b 44 24 04          	mov    0x4(%esp),%eax
573074:	8b 09                	mov    (%ecx),%ecx
573076:	89 08                	mov    %ecx,(%eax)
573078:	c2 04 00             	ret    $0x4
57307b:	cc                   	int3
57307c:	cc                   	int3
57307d:	cc                   	int3
57307e:	cc                   	int3
57307f:	cc                   	int3
573080:	8b 41 08             	mov    0x8(%ecx),%eax
573083:	2b 01                	sub    (%ecx),%eax
573085:	c1 f8 03             	sar    $0x3,%eax
573088:	c3                   	ret
573089:	cc                   	int3
57308a:	cc                   	int3
57308b:	2b 49 fc             	sub    -0x4(%ecx),%ecx
57308e:	e9 b8 96 eb ff       	jmp    0x42c74b
573093:	cc                   	int3
573094:	cc                   	int3
573095:	cc                   	int3
573096:	cc                   	int3
573097:	cc                   	int3
573098:	cc                   	int3
573099:	cc                   	int3
57309a:	cc                   	int3
57309b:	cc                   	int3
57309c:	cc                   	int3
57309d:	cc                   	int3
57309e:	cc                   	int3
57309f:	cc                   	int3
5730a0:	56                   	push   %esi
5730a1:	57                   	push   %edi
5730a2:	8b f1                	mov    %ecx,%esi
5730a4:	e8 19 24 ec ff       	call   0x4354c2
5730a9:	8b 7c 24 0c          	mov    0xc(%esp),%edi
5730ad:	3b f8                	cmp    %eax,%edi
5730af:	75 17                	jne    0x5730c8
5730b1:	8d 46 e8             	lea    -0x18(%esi),%eax
5730b4:	85 c0                	test   %eax,%eax
5730b6:	74 41                	je     0x5730f9
5730b8:	8b 46 e8             	mov    -0x18(%esi),%eax
5730bb:	5f                   	pop    %edi
5730bc:	8b 40 04             	mov    0x4(%eax),%eax
5730bf:	83 c0 e8             	add    $0xffffffe8,%eax
5730c2:	03 c6                	add    %esi,%eax
5730c4:	5e                   	pop    %esi
5730c5:	c2 04 00             	ret    $0x4